mirror of
https://github.com/RaspbianFrance/raspisms.git
synced 2025-07-23 21:38:47 +02:00
Properly handle error on stop and start daemons
This commit is contained in:
parent
1f8cdcd67c
commit
08cbb0f12e
2 changed files with 56 additions and 54 deletions
|
@ -150,12 +150,12 @@ abstract class AbstractDaemon
|
|||
//Write the pid of the process into a file
|
||||
file_put_contents($this->pid_dir . '/' . $this->name . '.pid', getmypid());
|
||||
|
||||
//Really start the daemon
|
||||
$this->on_start();
|
||||
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
//Really start the daemon
|
||||
$this->on_start();
|
||||
|
||||
while ($this->is_running)
|
||||
{
|
||||
|
||||
|
@ -168,17 +168,19 @@ abstract class AbstractDaemon
|
|||
$this->logger->critical('Exception : ' . $t->getMessage() . ' in ' . $t->getFile() . ' line ' . $t->getLine());
|
||||
$exit_code = $t->getCode() ?: 1;
|
||||
}
|
||||
|
||||
//Stop the daemon
|
||||
$this->on_stop();
|
||||
|
||||
//Delete pid file
|
||||
if (file_exists($this->pid_dir . '/' . $this->name . '.pid'))
|
||||
finally
|
||||
{
|
||||
unlink($this->pid_dir . '/' . $this->name . '.pid');
|
||||
}
|
||||
//Stop the daemon
|
||||
$this->on_stop();
|
||||
|
||||
exit($exit_code ?? 0);
|
||||
//Delete pid file
|
||||
if (file_exists($this->pid_dir . '/' . $this->name . '.pid'))
|
||||
{
|
||||
unlink($this->pid_dir . '/' . $this->name . '.pid');
|
||||
}
|
||||
|
||||
exit($exit_code ?? 0);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue