Message1935
Logged In: YES
user_id=72656
johnny - That actually helps a lot and fairly clearly indicates
the source of this hanging problem. To give more context to
that area, this is in the final shutdown code where it is
(obviously) shutting down the console I/O. The reader is
shutdown without a check for more input (why, we are
exiting?), so there is no issue there.
The writer however wants to make sure that the console
output channel is drained before exit. A blocking channel
that is not being flushed will cause a hang.
So the question is, what is the stdio setup for Tcl in
Py/Tkinter? That should be examined to see whether stdio is
clear to flush on exit.
Perhaps you can also help with more debugging. Could you
wrap the problematic WaitForSingleObject call with
if (consolePtr->toWrite) { ...
and perhaps also print out what to write. It may be that
blocking output isn't the problem at all, but rather that we are
never receiving the signal on consolePtr->writable (usually
done in the writer thread). The consolePtr->toWrite check
will at least ensure flushed channels do not enter this
potential hanging state. |
|
Date |
User |
Action |
Args |
2007-08-23 13:51:19 | admin | link | issue216289 messages |
2007-08-23 13:51:19 | admin | create | |
|