Hi there,

I'm currently working on a system that passes javascript commands to node.js 
through a pipe.

Node.js appears to buffer it's stdin under these circumstances, which is a 
problem as I'm wanting to send one command, wait a few seconds, send another, 
wait a bit more, send the next, etc... - but I want the first command to be 
executed as soon as it's received.

To reproduce:

  $ cat | node
  setTimeout(function() { console.log('testing'); }, 10000);
  console.log('start');
  ^D
  start
  testing
  $ 

I can pause for as long as I like between the console.log(...) line and 
hitting ^D, but the 'start' never comes up until I do, and 'testing' doesn't 
appear until 10 seconds after that.

Is there a command line switch I can use to get it to turn this buffering off? 
If not, where might I start looking through the code to patch my local copy 
myself? I found what looks like the main event loop 
"uv_run(uv_default_loop());" in node.cc:Node::Start(), but can't figure out 
where to look next from there.


Thanks,

Adam Spragg

-- 
Adam Spragg <adam.spr...@octaltelecom.co.uk>
Developer
Octal Telecom <http://www.octaltelecom.co.uk/>


It reverses the logical flow of conversation!
> Why?
> > No.
> > > Should I top post?
<http://www.google.com/search?q=%22top+posting%22>

-- 
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 nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to