diff options
author | Christopher Faylor <me@cgf.cx> | 2012-07-02 06:24:25 +0400 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2012-07-02 06:24:25 +0400 |
commit | 1809b65e23777b594936915264cc0bcfb78ff622 (patch) | |
tree | 8ea4e665f6c9e38ef5ec18fc947a75ad2cfd4b66 /winsup/cygwin/signal.cc | |
parent | c4441d46b60ea0b7476fb1b1c053037010b3ef88 (diff) |
* Makefile.in: Add some more optimization flags for cygwait, malloc and path. Explain
why -fomit-frame-pointer doesn't work right for passwd.o and path.o. Add
-static to link command line for cygwin0.dll.
* fhandler_disk_file.cc (fhandler_disk_file::facl): Reorganize slightly to
silence compiler warning when compiling with -fstack-check.
* net.cc (inet_ntop6): Initialize structure members to silence compiler warning
when compiling with -fstack-check.
* pseudo-reloc.cc (_pei386_runtime_relocator): Make this a C function. Detect
NULL u.
* winsup.h (_pei386_runtime_relocator): Declare this as extern "C".
* lib/_cygwin_crt0_common.cc (_pei386_runtime_relocator): Call with NULL
argument.
* signal.cc (sigaction_worker): Eliminate last argument. Let callers report
their own strace info. Regparmize.
(sigaction): Reflect sigaction_worker changes.
(siginterrupt): Ditto.
* exceptions.cc: Update copyright.
Diffstat (limited to 'winsup/cygwin/signal.cc')
-rw-r--r-- | winsup/cygwin/signal.cc | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/winsup/cygwin/signal.cc b/winsup/cygwin/signal.cc index a62c038cd..3fac7cbb0 100644 --- a/winsup/cygwin/signal.cc +++ b/winsup/cygwin/signal.cc @@ -26,7 +26,7 @@ details. */ #define _SA_NORESTART 0x8000 -static int sigaction_worker (int, const struct sigaction *, struct sigaction *, bool, const char *) +static int sigaction_worker (int, const struct sigaction *, struct sigaction *, bool) __attribute__ ((regparm (3))); #define sigtrapped(func) ((func) != SIG_IGN && (func) != SIG_DFL) @@ -390,9 +390,9 @@ abort (void) do_exit (SIGABRT); /* signal handler didn't exit. Goodbye. */ } -static int +static int __attribute__ ((regparm (3))) sigaction_worker (int sig, const struct sigaction *newact, - struct sigaction *oldact, bool isinternal, const char *fnname) + struct sigaction *oldact, bool isinternal) { int res = -1; myfault efault; @@ -445,14 +445,15 @@ sigaction_worker (int sig, const struct sigaction *newact, } out: - syscall_printf ("%R = %s(%d, %p, %p)", res, fnname, sig, newact, oldact); return res; } extern "C" int sigaction (int sig, const struct sigaction *newact, struct sigaction *oldact) { - return sigaction_worker (sig, newact, oldact, false, "sigaction"); + int res = sigaction_worker (sig, newact, oldact, false); + syscall_printf ("%R = sigaction(%d, %p, %p)", res, sig, newact, oldact); + return res; } extern "C" int @@ -549,7 +550,9 @@ siginterrupt (int sig, int flag) act.sa_flags &= ~_SA_NORESTART; act.sa_flags |= SA_RESTART; } - return sigaction_worker (sig, &act, NULL, true, "siginterrupt"); + int res = sigaction_worker (sig, &act, NULL, true); + syscall_printf ("%R = siginterrupt(%d, %p)", sig, flag); + return res; } extern "C" int |