Aha, the /proc/stat thing is interesting. It reports a stat.size of
0, which is confusing the optimization in fs.readFile. (Note that
fs.createReadStream('/proc/stat') does the right thing.)
The setTimeout(fn, 1000) issue I can't reproduce on Linux, SmartOS, or OS X.
On Mon, Jun 11, 2012 at 2:00 PM, Jimb Esser <[email protected]> wrote:
> 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
--
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