BIND 10 #805: Client side code to request new sockets (C++)
BIND 10 Development
do-not-reply at isc.org
Fri Jan 6 07:10:07 UTC 2012
#805: Client side code to request new sockets (C++)
-------------------------------------+-------------------------------------
Reporter: | Owner: vorner
stephen | Status: reviewing
Type: | Milestone:
enhancement | Sprint-20120110
Priority: | Resolution:
blocker | Sensitive: 0
Component: | Sub-Project: DNS
Unclassified | Estimated Difficulty: 5
Keywords: | Total Hours: 0
Defect Severity: N/A |
Feature Depending on Ticket: |
Socket creator |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by jinmei):
Replying to [comment:21 vorner]:
> The current problem is, it leaks the socket somewhere. It provides the
socket the first time, but the startup is kind of broken, so it resets the
sockets once again, it returns them (according to the log messages), but
it fails to create them again with „Address already in use“. If you would
like to have a look (or anybody else), it's in the branch trac805-merged.
Unluckily for me, I can't do much testing, I have problems installing, but
I don't know exactly why.
It seems to me that 01d2bc6 fixed the leak. I suspect, from that you
(reportedly) couldn't install it, that you tested it "from source"
using run_bind10.sh without even selectively installing the socket
creator program.
If my guess is correct, you are hit by another, unrelated bug that the
bind10.special_component module unconditionally invokes the installed
version of socket creator. If that is the case please try the
attached patch.
As for how to test SO_REUSEADDR, if it's okay to actually get the
socket the creator code we can test it using getsockopt.
I've noticed a few of other things:
- at least per API even close(2) could fail. I believe we should
catch that case and kill the socket creator should that happen.
- same for send_fd()
- sockcreator.cc breaks many style guidelines.
--
Ticket URL: <http://bind10.isc.org/ticket/805#comment:22>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list