April White:

> I do not fully agree with you Neil.  SciTEWin invokes
> SciTEBase::Execute() only where there is a job ready to run.  I would
> think that if a second thread was going to start a job, the first one
> running would block it

   I was thinking of reentrance on the UI thread. User adds a command;
IDM_JOBS; SciTEBase::Execute; SendEditor(SCI_MARKERDELETEALL, 0);
SCN_SAVEPOINTLEFT notification; Lua script adds command and the UI
thread has two calls to SciTEBase::Execute on the stack at once,
leading to two tool threads and confusion. Moving the setting of
executing to before any calls that could leak control out stops that
but as a general rule its better to make access to thread sensitive
data highly protected.

   Neil

_______________________________________________
Scite-interest mailing list
Scite-interest@lyra.org
http://mailman.lyra.org/mailman/listinfo/scite-interest

Reply via email to