linux32_machdep.c (a7ac45761335b1d514804cd0bfe44bdb2c3a3e0c) linux32_machdep.c (4ab7403bbd76f466d482cd69035091c04e409c09)
1/*-
2 * Copyright (c) 2004 Tim J. Robbins
3 * Copyright (c) 2002 Doug Rabson
4 * Copyright (c) 2000 Marcel Moolenaar
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions

--- 703 unchanged lines hidden (view full) ---

712 if (args->nsa != NULL) {
713 error = copyin(args->nsa, &osa, sizeof(l_osigaction_t));
714 if (error)
715 return (error);
716 act.lsa_handler = osa.lsa_handler;
717 act.lsa_flags = osa.lsa_flags;
718 act.lsa_restorer = osa.lsa_restorer;
719 LINUX_SIGEMPTYSET(act.lsa_mask);
1/*-
2 * Copyright (c) 2004 Tim J. Robbins
3 * Copyright (c) 2002 Doug Rabson
4 * Copyright (c) 2000 Marcel Moolenaar
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions

--- 703 unchanged lines hidden (view full) ---

712 if (args->nsa != NULL) {
713 error = copyin(args->nsa, &osa, sizeof(l_osigaction_t));
714 if (error)
715 return (error);
716 act.lsa_handler = osa.lsa_handler;
717 act.lsa_flags = osa.lsa_flags;
718 act.lsa_restorer = osa.lsa_restorer;
719 LINUX_SIGEMPTYSET(act.lsa_mask);
720 act.lsa_mask.__bits[0] = osa.lsa_mask;
720 act.lsa_mask.__mask = osa.lsa_mask;
721 }
722
723 error = linux_do_sigaction(td, args->sig, args->nsa ? &act : NULL,
724 args->osa ? &oact : NULL);
725
726 if (args->osa != NULL && !error) {
727 osa.lsa_handler = oact.lsa_handler;
728 osa.lsa_flags = oact.lsa_flags;
729 osa.lsa_restorer = oact.lsa_restorer;
721 }
722
723 error = linux_do_sigaction(td, args->sig, args->nsa ? &act : NULL,
724 args->osa ? &oact : NULL);
725
726 if (args->osa != NULL && !error) {
727 osa.lsa_handler = oact.lsa_handler;
728 osa.lsa_flags = oact.lsa_flags;
729 osa.lsa_restorer = oact.lsa_restorer;
730 osa.lsa_mask = oact.lsa_mask.__bits[0];
730 osa.lsa_mask = oact.lsa_mask.__mask;
731 error = copyout(&osa, args->osa, sizeof(l_osigaction_t));
732 }
733
734 return (error);
735}
736
737/*
738 * Linux has two extra args, restart and oldmask. We don't use these,

--- 7 unchanged lines hidden (view full) ---

746 l_sigset_t mask;
747
748#ifdef DEBUG
749 if (ldebug(sigsuspend))
750 printf(ARGS(sigsuspend, "%08lx"), (unsigned long)args->mask);
751#endif
752
753 LINUX_SIGEMPTYSET(mask);
731 error = copyout(&osa, args->osa, sizeof(l_osigaction_t));
732 }
733
734 return (error);
735}
736
737/*
738 * Linux has two extra args, restart and oldmask. We don't use these,

--- 7 unchanged lines hidden (view full) ---

746 l_sigset_t mask;
747
748#ifdef DEBUG
749 if (ldebug(sigsuspend))
750 printf(ARGS(sigsuspend, "%08lx"), (unsigned long)args->mask);
751#endif
752
753 LINUX_SIGEMPTYSET(mask);
754 mask.__bits[0] = args->mask;
754 mask.__mask = args->mask;
755 linux_to_bsd_sigset(&mask, &sigmask);
756 return (kern_sigsuspend(td, sigmask));
757}
758
759int
760linux_rt_sigsuspend(struct thread *td, struct linux_rt_sigsuspend_args *uap)
761{
762 l_sigset_t lmask;

--- 251 unchanged lines hidden ---
755 linux_to_bsd_sigset(&mask, &sigmask);
756 return (kern_sigsuspend(td, sigmask));
757}
758
759int
760linux_rt_sigsuspend(struct thread *td, struct linux_rt_sigsuspend_args *uap)
761{
762 l_sigset_t lmask;

--- 251 unchanged lines hidden ---