]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
make sure sockets are blocking when they should be blocking.
authorLuigi Rizzo <rizzo@icir.org>
Fri, 6 Oct 2006 15:59:23 +0000 (15:59 +0000)
committerLuigi Rizzo <rizzo@icir.org>
Fri, 6 Oct 2006 15:59:23 +0000 (15:59 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@44567 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/http.c
main/manager.c

index e76163105553ea548560f0a4d14f9df41a544cd5..1b7e08a6653774d11ecbfe2e3fb33dff31fcf4c4 100644 (file)
@@ -504,6 +504,8 @@ static void *http_root(void *data)
                }
                ser = ast_calloc(1, sizeof(*ser));
                if (ser) {
+                       int flags = fcntl(fd, F_GETFL);
+                       fcntl(fd, F_SETFL, flags & ~O_NONBLOCK);
                        ser->fd = fd;
                        memcpy(&ser->requestor, &sin, sizeof(ser->requestor));
                        if ((ser->f = fdopen(ser->fd, "w+"))) {
index ca2bd68fb2c8ba466f069af8b9d198fbb641d9e5..12e107ab421223fc56141171efe5a6517ef73856 100644 (file)
@@ -2181,6 +2181,9 @@ static void *accept_thread(void *ignore)
                        /* For safety, make sure socket is non-blocking */
                        flags = fcntl(as, F_GETFL);
                        fcntl(as, F_SETFL, flags | O_NONBLOCK);
+               } else {
+                       flags = fcntl(as, F_GETFL);
+                       fcntl(as, F_SETFL, flags & ~O_NONBLOCK);
                }
                ast_mutex_init(&s->__lock);
                s->fd = as;