chan_iax2: better handling for timeout and EINTR
authorktyerman <kirsty.tyerman@boeing.com>
Tue, 5 Jun 2018 01:31:39 +0000 (11:31 +1000)
committerKirsty Tyerman <kirsty.tyerman@boeing.com>
Wed, 13 Jun 2018 22:47:02 +0000 (16:47 -0600)
commite1908ea484d79d3dd00c946eb3f6db6dc0ad7f15
treea1324da2b5b14e808f05e4ecce4e6f7c5a035040
parenta6a22debf12c44f5f3c9a7bc221e35b43374e245
chan_iax2: better handling for timeout and EINTR

The iax2 module is not handling timeout and EINTR case properly. Mainly when
there is an interupt to the kernel thread. In case of ast_io_wait recieves a
signal, or timeout it can be an error or return 0 which eventually escapes the
thread loop, so that it cant recieve any data. This then causes the modules
receive queue to build up on the kernel and stop any communications via iax in
asterisk.

The proposed patch is for the iax module, so that timeout and EINTR does not
exit the thread.

ASTERISK-27705
Reported-by: Kirsty Tyerman

Change-Id: Ib4c32562f69335869adc1783608e940c3535fbfb
channels/chan_iax2.c