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:
Luigi Rizzo
2006-10-06 15:59:23 +00:00
parent 290fe898f0
commit f24ec459b2
2 changed files with 5 additions and 0 deletions

View 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+"))) {

View 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;