svr4_signal.c (43412) | svr4_signal.c (48620) |
---|---|
1/* 2 * Copyright (c) 1998 Mark Newton 3 * Copyright (c) 1994 Christos Zoulas 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 173 unchanged lines hidden (view full) --- 182 * XXX: Only a subset of the flags is currently implemented. 183 */ 184void 185svr4_to_bsd_sigaction(ssa, bsa) 186 const struct svr4_sigaction *ssa; 187 struct sigaction *bsa; 188{ 189 | 1/* 2 * Copyright (c) 1998 Mark Newton 3 * Copyright (c) 1994 Christos Zoulas 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 173 unchanged lines hidden (view full) --- 182 * XXX: Only a subset of the flags is currently implemented. 183 */ 184void 185svr4_to_bsd_sigaction(ssa, bsa) 186 const struct svr4_sigaction *ssa; 187 struct sigaction *bsa; 188{ 189 |
190 bsa->sa_handler = (sig_t) ssa->sa_handler; 191 svr4_to_bsd_sigset(&ssa->sa_mask, &bsa->sa_mask); | 190 bsa->sa_handler = (sig_t) ssa->ssa_handler; 191 svr4_to_bsd_sigset(&ssa->ssa_mask, &bsa->sa_mask); |
192 bsa->sa_flags = 0; | 192 bsa->sa_flags = 0; |
193 if ((ssa->sa_flags & SVR4_SA_ONSTACK) != 0) | 193 if ((ssa->ssa_flags & SVR4_SA_ONSTACK) != 0) |
194 bsa->sa_flags |= SA_ONSTACK; | 194 bsa->sa_flags |= SA_ONSTACK; |
195 if ((ssa->sa_flags & SVR4_SA_RESETHAND) != 0) | 195 if ((ssa->ssa_flags & SVR4_SA_RESETHAND) != 0) |
196 bsa->sa_flags |= SA_RESETHAND; | 196 bsa->sa_flags |= SA_RESETHAND; |
197 if ((ssa->sa_flags & SVR4_SA_RESTART) != 0) | 197 if ((ssa->ssa_flags & SVR4_SA_RESTART) != 0) |
198 bsa->sa_flags |= SA_RESTART; | 198 bsa->sa_flags |= SA_RESTART; |
199 if ((ssa->sa_flags & SVR4_SA_SIGINFO) != 0) | 199 if ((ssa->ssa_flags & SVR4_SA_SIGINFO) != 0) |
200 DPRINTF(("svr4_to_bsd_sigaction: SA_SIGINFO ignored\n")); | 200 DPRINTF(("svr4_to_bsd_sigaction: SA_SIGINFO ignored\n")); |
201 if ((ssa->sa_flags & SVR4_SA_NOCLDSTOP) != 0) | 201 if ((ssa->ssa_flags & SVR4_SA_NOCLDSTOP) != 0) |
202 bsa->sa_flags |= SA_NOCLDSTOP; | 202 bsa->sa_flags |= SA_NOCLDSTOP; |
203 if ((ssa->sa_flags & SVR4_SA_NODEFER) != 0) | 203 if ((ssa->ssa_flags & SVR4_SA_NODEFER) != 0) |
204 bsa->sa_flags |= SA_NODEFER; | 204 bsa->sa_flags |= SA_NODEFER; |
205 if ((ssa->sa_flags & SVR4_SA_NOCLDWAIT) != 0) | 205 if ((ssa->ssa_flags & SVR4_SA_NOCLDWAIT) != 0) |
206 bsa->sa_flags |= SA_NOCLDWAIT; | 206 bsa->sa_flags |= SA_NOCLDWAIT; |
207 if ((ssa->sa_flags & ~SVR4_SA_ALLBITS) != 0) | 207 if ((ssa->ssa_flags & ~SVR4_SA_ALLBITS) != 0) |
208 DPRINTF(("svr4_to_bsd_sigaction: extra bits ignored\n")); 209} 210 211void 212bsd_to_svr4_sigaction(bsa, ssa) 213 const struct sigaction *bsa; 214 struct svr4_sigaction *ssa; 215{ 216 | 208 DPRINTF(("svr4_to_bsd_sigaction: extra bits ignored\n")); 209} 210 211void 212bsd_to_svr4_sigaction(bsa, ssa) 213 const struct sigaction *bsa; 214 struct svr4_sigaction *ssa; 215{ 216 |
217 ssa->sa_handler = (svr4_sig_t) bsa->sa_handler; 218 bsd_to_svr4_sigset(&bsa->sa_mask, &ssa->sa_mask); 219 ssa->sa_flags = 0; | 217 ssa->ssa_handler = (svr4_sig_t) bsa->sa_handler; 218 bsd_to_svr4_sigset(&bsa->sa_mask, &ssa->ssa_mask); 219 ssa->ssa_flags = 0; |
220 if ((bsa->sa_flags & SA_ONSTACK) != 0) | 220 if ((bsa->sa_flags & SA_ONSTACK) != 0) |
221 ssa->sa_flags |= SVR4_SA_ONSTACK; | 221 ssa->ssa_flags |= SVR4_SA_ONSTACK; |
222 if ((bsa->sa_flags & SA_RESETHAND) != 0) | 222 if ((bsa->sa_flags & SA_RESETHAND) != 0) |
223 ssa->sa_flags |= SVR4_SA_RESETHAND; | 223 ssa->ssa_flags |= SVR4_SA_RESETHAND; |
224 if ((bsa->sa_flags & SA_RESTART) != 0) | 224 if ((bsa->sa_flags & SA_RESTART) != 0) |
225 ssa->sa_flags |= SVR4_SA_RESTART; | 225 ssa->ssa_flags |= SVR4_SA_RESTART; |
226 if ((bsa->sa_flags & SA_NODEFER) != 0) | 226 if ((bsa->sa_flags & SA_NODEFER) != 0) |
227 ssa->sa_flags |= SVR4_SA_NODEFER; | 227 ssa->ssa_flags |= SVR4_SA_NODEFER; |
228 if ((bsa->sa_flags & SA_NOCLDSTOP) != 0) | 228 if ((bsa->sa_flags & SA_NOCLDSTOP) != 0) |
229 ssa->sa_flags |= SVR4_SA_NOCLDSTOP; | 229 ssa->ssa_flags |= SVR4_SA_NOCLDSTOP; |
230} 231 232void 233svr4_to_bsd_sigaltstack(sss, bss) 234 const struct svr4_sigaltstack *sss; 235 struct sigaltstack *bss; 236{ 237 --- 386 unchanged lines hidden --- | 230} 231 232void 233svr4_to_bsd_sigaltstack(sss, bss) 234 const struct svr4_sigaltstack *sss; 235 struct sigaltstack *bss; 236{ 237 --- 386 unchanged lines hidden --- |