Hi,

my scenario is this: From my node application I am spawning another 
program. I want this spawned programs output piped to a file, so I pass a 
file descriptor through the options.stdio array:

var stdOutFd = fs.openSync("stdout.txt", 'w+');
var result = cw.spawn("myprogram.exe", [], { stdio: ['ignore', stdOutFd, 
'ignore']});

This works nice. Once my program has finished, I can see the output in my 
stdout.txt.

Now, this is nice for short running programs, but if myprogram.exe runs 
over a minute I would like to show constant output while the program is 
running and not only at the end. So here is my question: Is it safe to 
re-use the stdOutFd from my main application and periodically read it for 
output? Something like:

var stdOutFd = fs.openSync("stdout.txt", 'w+');
var result = cw.spawn("myprogram.exe", [], { stdio: ['ignore', stdOutFd, 
'ignore']});

function readOutPut() {
   var buffer = ...
   var bytesRead = fs.readSync(stdOutFd, buffer...)
   console.log(buffer.toString());

   setTimeout(readOutPut, 1000); // Poll every second
}

readOutPut();

I should say that this code executes fine on Windows. I would like to hear 
back from someone that has more experience if this is fragile code. An 
alternative would be to open the file a second time for reading (using "r" 
as mode since I only want to read), but I am not sure if that is actually 
needed.

The reason I am worried is that I am not sure how this code would behave 
under different filesystems. Especially I am uncertain if using a UNC share 
would make a difference.

Thanks,
Ben

-- 
-- 
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

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


Reply via email to