Update of /cvsroot/ups/ups/lib/libx11wn
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv28480/lib/libx11wn
Modified Files:
wn_event.c
Log Message:
When enabling/disabling the ASYNC flag on the X socket, don't piss
around with the other flags! The X library might be relying on the
socket being marked as non-blocking...
Index: wn_event.c
===================================================================
RCS file: /cvsroot/ups/ups/lib/libx11wn/wn_event.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** wn_event.c 4 Nov 2002 14:56:18 -0000 1.3
--- wn_event.c 16 Nov 2007 17:02:55 -0000 1.4
***************
*** 1267,1270 ****
--- 1267,1271 ----
int fd;
swin_t *w;
+ int flags;
W_CHECK(wn);
***************
*** 1291,1296 ****
}
#else
! if (fcntl(fd, F_SETFL, FASYNC) != 0)
! wn__panic("FASYNC on botch");
#endif
#endif /* __hp9000s800 */
--- 1292,1300 ----
}
#else
! if ((flags = fcntl(fd, F_GETFL, 0)) != -1) {
! flags |= FASYNC;
! if (fcntl(fd, F_SETFL, flags) != 0)
! wn__panic("FASYNC on botch");
! }
#endif
#endif /* __hp9000s800 */
***************
*** 1306,1311 ****
}
#else
! if (fcntl(fd, F_SETFL, 0) != 0)
! wn__panic("FASYNC off botch");
#endif
#endif /* __hp9000s800 */
--- 1310,1318 ----
}
#else
! if ((flags = fcntl(fd, F_GETFL, 0)) != -1) {
! flags &= ~FASYNC;
! if (fcntl(fd, F_SETFL, flags) != 0)
! wn__panic("FASYNC off botch");
! }
#endif
#endif /* __hp9000s800 */
|