I agree with all you're saying here...
... except that this case makes no sense in the first place. A consumer
and a non-consumer are fundamentally different things.
A running service that is not a consumer does not read anything on its
stdin. It runs autonomously.
A consumer, by essence,
A simple script to demonstrate this problem is attached below.
It appears that s6-rc-update will neglect to create the needed pipes in the
following situation:
1. A service X is already running before s6-rc-update is invoked
2. Service X was not the consumer-for any other service prior to