]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
compensate for strange socket bug in macos
authorAnthony Minessale <anthony.minessale@gmail.com>
Wed, 5 Nov 2008 18:29:18 +0000 (18:29 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Wed, 5 Nov 2008 18:29:18 +0000 (18:29 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10257 d0543943-73ff-0310-b7d9-9358b9ac24b2

libs/xmlrpc-c/lib/abyss/src/socket_unix.c

index 5d0bb0a360e23c1431f5814d1da5037439177762..623185269edc04a24f0086b2c00cdecdf88b7bd7 100644 (file)
@@ -77,6 +77,10 @@ initInterruptPipe(interruptPipe * pipeP,
 static void
 termInterruptPipe(interruptPipe *pipeP) {
        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->interrupteeFd);
        }
@@ -310,6 +314,7 @@ channelWait(TChannel * const channelP,
     rc = poll(pollfds, ARRAY_SIZE(pollfds),
               timeoutMs == TIME_INFINITE ? -1 : timeoutMs);
 
+
     if (rc < 0) {
         if (errno == EINTR) {
             failed       = FALSE;