[lxc-devel] [PATCH] remove redundant LXC_TTY_HANDLER

Daniel Lezcano daniel.lezcano at free.fr
Tue Dec 13 08:27:46 UTC 2011


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 <jian at 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





More information about the lxc-devel mailing list