diff options
Diffstat (limited to 'runtime/transport')
-rw-r--r-- | runtime/transport/ChangeLog | 8 | ||||
-rw-r--r-- | runtime/transport/relayfs.c | 8 | ||||
-rw-r--r-- | runtime/transport/transport.c | 7 | ||||
-rw-r--r-- | runtime/transport/utt.c | 7 | ||||
-rw-r--r-- | runtime/transport/utt.h | 2 |
5 files changed, 25 insertions, 7 deletions
diff --git a/runtime/transport/ChangeLog b/runtime/transport/ChangeLog index 4872fa11..ee34ef19 100644 --- a/runtime/transport/ChangeLog +++ b/runtime/transport/ChangeLog @@ -1,3 +1,11 @@ +2007-11-09 Martin Hunt <hunt@redhat.com> + PR 5281 + * transport.c (_stp_detach, _stp_attach): Call utt_set_overwrite() + instead of setting a flag directly. + * utt.c (utt_set_overwrite): New. Set overwrite mode. + * relayfs.c (utt_set_overwrite): New. Set overwrite mode. + * utt.h: Remove global utt_overwrite_flag. + 2007-11-01 Martin Hunt <hunt@redhat.com> * procfs.c, control.c, transport.c: Recognize when stapio diff --git a/runtime/transport/relayfs.c b/runtime/transport/relayfs.c index 28bb0e65..2c7ca754 100644 --- a/runtime/transport/relayfs.c +++ b/runtime/transport/relayfs.c @@ -1,5 +1,5 @@ /* -*- linux-c -*- - * relayfs.c - relayfstransport functions + * relayfs.c - relayfs transport functions * * Copyright (C) IBM Corporation, 2005, 2006 * Copyright (C) Red Hat Inc, 2005, 2006, 2007 @@ -122,6 +122,12 @@ err: return NULL; } +void utt_set_overwrite(int overwrite) +{ + if (_stp_utt) + _stp_utt->rchan->overwrite = overwrite; +} + int utt_trace_startstop(struct utt_trace *utt, int start, unsigned int *trace_seq) { diff --git a/runtime/transport/transport.c b/runtime/transport/transport.c index 0a959917..9aa26b79 100644 --- a/runtime/transport/transport.c +++ b/runtime/transport/transport.c @@ -21,13 +21,14 @@ #include "symbols.c" #include "../procfs.c" +static struct utt_trace *_stp_utt = NULL; + #ifdef STP_OLD_TRANSPORT #include "relayfs.c" #else #include "utt.c" #endif -static struct utt_trace *_stp_utt = NULL; static unsigned int utt_seq = 1; static int _stp_start_finished = 0; @@ -153,7 +154,7 @@ static void _stp_detach(void) _stp_pid = 0; if (!_stp_exit_flag) - utt_overwrite_flag = 1; + utt_set_overwrite(1); cancel_delayed_work(&_stp_work); wake_up_interruptible(&_stp_ctl_wq); @@ -167,7 +168,7 @@ static void _stp_attach(void) kbug("attach\n"); _stp_attached = 1; _stp_pid = current->pid; - utt_overwrite_flag = 0; + utt_set_overwrite(0); queue_delayed_work(_stp_wq, &_stp_work, STP_WORK_TIMER); } diff --git a/runtime/transport/utt.c b/runtime/transport/utt.c index 0871266a..ac2e1513 100644 --- a/runtime/transport/utt.c +++ b/runtime/transport/utt.c @@ -29,7 +29,12 @@ #include <linux/relay.h> #include "utt.h" -int utt_overwrite_flag = 0; +static int utt_overwrite_flag = 0; + +void utt_set_overwrite(int overwrite) +{ + utt_overwrite_flag = overwrite; +} static void utt_remove_root(struct utt_trace *utt) { diff --git a/runtime/transport/utt.h b/runtime/transport/utt.h index 00da0f7e..b2c9fa9f 100644 --- a/runtime/transport/utt.h +++ b/runtime/transport/utt.h @@ -39,6 +39,4 @@ extern int utt_trace_startstop(struct utt_trace *utt, int start, extern void utt_trace_cleanup(struct utt_trace *utt); extern int utt_trace_remove(struct utt_trace *utt); -extern int utt_overwrite_flag; - #endif |