Right now, when a task is interrupted or killed (control-c or SIGINT), it just dies there, which is bad, because we have this nice rollback system exactly for those kinds of situation, and it doesn't get used.

We will need to catch errors and launch the rollback hooks as appropriate.

Comments

moshe weitzman’s picture

Priority: Critical » Normal
anarcat’s picture

Category: bug » feature

That would be a very nice to have, for Aegir and Drush 3.0. In fact, I think that rollbacks should be called on SIGHUP too, and maybe other signals...

anarcat’s picture

Seems like pcntl is required to handle signals in PHP: http://ca2.php.net/manual/fr/function.pcntl-signal.php

Note that pcntl is not available on windows.

jonhattan’s picture

Component: Interoperability » PM (dl, en, up ...)
greg.1.anderson’s picture

Version: » 8.x-6.x-dev
Status: Active » Closed (won't fix)
Issue tags: +Needs migration

This issue was marked closed (won't fix) because Drush has moved to Github.

If this feature is still desired, you may copy it to our Github project. For best results, create a Pull Request that has been updated for the master branch. Post a link here to the PR, and please also change the status of this issue to closed (duplicate).

Please ask support questions on Drupal Answers.