Dinesh Nair wrote:



On 10/28/05 10:52 M. Warner Losh said the following:

libc_r will block all other threads in the application while an ioctl
executes.  libpthread and libthr won't.  I've had several bugs at work


so if the userland thread does an ioctl, and the the driver goes to tsleep() when the ioctl is received, all other threads are also blocked from executing, i.e wont be context switched to run ?

in 4.x and earlier. a tsleep saves your spl level but re-enables the interrupts (from memory) when you re-awaken you are given your spl level again.. All other threads are allowed to run.

lower level code (the interupt executed part is not allowed to ever sleep)


is this behaviour only 4.x specific or is it also there in 5.x ?


_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to