summaryrefslogtreecommitdiffstats
path: root/runtime/transport
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/transport')
-rw-r--r--runtime/transport/ChangeLog6
-rw-r--r--runtime/transport/procfs.c2
-rw-r--r--runtime/transport/transport.c2
-rw-r--r--runtime/transport/transport_msgs.h1
4 files changed, 11 insertions, 0 deletions
diff --git a/runtime/transport/ChangeLog b/runtime/transport/ChangeLog
index 83ccda7d..71fc2fdb 100644
--- a/runtime/transport/ChangeLog
+++ b/runtime/transport/ChangeLog
@@ -1,3 +1,9 @@
+2006-09-25 Tom Zanussi <zanussi@us.ibm.com>
+
+ * procfs.c (_stp_proc_read): Set buf_info flushing flag.
+ * transport.c (_stp_cleanup_and_exit): Remove braces.
+ * transport_msgs.h: Add flushing flag to buf_info.
+
2006-09-22 Martin Hunt <hunt@redhat.com>
* transport.c (_stp_work_queue): Reenable some cleanup
diff --git a/runtime/transport/procfs.c b/runtime/transport/procfs.c
index 90ceb58b..b0b03a73 100644
--- a/runtime/transport/procfs.c
+++ b/runtime/transport/procfs.c
@@ -18,6 +18,7 @@ spinlock_t _stp_pool_lock = SPIN_LOCK_UNLOCKED;
spinlock_t _stp_ready_lock = SPIN_LOCK_UNLOCKED;
#ifdef STP_RELAYFS
+extern int _stp_relay_flushing;
/* handle the per-cpu subbuf info read for relayfs */
static ssize_t
_stp_proc_read (struct file *file, char __user *buf, size_t count, loff_t *ppos)
@@ -38,6 +39,7 @@ _stp_proc_read (struct file *file, char __user *buf, size_t count, loff_t *ppos)
out.produced = atomic_read(&_stp_chan->buf[cpu]->subbufs_produced);
out.consumed = atomic_read(&_stp_chan->buf[cpu]->subbufs_consumed);
#endif /* RELAYFS_CHANNEL_VERSION >= 4 || CONFIG_RELAY */
+ out.flushing = _stp_relay_flushing;
num = sizeof(out);
if (copy_to_user(buf, &out, num))
diff --git a/runtime/transport/transport.c b/runtime/transport/transport.c
index 9277afca..c0684ae4 100644
--- a/runtime/transport/transport.c
+++ b/runtime/transport/transport.c
@@ -22,6 +22,7 @@
#include "relayfs.c"
static struct rchan *_stp_chan;
static struct dentry *_stp_dir;
+int _stp_relay_flushing = 0;
#endif
static atomic_t _stp_start_finished = ATOMIC_INIT (0);
@@ -144,6 +145,7 @@ static void _stp_cleanup_and_exit (int dont_rmmod)
#ifdef STP_RELAYFS
if (_stp_transport_mode == STP_TRANSPORT_RELAYFS) {
+ _stp_relay_flushing = 1;
relay_flush(_stp_chan);
}
#endif
diff --git a/runtime/transport/transport_msgs.h b/runtime/transport/transport_msgs.h
index a060b414..6d0b2c34 100644
--- a/runtime/transport/transport_msgs.h
+++ b/runtime/transport/transport_msgs.h
@@ -24,6 +24,7 @@ struct buf_info
int cpu;
unsigned produced;
unsigned consumed;
+ int flushing;
};
struct consumed_info