X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=liblttng-ust-ctl%2Fustctl.c;h=c11deb6c3d18aeba0538ea890638184a069f7839;hb=02a15cfb0d1fbff3960e184e901c297588b215f0;hp=2d915260c8c522a2ac919b58a1222d48ec0c072c;hpb=b52190f262330b5ffbbdd49f1190114e68004069;p=lttng-ust.git diff --git a/liblttng-ust-ctl/ustctl.c b/liblttng-ust-ctl/ustctl.c index 2d915260..c11deb6c 100644 --- 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); + /* + * 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; } @@ -649,12 +655,11 @@ int ustctl_put_subbuf(struct lttng_ust_shm_handle *handle, return 0; } -int ustctl_flush_buffer(struct lttng_ust_shm_handle *handle, +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, producer_active ? SWITCH_ACTIVE : SWITCH_FLUSH, handle); - return 0; }