On 12/17/10 11:03 AM, John Fischer wrote:
Joe,

See below.

Thanks,

John

On 12/17/10 05:40 AM, [email protected] wrote:
John,

Looks good. I do have a question.

In the below code:

393 while not self._restart_loop and not self.done:
394 try:
395 # process the appropriate service reference
396 try:
397 ready = select.select(therefs, [], [], self.timeout)
398 except select.error:
399 continue
400 if self.done:
401 continue


Are lines 400 & 401 necessary? Isn't the check on line 393 sufficient
or are you expecting the select processing to toggle self.done?

Please confirm if lines 400 & 401 are necessary.

Yes. They are necessary. There is a strange case where if the __del__
method
gets called in the middle of the loop then the references get closed and
cause
odd behavior unless the self.done is checked here. Perhaps I should have
a comment block around this section of code explaining this situation.

Thank you,
Joe






Great John. Thank you for confirming and explaining.

I had seen the done flag getting set to True in the __del__ method...

Thank you,
    Joe
_______________________________________________
caiman-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

Reply via email to