BIND 10 #335: b10-xfrout not exiting

BIND 10 Development do-not-reply at isc.org
Thu Oct 14 08:55:51 UTC 2010


#335: b10-xfrout not exiting
-------------------------+--------------------------------------------------
      Reporter:  jreed   |        Owner:  zhanglikun
          Type:  defect  |       Status:  reviewing 
      Priority:  major   |    Milestone:            
     Component:  xfrout  |   Resolution:            
      Keywords:          |    Sensitive:  0         
Estimatedhours:  0.0     |        Hours:  0         
      Billable:  1       |   Totalhours:  0         
      Internal:  0       |  
-------------------------+--------------------------------------------------

Comment(by zhanglikun):

 This is the reply for the change in  r3200.

 /trac335/src/bin/xfrout/xfrout.py.in :

 1. I don't know why you want to remove the following lines code. there
 will be 3 or more

 threads when xfrout is running, they are mainthread, notify-out thread and
 unix-socket_-

 server thread, and some other threads which are doing zone transfer. But I
 like you wrap

 creating dispatcher thread to one function.

 {{{
            main_thread = threading.currentThread()
            # close the thread which's doing zone transfer.
            for th in threading.enumerate():
                if th is main_thread:
                    continue
                th.join()

 }}}

 2. some function string doesn't follow the standard way.

   see the old one is
 {{{
   """ This the comments line1
   this is the comments line2
   """
 }}}

 has been changed as

 {{{
   """
   This the comments line1
   this is the comments line2
   """
 }}}


 branches/trac335/src/lib/python/isc/notify/notify_out.py ¶

 1. I would like to move the following line code to function
 NotifyOut.__init__(), since

 the variable self._started_event is used by another function
 self._despatcher().
    self._started_event = threading.Event()

 2. do we really need do the clean up in shutdown()?
 {{{
               # Clean up
   218         self._write_sock = None
   219         self._read_sock = None
   220         self._thread = None

 }}}

 3. why we just create the variable self._read_sock in
 NotfityOut.__init__(), I just feel

 confused about why not self._write_sock. I would keep the old style

 self._read_sock, self._write_sock = socket.socketpair()

 I find you have mentioned self._read_sock maybe be empty in some test, but
 I doesn't find
 it in the test case.


 4 can we simple the following code to "if min_timeout:"?
 {{{
       if min_timeout is not None:
 }}}

 5.

-- 
Ticket URL: <http://bind10.isc.org/ticket/335#comment:18>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list