summaryrefslogtreecommitdiffstats
path: root/runtime/transport/relayfs.c
diff options
context:
space:
mode:
authorDavid Smith <dsmith@redhat.com>2009-06-18 16:42:35 -0500
committerDavid Smith <dsmith@redhat.com>2009-06-18 16:42:35 -0500
commit7b1be319b40ec791c4fdbe77065204a4c3ed439b (patch)
tree3bfe79e23e13873e7e07b5968ab87b05124cb621 /runtime/transport/relayfs.c
parentf530a9fec01f287d42072632d5607d5fa275479d (diff)
downloadsystemtap-steved-7b1be319b40ec791c4fdbe77065204a4c3ed439b.tar.gz
systemtap-steved-7b1be319b40ec791c4fdbe77065204a4c3ed439b.tar.xz
systemtap-steved-7b1be319b40ec791c4fdbe77065204a4c3ed439b.zip
Transports now export their state.
* runtime/transport/transport.h: Added prototype for _stp_transport_get_state(). * runtime/transport/relay_v2.c (_stp_transport_get_state): New function. * runtime/transport/relayfs.c (_stp_transport_get_state): Ditto. * runtime/transport/ring_buffer.c (_stp_transport_data_fs_init): Sets state. (_stp_transport_data_fs_start): Ditto. (_stp_transport_data_fs_stop): Ditto. (_stp_transport_get_state): Returns state. * runtime/print_new.c (stp_print_flush): Checks transport state before trying to flush.
Diffstat (limited to 'runtime/transport/relayfs.c')
-rw-r--r--runtime/transport/relayfs.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/runtime/transport/relayfs.c b/runtime/transport/relayfs.c
index c557efbc..338b2771 100644
--- a/runtime/transport/relayfs.c
+++ b/runtime/transport/relayfs.c
@@ -23,12 +23,6 @@
#include <linux/relayfs_fs.h>
#include <linux/namei.h>
-enum _stp_transport_state {
- STP_TRANSPORT_STOPPED,
- STP_TRANSPORT_INITIALIZED,
- STP_TRANSPORT_RUNNING,
-};
-
struct _stp_relay_data_type {
enum _stp_transport_state transport_state;
struct rchan *rchan;
@@ -136,6 +130,11 @@ err:
return rc;
}
+static enum _stp_transport_state _stp_transport_get_state(void)
+{
+ return _stp_relay_data.transport_state;
+}
+
static void _stp_transport_data_fs_overwrite(int overwrite)
{
_stp_relay_data.rchan->overwrite = overwrite;