cvs commit: src/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
Matthew Dillon
dillon at crater.dragonflybsd.org
Tue Jun 13 18:50:21 PDT 2006
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
More information about the Commits
mailing list