From: Jeremy F. <je...@go...> - 2002-10-22 08:38:55
|
On Tue, 2002-10-22 at 01:15, Nicholas Nethercote wrote: I was probably missing something when I wrote it. It always felt nasty to me but I thought it was necessary. IIRC VG_(get_current_tid) returns 0 in some circumstances, I can't remember and/or never understood why. Because thread #0 is some special reserved thread or something, and thread #1 is meant to be the root thread, which I thought corresponded to the only thread for non-threaded programs. But that may be totally bogus. Maybe the #0 being returned was related to the system call wrong-tid bug, I don't know. I think so. I'll work out its proper fate tomorrow. The whole "who's running now?" question is quite subtle in Valgrind (like any OS). Jeremy, by now you understand Helgrind much better than I, if you think it should go then please kill it! You must be getting a fairly good idea of how little time I spent testing Helgrind. I just hope that it was quicker for you to fix the existing code rather than to rewrite it from scratch. Well, I'm not saying I won't have touched every line by the time I'm done, but it has certainly been a lot easier fixing bugs than starting from scratch. And it's not like it was completely broken. Only with multithreaded programs which use syscalls or allocate memory. Apart from that it was fine :-) J |