Messages in this thread | | | Date | Fri, 24 Nov 2006 19:05:44 -0600 | From | Robert Hancock <> | Subject | Re: Signals and threads |
| |
shibu-kundara wrote: > Hi > > I have a problem using sigaction function in pthread library. > I have 2 thread each one registering > > in threadA > act1.sa_handler=func1; > if(sigaction(SIGUSR1,&act1,NULL)) printf("\nSigaction failed! in th1 > !!\n"); > > in threadB > act1.sa_handler=func2; > if(sigaction(SIGUSR1,&act2,NULL)) printf("\nSigaction failed! in th2 > !!\n"); > > but when i send signal SIGUSR1 to threadA , threadA receives the > signal > but the handler func2 is getting called, > > > Please let me know is there any way to solve this problem? > thanks in advance > thomas >
Signal handlers are global to the process. You can't create different handlers for the same signal in multiple threads.
-- Robert Hancock Saskatoon, SK, Canada To email, remove "nospam" from hancockr@nospamshaw.ca Home Page: http://www.roberthancock.com/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |