Bert, thanks for the info.

After adding calls to uv_close on the close_cb of my uv_process_t, all
my problems were fixed!

On Wed, Oct 22, 2014 at 11:10 PM, Bert Belder <[email protected]> wrote:
>> Is it guaranteed that the last callback of a process will be the
>> `uv_process_t.exit_cb`? I need to know this to determine when the process
>> handles can be safely closed.
>
> You should explicitly close the stdio pipes.
>
> Read callbacks can indeed come in after the exit_cb is fired. Sometimes data
> may still be lingering in the stdout/stderr pipes which will be flushed
> after the exit callback.
>
> You have to realize that there are scenarios in which the pipes stay open
> long after the process exits. This may for example happen when the child
> process creates another process that inherits the child's stdio pipes. The
> grand-child may outlive it's parent.
>
> - Bert
>
>
> On Monday, July 7, 2014 12:38:27 PM UTC-7, Thiago Arruda wrote:
>>
>> When a process is spawned with stdout/stderr connected to pipes, there are
>> three associated callbacks:
>>
>> - One for stdout data
>> - One for stderr data
>> - One for when the process exits.
>>
>> When a stream reaches EOF, it's read callback will be invoked with an
>> error set. That means when a process exits, all three callbacks will be
>> invoked.
>>
>> Is it guaranteed that the last callback of a process will be the
>> `uv_process_t.exit_cb`? I need to know this to determine when the process
>> handles can be safely closed.
>>
>> Thanks in advance
>>
>> Thiago.
>
> --
> You received this message because you are subscribed to the Google Groups
> "libuv" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/libuv.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"libuv" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/libuv.
For more options, visit https://groups.google.com/d/optout.

Reply via email to