forked from Mirrors/freeswitch
compensate for strange socket bug in macos
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10257 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
25b2a61721
commit
0cd4cf99bf
@ -77,6 +77,10 @@ initInterruptPipe(interruptPipe * pipeP,
|
|||||||
static void
|
static void
|
||||||
termInterruptPipe(interruptPipe *pipeP) {
|
termInterruptPipe(interruptPipe *pipeP) {
|
||||||
if (pipeP->inuse) {
|
if (pipeP->inuse) {
|
||||||
|
int x = 0;
|
||||||
|
write(pipeP->interruptorFd, &x, sizeof(x));
|
||||||
|
usleep(500);
|
||||||
|
shutdown(pipeP->interrupteeFd, 2);
|
||||||
sane_close(pipeP->interruptorFd);
|
sane_close(pipeP->interruptorFd);
|
||||||
sane_close(pipeP->interrupteeFd);
|
sane_close(pipeP->interrupteeFd);
|
||||||
}
|
}
|
||||||
@ -310,6 +314,7 @@ channelWait(TChannel * const channelP,
|
|||||||
rc = poll(pollfds, ARRAY_SIZE(pollfds),
|
rc = poll(pollfds, ARRAY_SIZE(pollfds),
|
||||||
timeoutMs == TIME_INFINITE ? -1 : timeoutMs);
|
timeoutMs == TIME_INFINITE ? -1 : timeoutMs);
|
||||||
|
|
||||||
|
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
if (errno == EINTR) {
|
if (errno == EINTR) {
|
||||||
failed = FALSE;
|
failed = FALSE;
|
||||||
|
Loading…
Reference in New Issue
Block a user