summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2010-03-31 18:06:02 +0000
committerChristopher Faylor <me@cgf.cx>2010-03-31 18:06:02 +0000
commitbc3f0d64c98c361b5183def1a7ec1d6964607660 (patch)
tree4c6d18a28968446dd9376de70fff57ed406cd0c8
parente446d6d0f46722c6303f7c0dfbde27009d35045a (diff)
downloadcygnal-bc3f0d64c98c361b5183def1a7ec1d6964607660.tar.gz
cygnal-bc3f0d64c98c361b5183def1a7ec1d6964607660.tar.bz2
cygnal-bc3f0d64c98c361b5183def1a7ec1d6964607660.zip
* sigproc.cc (wait_sig): Make sure that strace is activated on __SIGSTRACE by
calling new strace::activate function. * strace.cc (strace::activate): Rename from strace::strace. * strace.h (strace::activate): Define new function. (strace::strace): Call activate.
-rw-r--r--winsup/cygwin/ChangeLog8
-rw-r--r--winsup/cygwin/include/sys/strace.h3
-rw-r--r--winsup/cygwin/sigproc.cc1
-rw-r--r--winsup/cygwin/strace.cc3
4 files changed, 13 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 5e8253ccd..734001f8e 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,13 @@
2010-03-31 Christopher Faylor <me+cygwin@cgf.cx>
+ * sigproc.cc (wait_sig): Make sure that strace is activated on
+ __SIGSTRACE by calling new strace::activate function.
+ * strace.cc (strace::activate): Rename from strace::strace.
+ * strace.h (strace::activate): Define new function.
+ (strace::strace): Call activate.
+
+2010-03-31 Christopher Faylor <me+cygwin@cgf.cx>
+
* fhandler.h (fhandler_base_overlapped): Temporarily (?) make
select_pipe_info a friend until the fhandler_tty intertangling can be
worked out.
diff --git a/winsup/cygwin/include/sys/strace.h b/winsup/cygwin/include/sys/strace.h
index 683cde0a6..376cf7ac6 100644
--- a/winsup/cygwin/include/sys/strace.h
+++ b/winsup/cygwin/include/sys/strace.h
@@ -39,7 +39,8 @@ class strace
void write (unsigned category, const char *buf, int count);
unsigned char _active;
public:
- strace ();
+ void activate ();
+ strace () {activate ();}
int microseconds ();
int version;
int lmicrosec;
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc
index cb70568fa..74e96ce30 100644
--- a/winsup/cygwin/sigproc.cc
+++ b/winsup/cygwin/sigproc.cc
@@ -1224,6 +1224,7 @@ wait_sig (VOID *)
talktome (&pack.si);
break;
case __SIGSTRACE:
+ strace.activate ();
strace.hello ();
break;
case __SIGPENDING:
diff --git a/winsup/cygwin/strace.cc b/winsup/cygwin/strace.cc
index fb62e29dc..beba5b335 100644
--- a/winsup/cygwin/strace.cc
+++ b/winsup/cygwin/strace.cc
@@ -31,7 +31,8 @@ class strace NO_COPY strace;
#ifndef NOSTRACE
-strace::strace ()
+void
+strace::activate ()
{
if (!dynamically_loaded && !_active && being_debugged ())
{