X-Git-Url: https://git.saurik.com/apple/libc.git/blobdiff_plain/e3cf15b684ccf1496b6a682c8d46192674711eb2..9385eb3d10ebe5eb398c52040ec3dbfba9b0cdcf:/gen/FreeBSD/signal.c.patch diff --git a/gen/FreeBSD/signal.c.patch b/gen/FreeBSD/signal.c.patch new file mode 100644 index 0000000..c4169f4 --- /dev/null +++ b/gen/FreeBSD/signal.c.patch @@ -0,0 +1,53 @@ +--- signal.c.orig Thu Jan 31 16:57:29 2002 ++++ signal.c Fri May 16 14:16:12 2003 +@@ -47,10 +47,13 @@ + + sigset_t _sigintr; /* shared with siginterrupt */ + +-sig_t +-signal(s, a) ++extern int _sigaction_nobind (int sig, const struct sigaction *nsv, struct sigaction *osv); ++ ++static sig_t ++signal__(s, a, bind) + int s; + sig_t a; ++ int bind; + { + struct sigaction sa, osa; + +@@ -59,7 +62,34 @@ + sa.sa_flags = 0; + if (!sigismember(&_sigintr, s)) + sa.sa_flags |= SA_RESTART; ++#if defined(__DYNAMIC__) ++ if (bind) { ++#endif /* __DYNAMIC__ */ + if (_sigaction(s, &sa, &osa) < 0) + return (SIG_ERR); ++#if defined(__DYNAMIC__) ++ } else { ++ if (_sigaction_nobind(s, &sa, &osa) < 0) ++ return (SIG_ERR); ++ } ++#endif /* __DYNAMIC__ */ + return (osa.sa_handler); + } ++ ++sig_t ++signal(s, a) ++ int s; ++ sig_t a; ++{ ++ return signal__(s, a, 1); ++} ++ ++#if defined(__DYNAMIC__) ++sig_t ++_signal_nobind(s, a) ++ int s; ++ sig_t a; ++{ ++ return signal__(s, a, 0); ++} ++#endif /* __DYNAMIC__ */