BIND 10 #642: SIGHUP and other signals cause boss to leave BIND 10 processes lying around
BIND 10 Development
do-not-reply at isc.org
Wed Apr 20 14:03:28 UTC 2011
#642: SIGHUP and other signals cause boss to leave BIND 10 processes lying around
-------------------------------------+-------------------------------------
Reporter: shane | Owner: shane
Type: | Status: reviewing
defect | Milestone:
Priority: minor | Sprint-20110503
Component: Boss | Resolution:
of BIND | Sensitive: 0
Keywords: | Sub-Project: DNS
Defect Severity: Low | Estimated Difficulty: 0.0
Feature Depending on Ticket: | Total Hours: 0
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Changes (by vorner):
* owner: vorner => shane
Comment:
Good morning
Still, this doesn't work like it should. If I run it as {{{ ./sbin/bind10
-v & }}} and close the terminal, it starts dying out as before. If I
redirect the stderr (but not stdout), it shutdowns properly, with this at
the end of the shutdown:
{{{
[b10-msgq] Closing socket fd 9
[b10-msgq] Receive error: EOF
Traceback (most recent call last):
File "./sbin/bind10", line 1042, in main_loop
next_rstart = boss_of_bind.restart_processes()
File "./sbin/bind10", line 818, in restart_processes
proc_info.name)
IOError: [Errno 5] Input/output error
[bind10] Exception in main loop: [Errno 5] Input/output errorException
IOError: (5, 'Input/output error') in <_io.TextIOWrapper name='<stdout>'
encoding='UTF-8'> ignored
}}}
So, maybe the boss dies by some automatic stacktrace printing?
Anyway, the new code solves part of the porblem I guess. But it is little
bit repetetive. Wouldn't it be better to have a method like:
{{{#!python
def safe_write(self, what):
try:
sys.stdout.write(what)
except:
self.runnable = False
}}}
And use that?
With regards
--
Ticket URL: <http://bind10.isc.org/ticket/642#comment:13>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list