+ /* Decide here if this will be an interactive session. We have to
+ * do this as soon as possible after processing the command line
+ * args.
+ */
+ is_interactive = !file && isatty (0);
+
+ /* Register a ^C handler. We have to do this before launch could
+ * possibly be called below.
+ */
+ if (is_interactive) {
+ memset (&sa, 0, sizeof sa);
+ sa.sa_handler = user_cancel;
+ sa.sa_flags = SA_RESTART;
+ sigaction (SIGINT, &sa, NULL);
+
+ guestfs_set_pgroup (g, 1);
+ }
+