aboutsummaryrefslogtreecommitdiffhomepage
path: root/notmuch-new.c
diff options
context:
space:
mode:
Diffstat (limited to 'notmuch-new.c')
-rw-r--r--notmuch-new.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/notmuch-new.c b/notmuch-new.c
index 0d06253d..55c3dc1d 100644
--- a/notmuch-new.c
+++ b/notmuch-new.c
@@ -711,13 +711,6 @@ notmuch_new_command (void *ctx, int argc, char *argv[])
}
}
- /* Setup our handler for SIGINT */
- memset (&action, 0, sizeof (struct sigaction));
- action.sa_handler = handle_sigint;
- sigemptyset (&action.sa_mask);
- action.sa_flags = SA_RESTART;
- sigaction (SIGINT, &action, NULL);
-
config = notmuch_config_open (ctx, NULL, NULL);
if (config == NULL)
return 1;
@@ -758,6 +751,15 @@ notmuch_new_command (void *ctx, int argc, char *argv[])
if (notmuch == NULL)
return 1;
+ /* Setup our handler for SIGINT. We do this after having
+ * potentially done a database upgrade we this interrupt handler
+ * won't support. */
+ memset (&action, 0, sizeof (struct sigaction));
+ action.sa_handler = handle_sigint;
+ sigemptyset (&action.sa_mask);
+ action.sa_flags = SA_RESTART;
+ sigaction (SIGINT, &action, NULL);
+
talloc_free (dot_notmuch_path);
dot_notmuch_path = NULL;