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 [email protected] http://mailman.lyra.org/mailman/listinfo/scite-interest
