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