Hi!
First off, Node is great. I'm used to writing enterprise C++ servers using
the same evented paradigm - and Node is a really compelling and fun
alternative. However, the language barrier is a tough one.
I have a question, that while it's not directly Node related, it's been
brought up by my interest in Node, and I've searched *everywhere* for an
answer. Maybe you can help?
Basically, the scenario I have that caused me to wonder was like this
(pseudocode) ;
var outputBuffer = "";
SetInterval(function() {
outputBuffer += "asdf";
}, 100);
websocket.onMessage(function() {
// reply with outputbuffer
send(outputBuffer); // Race condition?
outputBuffer = ""; // What if SetInterval happened?
});
And the question is; what if SetInterval updates the outputBuffer between
the two red lines above? (which would cause me to loose one or more updates
since the variable is cleared after the send). In my C++ servers this is a
clear racecondition that needs to be protected by any number of means.
However, I suspect the Javascript event-model sucessfully prohibits the
racecondition (as I've seen lots and lots of javascript that potentially
has this issue).
How can this code be safe and not have a race condition?
Cheers,
Bjorn
--
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