projects
/
lttng-ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
flush buffer returns void
[lttng-ust.git]
/
liblttng-ust-ctl
/
ustctl.c
diff --git
a/liblttng-ust-ctl/ustctl.c
b/liblttng-ust-ctl/ustctl.c
index 886e8485bc8cf683736b52b788d04e9cfdc0f1cf..c11deb6c3d18aeba0538ea890638184a069f7839 100644
(file)
--- a/
liblttng-ust-ctl/ustctl.c
+++ b/
liblttng-ust-ctl/ustctl.c
@@
-449,6
+449,12
@@
struct lttng_ust_shm_handle *ustctl_map_channel(struct lttng_ust_object_data *ch
return NULL;
}
memcpy(handle->shadow_chan, chan, chan_size);
return NULL;
}
memcpy(handle->shadow_chan, chan, chan_size);
+ /*
+ * The callback pointers in the producer are invalid in the
+ * consumer. Zero them out.
+ */
+ memset(&handle->shadow_chan->backend.config.cb, 0,
+ sizeof(handle->shadow_chan->backend.config.cb));
return handle;
}
return handle;
}
@@
-649,9
+655,11
@@
int ustctl_put_subbuf(struct lttng_ust_shm_handle *handle,
return 0;
}
return 0;
}
-int ustctl_flush_buffer(struct lttng_ust_shm_handle *handle,
- struct lttng_ust_lib_ring_buffer *buf)
+void ustctl_flush_buffer(struct lttng_ust_shm_handle *handle,
+ struct lttng_ust_lib_ring_buffer *buf,
+ int producer_active)
{
{
- lib_ring_buffer_switch_slow(buf, SWITCH_ACTIVE, handle);
- return 0;
+ lib_ring_buffer_switch_slow(buf,
+ producer_active ? SWITCH_ACTIVE : SWITCH_FLUSH,
+ handle);
}
}
This page took
0.023335 seconds
and
4
git commands to generate.