|
From: Nicholas N. <nj...@cs...> - 2005-11-13 17:42:37
|
On Sun, 13 Nov 2005, Tom Hughes wrote: > The problem is that pthread_cancel uses the tgkill system call > to signal the other thread. Now sys_tgkill in the kernel sets > si_code to SI_TKILL which is -6 and normally when that siginfo > is later copied out to the signal handler the kernel masks off > the top 16 bits and then sign extends the bottom 16 so the result > in user space is still a negative value. > > The kernel actually casts si_code to short as it copies it out, just > as my patch now does. I saw you wrote a comment about this in the code... did it include the above info? Nick |