diff --git a/examples/twoway/decimating.c b/examples/twoway/decimating.c index 705f4cec837bdd8aeeb4585881f8bd19ec09449a..f6696dbaeb6e73669b1941dd36dc31382ed00f69 100644 --- a/examples/twoway/decimating.c +++ b/examples/twoway/decimating.c @@ -111,7 +111,7 @@ static int wrap_reader_start( { struct decimating_private *decimating = action_context->context; - if (value == NULL) { + if (value == NULL && local_index != 0) { int *decimation, amount; labcomm2014_scheduler_data_lock(decimating->scheduler); diff --git a/examples/twoway/introspecting.c b/examples/twoway/introspecting.c index 87bffeb4f6b4a6c7dc6eb135e1a8245e95c700f4..6491dc6a022df89c45161478f2b0869aa62813f2 100644 --- a/examples/twoway/introspecting.c +++ b/examples/twoway/introspecting.c @@ -161,7 +161,7 @@ static int wrap_reader_start( { struct introspecting_private *introspecting = action_context->context; - if (value == NULL) { + if (value == NULL && local_index != 0) { struct handles_signature *handles_signature; handles_signature = labcomm2014_memory_alloc(introspecting->memory, 1, diff --git a/lib/c/2014/labcomm2014_decoder.c b/lib/c/2014/labcomm2014_decoder.c index 5b6418251f3bf09d345d5fdb0cafa922d9f24415..b38de4051862e8e4c5b4eed5e415ff2732d20acc 100644 --- a/lib/c/2014/labcomm2014_decoder.c +++ b/lib/c/2014/labcomm2014_decoder.c @@ -358,6 +358,10 @@ static int do_decode_one(struct labcomm2014_decoder *d) if (result < 0) { goto out; } + labcomm2014_reader_start(d->reader, d->reader->action_context, + 0, 0, NULL, NULL); + labcomm2014_reader_end(d->reader, d->reader->action_context); + } else if (! d->version_ok) { DEBUG_FPRINTF(stderr, "No VERSION %d %d\n", remote_index, length); result = -ECONNRESET;