Folks,
Are 'fileevent' procs called on an interrupt thread or something that
would cause them to be run recursively or to be re-entered? Can someone who
KNOWS please explain this to me?
THE SITUATION
I launched a background program with
set fd [ open "|$cmd" ]
fileevent $fd readable myEventProc
and connected a fileevent proc to the fd. For debugging, I have a 'puts
$logfile...' as line 1 in the event handler. The background program is C++
and uses
cout << "GUIMSG{...}" << endl << flush;
to write messages targeted for the event proc.
THE PROBLEM
The logfile shows hundreds of "eventproc ENTER" entries without any
signs that the proc ran more than the first line. After a while, the log
shows that we are processing records in the order written by the program.
However, all log entries show
eventproc -- ... processing
eventproc -- LEAVE
without any ENTER records. Eventually, the program goes to sleep and we get
no more file events and the TCL app stalls too. We've even seen the
processing run in reverse order to that with which the records were written.
WHAT IS GOING ON HERE?????
BTW: If there is a better list to use to send this sort of question, please
let me know. Don't suggest net news -- I'm interested in answers not SPAM
or FLAMES. If I've really screwed something up, I won't be offended if you
tell me what I did wrong and how to fix it.
--- Dan 0;-D
============================================================================
========
"In a dragon fight, often times, the bleachers get scorched."
... let The GRILLON Group help you slay your dragons. Call Today.
============================================================================
========
Daniel M. St.Andre' The GRILLON Group
voice: 512.331.8271 Information Management
Consultants
fax: 512.331.8915 10511 Weller Drive
ofc email: [EMAIL PROTECTED] Austin, TX 78750 USA
============================================================================
========