On 12/05/2011 06:00 PM, J. Xiao wrote: > 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 <j...@linux.vnet.ibm.com> > ---
Hi Jian, thanks for the patch. Unfortunately it does not apply for the two reasons. (1) you probably copied/pasted the patch to your mailer. Do not do that, the mailer will reformat your email, you should use git-send-email or quilt mail. (2) It seems the patch is outdated and does not apply to the head. Thanks -- Daniel > 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 334262d..0ce19d9 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); > @@ -565,10 +562,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"); > @@ -580,8 +573,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 ------------------------------------------------------------------------------ Systems Optimization Self Assessment Improve efficiency and utilization of IT resources. Drive out cost and improve service delivery. Take 5 minutes to use this Systems Optimization Self Assessment. http://www.accelacomm.com/jaw/sdnl/114/51450054/ _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel