Hi, I'm trying to use dtrace to signal threads in my app when certain events happen, and the raise() action seemed adequate -- looking at the kernel sources, it sends a signal to the currently executing thread, and a quick microbenchmark confirmed this. However, further testing showed that if lots of threads hit the event simultaneously, the signal only gets delivered once, and may also get delivered to a different thread entirely (ie the main thread blocked in pthread_join). This makes sense given that raise() only promises to target the process, not a given thread.
Would it be possible to add an equivalent to lwp_kill() that specifically targets a thread? (I also tried setting a watchpoint using procfs, but copyout errors out instead of raising the thread-specific SIGTRAP I had hoped for...) Thanks, Ryan -- This message posted from opensolaris.org _______________________________________________ dtrace-discuss mailing list dtrace-discuss@opensolaris.org