BIND 10 #388: There's no way to close UDPServer and TCPServer.

BIND 10 Development do-not-reply at isc.org
Thu Feb 24 14:45:55 UTC 2011


#388: There's no way to close UDPServer and TCPServer.
-------------------------------------+-------------------------------------
                 Reporter:  vorner   |                Owner:  hanfeng
                     Type:  defect   |               Status:  reviewing
                 Priority:  major    |            Milestone:  A-Team-
                Component:           |  Sprint-20110309
  Unclassified                       |           Resolution:
                 Keywords:           |            Sensitive:  0
Estimated Number of Hours:  0.0      |  Add Hours to Ticket:  0
                Billable?:  1        |          Total Hours:  0
                Internal?:  0        |
-------------------------------------+-------------------------------------
Changes (by vorner):

 * owner:  vorner => hanfeng


Comment:

 Hello

 Replying to [comment:6 hanfeng]:
 > The server is implemented with coroutine pattern, after you close
 socket, the operator() function
 > will be called again by asynchronized io process, it will continue the
 coroutine but with the error code.
 > with stopped_by_hand_ ,we can quite the server as soon as possible.

 Yes, but the main purpose here is to return the portnumber to the OS.

 Anyway, is there a chance that such packet would miss it's finalization,
 therefore leaking some resources? I didn't investigate it, but that would
 be bad, if it could happen.

 > > Anyway, there are two thigs missing. The tests for this functionality
 and a proposed changelog entry.
 > >
 > can you enable the test? I have add the changelog

 I enabled the tests for the things that depend on this ticket (and fixed
 slight implementation detail found by one of the tests) and slightly
 improved the formatting of changelog entry (mostly spaces and place to put
 the git sha1 id, so it won't be forgotten in merge).

 While the stop() method is tested implicitly as part of clearServers(), I
 believe we should have an explicit test for it. I noticed there's no
 testing framework around the servers now, so it would be quite a lot of
 work I guess (to write whole tests for TCPServer and UDPServer). And it
 would be nice to have this fixed ASAP. So, unless you have an idea how to
 do it easily, would you, please, merge this (if you agree with how I
 enabled the tests) and create an A-backlog ticket for the tests?

 Thank you

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


More information about the bind10-tickets mailing list