dillon 2006/06/13 18:45:28 PDT DragonFly src repository
Modified files: lib/libc_r/uthread pthread_private.h uthread_accept.c uthread_connect.c uthread_exit.c uthread_fd.c uthread_info.c uthread_kern.c uthread_read.c uthread_readv.c uthread_sig.c uthread_spinlock.c uthread_write.c uthread_writev.c Log: Do not set O_NONBLOCK on a threaded program's descriptors any more. Instead, use the new system calls to directly issue non-blocking I/O. Additionally, force blocking I/O for debug output. This partly solves the problem of programs such as bmake or gmake fork/exec'd children which happen to be threaded. The children would set O_NONBLOCK on e.g. stdin, stdout, and stderr, resulting in unexpected operation if the unrelated parent program tries to issue a read or write. Solves: gmake 'write error' problem Revision Changes Path 1.10 +8 -2 src/lib/libc_r/uthread/pthread_private.h 1.3 +2 -2 src/lib/libc_r/uthread/uthread_accept.c 1.3 +2 -2 src/lib/libc_r/uthread/uthread_connect.c 1.5 +2 -1 src/lib/libc_r/uthread/uthread_exit.c 1.3 +10 -12 src/lib/libc_r/uthread/uthread_fd.c 1.5 +15 -15 src/lib/libc_r/uthread/uthread_info.c 1.5 +4 -2 src/lib/libc_r/uthread/uthread_kern.c 1.3 +2 -2 src/lib/libc_r/uthread/uthread_read.c 1.3 +2 -2 src/lib/libc_r/uthread/uthread_readv.c 1.4 +1 -1 src/lib/libc_r/uthread/uthread_sig.c 1.4 +2 -1 src/lib/libc_r/uthread/uthread_spinlock.c 1.5 +1 -1 src/lib/libc_r/uthread/uthread_write.c 1.3 +2 -2 src/lib/libc_r/uthread/uthread_writev.c http://www.dragonflybsd.org/cvsweb/src/lib/libc_r/uthread/pthread_private.h.diff?r1=1.9&r2=1.10&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc_r/uthread/uthread_accept.c.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc_r/uthread/uthread_connect.c.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc_r/uthread/uthread_exit.c.diff?r1=1.4&r2=1.5&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc_r/uthread/uthread_fd.c.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc_r/uthread/uthread_info.c.diff?r1=1.4&r2=1.5&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc_r/uthread/uthread_kern.c.diff?r1=1.4&r2=1.5&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc_r/uthread/uthread_read.c.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc_r/uthread/uthread_readv.c.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc_r/uthread/uthread_sig.c.diff?r1=1.3&r2=1.4&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc_r/uthread/uthread_spinlock.c.diff?r1=1.3&r2=1.4&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc_r/uthread/uthread_write.c.diff?r1=1.4&r2=1.5&f=u http://www.dragonflybsd.org/cvsweb/src/lib/libc_r/uthread/uthread_writev.c.diff?r1=1.2&r2=1.3&f=u