[Ups-cvs] ups/lib/libx11wn wn_event.c,1.3,1.4
Brought to you by:
ianedwards
From: Tom H. <th...@us...> - 2007-11-16 17:03:13
|
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 */ |