"Igor" == Igor Stasenko siguctua@gmail.com writes:
Igor> Please, let's not discuss how i can get around that issue. I'd like to Igor> hear arguments for and against adding nesting capabilities of Igor> suspend/resume methods.
Because you'll be changing what "resume" means. Right now, I can guarantee that resume gets it going again. If you want to implement "countableSuspend" and "countableResume" in your image, that's fine, but don't change what suspend and resume currently do.
Or even more simply, evaluate uninterruptably a test-and-set, noting whether or not you actually had to suspend something, or whether it was already suspended. Then resume only the things you actually suspend. That'd be far easier.