Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2012-07-02 06:24:25 +0400
committerChristopher Faylor <me@cgf.cx>2012-07-02 06:24:25 +0400
commit1809b65e23777b594936915264cc0bcfb78ff622 (patch)
tree8ea4e665f6c9e38ef5ec18fc947a75ad2cfd4b66 /winsup/cygwin/signal.cc
parentc4441d46b60ea0b7476fb1b1c053037010b3ef88 (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.cc15
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