[lxc-devel] [PATCH] remove redundent LXC_TTY_HANDLER

jian at linux.vnet.ibm.com jian at linux.vnet.ibm.com
Tue Jan 24 20:32:34 UTC 2012


From: Jian Xiao <jian at linux.vnet.ibm.com>

All the signals (except fatal ones) are redirected to signalfd at lxc_init,
so the LXC_TTY_HANDLERs are redundant. This patch removes them.

Signed-off-by: Jian Xiao <jian at linux.vnet.ibm.com>
---
 src/lxc/start.c |    9 ---------
 src/lxc/utils.h |   29 ++---------------------------
 2 files changed, 2 insertions(+), 36 deletions(-)

diff --git a/src/lxc/start.c b/src/lxc/start.c
index 18f6878..2c92a17 100644
--- a/src/lxc/start.c
+++ b/src/lxc/start.c
@@ -129,9 +129,6 @@ int signalfd(int fd, const sigset_t *mask, int flags)
 
 lxc_log_define(lxc_start, lxc);
 
-LXC_TTY_HANDLER(SIGINT);
-LXC_TTY_HANDLER(SIGQUIT);
-
 static int match_fd(int fd)
 {
 	return (fd == 0 || fd == 1 || fd == 2);
@@ -564,10 +561,6 @@ int __lxc_start(const char *name, struct lxc_conf *conf,
 		goto out_fini;
 	}
 
-	/* Avoid signals from terminal */
-	LXC_TTY_ADD_HANDLER(SIGINT);
-	LXC_TTY_ADD_HANDLER(SIGQUIT);
-
 	err = lxc_poll(name, handler);
 	if (err) {
 		ERROR("mainloop exited with an error");
@@ -579,8 +572,6 @@ int __lxc_start(const char *name, struct lxc_conf *conf,
 
 	err =  lxc_error_set_and_log(handler->pid, status);
 out_fini:
-	LXC_TTY_DEL_HANDLER(SIGQUIT);
-	LXC_TTY_DEL_HANDLER(SIGINT);
 	lxc_cgroup_destroy(name);
 	lxc_fini(name, handler);
 	return err;
diff --git a/src/lxc/utils.h b/src/lxc/utils.h
index 114b668..d47c983 100644
--- a/src/lxc/utils.h
+++ b/src/lxc/utils.h
@@ -23,34 +23,9 @@
 #ifndef _utils_h
 #define _utils_h
 
-#define LXC_TTY_HANDLER(s) \
-	static struct sigaction lxc_tty_sa_##s;				\
-	static void tty_##s##_handler(int sig, siginfo_t *info, void *ctx) \
-	{								\
-		if (lxc_tty_sa_##s.sa_handler == SIG_DFL ||		\
-		    lxc_tty_sa_##s.sa_handler == SIG_IGN)		\
-			return;						\
-		(*lxc_tty_sa_##s.sa_sigaction)(sig, info, ctx);	\
-	}
-
-#define LXC_TTY_ADD_HANDLER(s) \
-	do { \
-		struct sigaction sa; \
-		sa.sa_sigaction = tty_##s##_handler; \
-		sa.sa_flags = SA_SIGINFO; \
-		sigfillset(&sa.sa_mask); \
-		/* No error expected with sigaction. */ \
-		sigaction(s, &sa, &lxc_tty_sa_##s); \
-	} while (0)
-
-#define LXC_TTY_DEL_HANDLER(s) \
-	do { \
-		sigaction(s, &lxc_tty_sa_##s, NULL); \
-	} while (0)
-
-#endif
-
 extern int lxc_copy_file(const char *src, const char *dst);
 extern int lxc_setup_fs(void);
 extern int get_u16(ushort *val, const char *arg, int base);
 extern int mkdir_p(const char *dir, mode_t mode);
+
+#endif
-- 
1.7.1





More information about the lxc-devel mailing list