mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 12:16:00 +00:00
make sure sockets are blocking when they should be blocking.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@44567 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -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+"))) {
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user