summaryrefslogtreecommitdiffstats
path: root/runtime/staprun
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@elastic.org>2008-04-25 16:33:24 -0400
committerFrank Ch. Eigler <fche@elastic.org>2008-04-25 16:33:24 -0400
commit76d647dc1fdf1d6bb4397f4a3b819003492dfda6 (patch)
tree51b9d7a1f0ee75a41c487828d5e62c6a70b7fd28 /runtime/staprun
parentc47ccf304e6560cb50c86c2a5213c8de56678449 (diff)
parent9f99b110fbee8a6935ca60c152cc3c7cd809461b (diff)
downloadsystemtap-steved-76d647dc1fdf1d6bb4397f4a3b819003492dfda6.tar.gz
systemtap-steved-76d647dc1fdf1d6bb4397f4a3b819003492dfda6.tar.xz
systemtap-steved-76d647dc1fdf1d6bb4397f4a3b819003492dfda6.zip
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap into pr6429-comp-unwindsyms
* 'master' of ssh://sources.redhat.com/git/systemtap: simplify systemtap.spec configuration vars Handles markers with no format string. Fixed task_finder.c kernel 2.6.25 change. PR6454: fix "stap -l" listing of space-laden probe point names Move examples to testsuite/systemtap.examples. PR6451: avoid one class of staprun shutdown deadlock (module/.ctl filehandle = 0) Made kernel 2.6.25 changes in task_finder.c. Move examples to testsuite/systemtap.examples PR6416: extend probing blacklist with more init/exit sections
Diffstat (limited to 'runtime/staprun')
-rw-r--r--runtime/staprun/ChangeLog6
-rw-r--r--runtime/staprun/common.c2
-rw-r--r--runtime/staprun/ctl.c4
3 files changed, 9 insertions, 3 deletions
diff --git a/runtime/staprun/ChangeLog b/runtime/staprun/ChangeLog
index f1abd736..9e0ccb73 100644
--- a/runtime/staprun/ChangeLog
+++ b/runtime/staprun/ChangeLog
@@ -1,3 +1,9 @@
+2008-04-24 Frank Ch. Eigler <fche@elastic.org>
+
+ PR 6451.
+ * common.c (control_channel): Initialize to -1.
+ * ctl.c (close_ctl_channel): Tolerate fd=0.
+
2008-04-22 Martin Hunt <hunt@redhat.com>
* cap.c (init_cap): Detect capabilities failure and
diff --git a/runtime/staprun/common.c b/runtime/staprun/common.c
index f8fc418c..b716d27f 100644
--- a/runtime/staprun/common.c
+++ b/runtime/staprun/common.c
@@ -31,7 +31,7 @@ char *modname = NULL;
char *modpath = "";
char *modoptions[MAXMODOPTIONS];
-int control_channel = 0;
+int control_channel = -1; /* NB: fd==0 possible */
void parse_args(int argc, char **argv)
{
diff --git a/runtime/staprun/ctl.c b/runtime/staprun/ctl.c
index 15c5c3d3..4597bf72 100644
--- a/runtime/staprun/ctl.c
+++ b/runtime/staprun/ctl.c
@@ -46,8 +46,8 @@ int init_ctl_channel(const char *name, int verb)
void close_ctl_channel(void)
{
- if (control_channel > 0) {
+ if (control_channel >= 0) {
close(control_channel);
- control_channel = 0;
+ control_channel = -1;
}
}