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





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

Reply via email to