Commit 307cf2a6 by Jian Xiao Committed by Daniel Lezcano

remove redundent LXC_TTY_HANDLER

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: 's avatarJian Xiao <jian@linux.vnet.ibm.com> Signed-off-by: 's avatarDaniel Lezcano <dlezcano@fr.ibm.com>
parent aa198728
...@@ -129,9 +129,6 @@ int signalfd(int fd, const sigset_t *mask, int flags) ...@@ -129,9 +129,6 @@ int signalfd(int fd, const sigset_t *mask, int flags)
lxc_log_define(lxc_start, lxc); lxc_log_define(lxc_start, lxc);
LXC_TTY_HANDLER(SIGINT);
LXC_TTY_HANDLER(SIGQUIT);
static int match_fd(int fd) static int match_fd(int fd)
{ {
return (fd == 0 || fd == 1 || fd == 2); return (fd == 0 || fd == 1 || fd == 2);
...@@ -564,10 +561,6 @@ int __lxc_start(const char *name, struct lxc_conf *conf, ...@@ -564,10 +561,6 @@ int __lxc_start(const char *name, struct lxc_conf *conf,
goto out_fini; goto out_fini;
} }
/* Avoid signals from terminal */
LXC_TTY_ADD_HANDLER(SIGINT);
LXC_TTY_ADD_HANDLER(SIGQUIT);
err = lxc_poll(name, handler); err = lxc_poll(name, handler);
if (err) { if (err) {
ERROR("mainloop exited with an error"); ERROR("mainloop exited with an error");
...@@ -579,8 +572,6 @@ int __lxc_start(const char *name, struct lxc_conf *conf, ...@@ -579,8 +572,6 @@ int __lxc_start(const char *name, struct lxc_conf *conf,
err = lxc_error_set_and_log(handler->pid, status); err = lxc_error_set_and_log(handler->pid, status);
out_fini: out_fini:
LXC_TTY_DEL_HANDLER(SIGQUIT);
LXC_TTY_DEL_HANDLER(SIGINT);
lxc_cgroup_destroy(name); lxc_cgroup_destroy(name);
lxc_fini(name, handler); lxc_fini(name, handler);
return err; return err;
......
...@@ -23,34 +23,9 @@ ...@@ -23,34 +23,9 @@
#ifndef _utils_h #ifndef _utils_h
#define _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_copy_file(const char *src, const char *dst);
extern int lxc_setup_fs(void); extern int lxc_setup_fs(void);
extern int get_u16(ushort *val, const char *arg, int base); extern int get_u16(ushort *val, const char *arg, int base);
extern int mkdir_p(const char *dir, mode_t mode); extern int mkdir_p(const char *dir, mode_t mode);
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment