Skip to content

Commit ab8c724

Browse files
committed
Do not discard PID if sending a signal fails
Discarding the PID makes troubleshooting more difficult for the user. There is no reason to think the process has exited unless we receive SIGCHLD.
1 parent 5b1f3dc commit ab8c724

File tree

2 files changed

+2
-4
lines changed

2 files changed

+2
-4
lines changed

supervisor/process.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,6 @@ def kill(self, sig):
470470
self.pid, tb)
471471
options.logger.critical(msg)
472472
self.change_state(ProcessStates.UNKNOWN)
473-
self.pid = 0
474473
self.killing = False
475474
self.delay = 0
476475
return msg
@@ -509,7 +508,6 @@ def signal(self, sig):
509508
processname, self.pid, tb)
510509
options.logger.critical(msg)
511510
self.change_state(ProcessStates.UNKNOWN)
512-
self.pid = 0
513511
return msg
514512

515513
return None

supervisor/tests/test_process.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -876,7 +876,7 @@ def test_kill_from_running_error(self):
876876
'unknown problem killing test'))
877877
self.assertTrue('Traceback' in options.logger.data[1])
878878
self.assertFalse(instance.killing)
879-
self.assertEqual(instance.pid, 0)
879+
self.assertEqual(instance.pid, 11) # unchanged
880880
self.assertEqual(instance.state, ProcessStates.UNKNOWN)
881881
self.assertEqual(len(L), 2)
882882
event1 = L[0]
@@ -1027,7 +1027,7 @@ def test_signal_from_running_error(self):
10271027
self.assertTrue('Traceback' in options.logger.data[1])
10281028
self.assertFalse(instance.killing)
10291029
self.assertEqual(instance.state, ProcessStates.UNKNOWN)
1030-
self.assertEqual(instance.pid, 0)
1030+
self.assertEqual(instance.pid, 11) # unchanged
10311031
self.assertEqual(len(L), 1)
10321032
event = L[0]
10331033
self.assertEqual(event.__class__, events.ProcessStateUnknownEvent)

0 commit comments

Comments
 (0)