>>I have found out that when linking a userspace application with -lpthread, >>then for some reason, a device driver's read() routine suddenly has >>IO_NDELAY set in flags. Bug? > >No. This is as it should be, because -lpthread does threads in *one* >kernel process, so it has to intercept blocking operations so it can >switch to another thread instead, or call select/poll/kevent if needed, >so not all threads hang if *one* executes a blocking operation. > Reminds me of ol' LinuxThreads. Any plans to make each thread a separate kernel process/thread?
Jan Engelhardt --