I have tried this approach, but I still got the error (in a couple of different incarnations). If you ran yours, I wonder if maybe you didn't run it for long enough, because, based on what is written above, it is still unsafe due to asynchronous accesses.
I've ran it longer enough and I didn't have any problems with it. The trick is to have all the Tk/X operations
{mw->update and so...) in a single process. Beside of USR1 and USR2, you can try to trapp different signals. I know the aproach it's ugly, but for me
it works just fine...
--------------------------------------
"Quoth The Raven Nevermore"
SleepNot a.k.a TheCount