cvs commit: src/sys/i386/include tls.h src/gnu/usr.bin/cc34/cc_prep/config dragonfly-spec.h src/gnu/usr.bin/cc34/cc_prep/config/i386 dragonfly.h src/lib/csu/i386 crt1.c src/lib/libc/gen tls.c src/lib/libc/i386/sys cerror.S src/lib/libc/include libc_private.h ...

Joerg Sonnenberger joerg at
Fri May 13 11:27:44 PDT 2005

On Fri, May 13, 2005 at 10:11:52PM +0800, David Xu wrote:
> Process does not have global signal mask, it is each thread in a process
> has its own signal mask. there is a global pending signal set in the 
> process.Each thread has its own pending set, signal masks, but share 
> signal action with other threads

So far, I understand. Question is, when the kernel decides to deliver
a signal to thread A, which doesn't have it currently in the signal
mask, it adds the signal to the thread signal masks, removes the pending
bit and calls the handler. Now the same signal is send to the application
again. Is thread B allowed to handle that signal while thread A is still
running in the signal handler?


More information about the Kernel mailing list