fs.readFile('/proc/stat', ...) fixed in master. Now any zero-byte
result from fstat() will cause it to read until it stops getting
bytes.
On Mon, Jun 11, 2012 at 2:15 PM, Isaac Schlueter <[email protected]> wrote:
> 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