Threads and Signals

I want to handle signals in a process that involves lots of threads. Now I do know that there should be a dedicated thread that will actually be traping signals and then these signals will be ditributed to actual threads.

My question is...in case a signals has been generated by a kernel for the process itself and not any specific thread, then what will be the behaviour of that thread, and how should be the algorithm to differentiate between such signals ?

One more quer plz give me the list of signals that are specific to threads...ex: SIGLWP etc.. etc..