April White wrote:

... Maybe I should move the variable 'executing' to the jobQueue class and wrap it in locks.

I'll upload everything sometime later, but this is the re-worked SciTEWin::Command() section: ...

I've worked over IDM_FINISHEDEXECUTE and IDM_JOBS, it is stronger now. The IDM_FINISHEDEXECUTE code only falls through into IDM_JOBS when the current job was successful. The IDM_JOBS code no longer needs to query anything that is the purview of the IDM_FINISHEDEXECUTE code.

I've been going over in my head the 'executing' variable.

I would remove the 'executing = true' assignment from SciTEBase::Excecute() and replace
   if (!executing && !jobQueue.IsEmpty())
with
   if (!::InterlockedExchange(executing,1) && !jobQueue.IsEmpty())

Am I on the right track with this?

April

--
If high heels were so wonderful, men would still be wearing them.
-- Sue Grafton

_______________________________________________
Scite-interest mailing list
[email protected]
http://mailman.lyra.org/mailman/listinfo/scite-interest

Reply via email to