bring back default SIGINT handler
This seems to fix a problem I've recently seen where ctrl-c during rsync
leads to `git annex get` moving on to the next thing rather than exiting.
Seems likely that started happening with the switch to System.Process
(d1da9cf221
), as the old code took care
to install a default SIGINT handler.
Note that since the bug was only occurring sometimes, I am not 100% sure
I've squashed it, although I seem to have.
This commit is contained in:
parent
9770582859
commit
613e747d91
4 changed files with 6 additions and 5 deletions
|
@ -15,6 +15,7 @@ import qualified Control.Exception as E
|
|||
import qualified Data.Map as M
|
||||
import Control.Exception (throw)
|
||||
import System.Console.GetOpt
|
||||
import System.Posix.Signals
|
||||
|
||||
import Common.Annex
|
||||
import qualified Annex
|
||||
|
@ -108,7 +109,9 @@ tryRun' errnum state cmd (a:as) = do
|
|||
|
||||
{- Actions to perform each time ran. -}
|
||||
startup :: Annex Bool
|
||||
startup = return True
|
||||
startup = liftIO $ do
|
||||
void $ installHandler sigINT Default Nothing
|
||||
return True
|
||||
|
||||
{- Cleanup actions. -}
|
||||
shutdown :: Bool -> Annex Bool
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue