compiler respects 'keep_going' flag

I am creating this PR as a base for further discussion.

I found that this change works fine for me, but I don't know if the fact that the worker pid is not removed has any bad effects. 
I mean, if we have to remove a pid, as you suggested, then we should track it or otherwise ensure we can do a correct removal.