This patch actually causes the Config script to compile a small test program which tests the effectiveness of posix/bsdisms on non blocking IO, specifically sockets. I'm not sure if it will compile straight off everywhere, but if it picks up IRCDLIBS from the Makefile right, it should. I've updated the .tar's on coombs. avalon *** Config.orig Wed Nov 10 05:12:04 1993 --- Config Wed Nov 10 05:06:18 1993 *************** *** 228,248 **** $RM -f $TMP fi cat > $PLATE <<_EOF_ #include #include #include main() { ! int f; ! f = fcntl(0, F_SETFL, BLOCKING); } _EOF_ sed -e 's/BLOCKING/O_NONBLOCK/' $PLATE > $TMP ! `eval $COMP` if [ 0 -eq $? ] ; then BLOCK=O_NONBLOCK else ! echo 'O_NONBLOCK not present in fcntl.h or sys/ioctl.h' if [ -f $TMP -o -d $TMP ] ; then $RM -f $TMP $EXEC; fi --- 228,267 ---- $RM -f $TMP fi cat > $PLATE <<_EOF_ + #include + #include #include #include #include + #include + alarmed() + { + exit(1); + } main() { ! char b[12], x[32]; ! int f, l = sizeof(x); ! f = socket(AF_INET, SOCK_DGRAM, 0); ! if (f >= 0 && !(fcntl(f, F_SETFL, BLOCKING))) { ! signal(SIGALRM, alarmed); ! alarm(3); ! recvfrom(f, b, 12, 0, x, &l); ! alarm(0); ! exit(0); ! } ! exit(1); } _EOF_ sed -e 's/BLOCKING/O_NONBLOCK/' $PLATE > $TMP ! eval $COMP if [ 0 -eq $? ] ; then + eval $EXEC + fi + if [ 0 -eq $? ] ; then BLOCK=O_NONBLOCK else ! echo 'O_NONBLOCK not present/working in fcntl.h or sys/ioctl.h' if [ -f $TMP -o -d $TMP ] ; then $RM -f $TMP $EXEC; fi *************** *** 249,257 **** sed -e 's/BLOCKING/O_NDELAY/' $PLATE > $TMP eval $COMP if [ 0 -eq $? ] ; then BLOCK=O_NDELAY else ! echo 'O_NDELAY not present in fcntl.h or sys/ioctl.h' if [ -f $TMP -o -d $TMP ] ; then $RM -f $TMP $EXEC; fi --- 268,279 ---- sed -e 's/BLOCKING/O_NDELAY/' $PLATE > $TMP eval $COMP if [ 0 -eq $? ] ; then + eval $EXEC + fi + if [ 0 -eq $? ] ; then BLOCK=O_NDELAY else ! echo 'O_NDELAY not present/working in fcntl.h or sys/ioctl.h' if [ -f $TMP -o -d $TMP ] ; then $RM -f $TMP $EXEC; fi