im.pidgin.pidgin: 50ea8c32eef1673463c66d42892f9dd64899d6db
nosnilmot at pidgin.im
nosnilmot at pidgin.im
Sun Dec 2 12:40:45 EST 2007
-----------------------------------------------------------------
Revision: 50ea8c32eef1673463c66d42892f9dd64899d6db
Ancestor: 417a3a6944f0dee3d065582139ee12fda243d9c3
Author: nosnilmot at pidgin.im
Date: 2007-12-02T17:33:03
Branch: im.pidgin.pidgin
Modified files:
libpurple/protocols/msnp9/directconn.c
libpurple/protocols/msnp9/servconn.c
ChangeLog:
More catching up on things, from 8548e491a5b470d5665cb1cf87a7b0caaa3c87a5:
"Fix all our calls to fcntl(listenfd, F_SETFL, O_NONBLOCK);
fcntl() with F_SETFL overwrites the old flags with the new ones, so
you should call fcntl() with F_GETFL, then OR that value with
O_NONBLOCK before setting the flags. We've been doing this
wrong for a long time and it hasn't seemed to hurt anything,
but I thought it would be good to fix it."
-------------- next part --------------
============================================================
--- libpurple/protocols/msnp9/directconn.c 5c36766ab07279be942df0ec1ac2316475a6a200
+++ libpurple/protocols/msnp9/directconn.c c313df7aef85242f1c7028fd616739715fcd5c9d
@@ -81,6 +81,7 @@ create_listener(int port)
create_listener(int port)
{
int fd;
+ int flags;
const int on = 1;
#if 0
@@ -156,7 +157,8 @@ create_listener(int port)
return -1;
}
- fcntl(fd, F_SETFL, O_NONBLOCK);
+ flags = fcntl(fd, F_GETFL);
+ fcntl(fd, F_SETFL, flags | O_NONBLOCK);
return fd;
}
============================================================
--- libpurple/protocols/msnp9/servconn.c 334451299225389dac3793441cdee0a3c464a93f
+++ libpurple/protocols/msnp9/servconn.c c31946db40e86a2959451d1bb128155b59dd71e2
@@ -468,6 +468,7 @@ create_listener(int port)
create_listener(int port)
{
int fd;
+ int flags;
const int on = 1;
#if 0
@@ -543,7 +544,8 @@ create_listener(int port)
return -1;
}
- fcntl(fd, F_SETFL, O_NONBLOCK);
+ flags = fcntl(fd, F_GETFL);
+ fcntl(fd, F_SETFL, flags | O_NONBLOCK);
return fd;
}
More information about the Commits
mailing list