On 15/02/2016 10:55, Jan Olszak wrote:
> The fdmove 1 3 operation shouts:
> fdmove: fatal: unable to move fd 3 to fd 1: Bad file descriptor
That means fd 3 is not open. You need to have a notification-fd
file that contains "3".
> If I comment this line out everything's OK. But I lose the notification
> feature, that I'm not yet using.
Even if you're not using the notification feature, it doesn't hurt to
specify a notification-fd for services that support it.
Breaking down parts of the run script:
"fdmove 1 3" says that everything that's written to stdout from now on
will now be written to what was known as file descriptor 3. This means
that fd 3 needs to be open for writing.
The "-1" option to s6-ipcserver means that s6-ipcserver will write a
newline to its stdout when it's ready. So it will notify readiness to
the file descriptor that was known as 3 before running the script.
So you need to have a proper notification-fd file containing 3. If
you don't, fd 3 won't be open, and "fdmove 1 3" will fail.
Don't worry about publishing readiness notifications even if nobody is
listening. Publishing is a very light operation.
--
Laurent
Received on Mon Feb 15 2016 - 10:20:40 UTC