tito wrote:Imagine.. you are going to "tint" the gutter if the line you are on, is marked as modified by your.. VCS.. you call.. run() .. imagine it takes 1 second to resolve if the line has been modified... and you execute "run" 4 time per second.. you have 4 running "runs"... The suggested implementation should track if the process is running before trying to running it again, as in item1
I think that you don't know how exactly threads in the threading module work. You should check the docs for that.
The run() method is only run once, when I invoke `start()`. I then do the processing there and only there so the task itself can only run once at a time - as long as I don't create another thread and run the `poke` method on it.
I do agree that resetting the timer once the task itself has finished might be useful at times, but this is dependant on the action and can be added later if necessary.