summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/command/base.php22
1 files changed, 12 insertions, 10 deletions
diff --git a/core/command/base.php b/core/command/base.php
index a34d7ec1c9a..1591a2854db 100644
--- a/core/command/base.php
+++ b/core/command/base.php
@@ -49,15 +49,6 @@ class Base extends Command {
$this->defaultOutputFormat
)
;
-
- // check if the php pcntl_signal functions are accessible
- $this->php_pcntl_signal = function_exists('pcntl_signal');
- if ($this->php_pcntl_signal) {
- // Collect interrupts and notify the running command
- pcntl_signal(SIGTERM, [$this, 'cancelOperation']);
- pcntl_signal(SIGINT, [$this, 'cancelOperation']);
- }
-
}
/**
@@ -150,8 +141,19 @@ class Base extends Command {
*
* Gives a chance to the command to properly terminate what it's doing
*/
- private function cancelOperation() {
+ protected function cancelOperation() {
$this->interrupted = true;
}
+ public function run(InputInterface $input, OutputInterface $output) {
+ // check if the php pcntl_signal functions are accessible
+ $this->php_pcntl_signal = function_exists('pcntl_signal');
+ if ($this->php_pcntl_signal) {
+ // Collect interrupts and notify the running command
+ pcntl_signal(SIGTERM, [$this, 'cancelOperation']);
+ pcntl_signal(SIGINT, [$this, 'cancelOperation']);
+ }
+
+ return parent::run($input, $output);
+ }
}