Okay, thanks for the info, changing our code to proc.on('close') seems
to have resolved that issue, sorry I didn't notice the difference in
the docs, and the docs do not seem to include that very handy list of
changes (though it was in the email, I apparently skimmed over it as I
do all links in emails...).
Two other issues I'm running into with node 0.7.10 on Linux:
setTimeout with times > 350ms or so sometimes don't get called. A one-
line .js file: setTimeout(console.log, 1000, 'Test'); appears to never
display the message nor exit, about 1 in 5 times I run it.
fs.readFileSync('/proc/stat') (and async variants) now return an empty
buffer all the time, previously would return the same as running 'cat /
proc/stat'. Same with reading any other procfs file, no problem on
non-procfs files, AFAICT.
Jimb Esser
On Jun 11, 12:52 pm, Isaac Schlueter <[email protected]> wrote:
> The reasoning:
>
> When sharing file descriptors with child process stdio, this became
> very complicated. You could have a child process share its stdout
> with the parent's stdout, for example.
>
> What to do in this case? Never emit "exit" at all? What if the
> parent needs to know when the child is done processing?
>
> It led to some really awful complicated logic in many relatively
> common use cases. We opted to make things more explicit and simple by
> adding a "close" event which indicates that the stdio is closed, and
> an "exit" event which indicates that the child has exited.
>
>
>
>
>
>
>
> On Mon, Jun 11, 2012 at 12:49 PM, Marco Rogers <[email protected]> wrote:
> > See the changes to child_process
> > here. https://github.com/joyent/node/wiki/API-changes-between-v0.6-and-v0.8
>
> > It seems like exit doesn't wait for the i/o pipes to close anymore. There's
> > a new "close" event that might work better. I don't know the history of his
> > change though so YMMV.
>
> > :Marco
>
> > On Monday, June 11, 2012 12:42:32 PM UTC-7, Jimb Esser wrote:
>
> >> I'm trying out the new node version (previously on 0.6.*), and I'm
> >> running into issues where processes spawned with child_process emit
> >> their 'exit' event before their stdout/stderr 'data' events
> >> (previously it seemed to always emit all data events before exiting),
> >> causing all sorts of problems with our servers. Is this expected?
> >> Always that way and we were just lucky before? Some undocumented API
> >> change? Bug from the other child_process changes?
>
> >> This is on Linux, and, unfortunately, doesn't seem to reproduce in a
> >> trivial test case, just when spawning processes when lots of other
> >> stuff is going on.
>
> >> On Jun 11, 8:59 am, Isaac Schlueter <[email protected]> wrote:
> >> > 2012.06.11, Version 0.7.10 (unstable)
>
> >> > This is the second-to-last release on the 0.7 branch. Version 0.8.0
> >> > will be released some time next week. As other even-numbered Node
> >> > releases before it, the v0.8.x releases will maintain API and binary
> >> > compatibility.
>
> >> > The major changes are detailed
> >> > inhttps://github.com/joyent/node/wiki/API-changes-between-v0.6-and-v0.8
>
> >> > Please try out this release. There will be very few changes between
> >> > this and the v0.8.x release family. This is the last chance to comment
> >> > on the API before it is locked down for stability.
>
> >> > * Roll V8 back to 3.9.24.31
>
> >> > * build: x64 target should always pass -m64 (Robert Mustacchi)
>
> >> > * add NODE_EXTERN to node::Start (Joel Brandt)
>
> >> > * repl: Warn about running npm commands (isaacs)
>
> >> > * slab_allocator: fix crash in dtor if V8 is dead (Ben Noordhuis)
>
> >> > * slab_allocator: fix leak of Persistent handles (Shigeki Ohtsu)
>
> >> > * windows/msi: add node.js prompt to startmenu (Jeroen Janssen)
>
> >> > * windows/msi: fix adding node to PATH (Jeroen Janssen)
>
> >> > * windows/msi: add start menu links when installing (Jeroen Janssen)
>
> >> > * windows: don't install x64 version into the 'program files (x86)'
> >> > folder (Matt Gollob)
>
> >> > * domain: Fix #3379 domain.intercept no longer passes error arg to cb
> >> > (Marc Harter)
>
> >> > * fs: make callbacks run in global context (Ben Noordhuis)
>
> >> > * fs: enable fs.realpath on windows (isaacs)
>
> >> > * child_process: expose UV_PROCESS_DETACHED as options.detached
> >> > (Charlie McConnell)
>
> >> > * child_process: new stdio API for .spawn() method (Fedor Indutny)
>
> >> > * child_process: spawn().ref() and spawn().unref() (Fedor Indutny)
>
> >> > * Upgrade npm to 1.1.25
> >> > - Enable npm link on windows
> >> > - Properly remove sh-shim on Windows
> >> > - Abstract out registry client and logger
>
> >> > Source Code:http://nodejs.org/dist/v0.7.10/node-v0.7.10.tar.gz
>
> >> > Windows Installer:http://nodejs.org/dist/v0.7.10/node-v0.7.10.msi
>
> >> > Windows x64 Files:http://nodejs.org/dist/v0.7.10/x64/
>
> >> > Macintosh Installer
> >> > (Universal):http://nodejs.org/dist/v0.7.10/node-v0.7.10.pkg
>
> >> > Other release files:http://nodejs.org/dist/v0.7.10/
>
> >> > Website:http://nodejs.org/docs/v0.7.10/
>
> >> > Documentation:http://nodejs.org/docs/v0.7.10/api/
>
> > --
> > Job Board:http://jobs.nodejs.org/
> > Posting guidelines:
> >https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> > You received this message because you are subscribed to the Google
> > Groups "nodejs" group.
> > To post to this group, send email to [email protected]
> > To unsubscribe from this group, send email to
> > [email protected]
> > For more options, visit this group at
> >http://groups.google.com/group/nodejs?hl=en?hl=en
--
Job Board: http://jobs.nodejs.org/
Posting guidelines:
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en