node.js - Real forking UDP server asserts and core dumps -
this worked flawlessly in node 0.6.19 fails.
i wrote forking udp server in node. however, node doesn't have real fork , cluster doesn't udp, wrote module in c++ calls fork (the module contains function called "hasher")
static handle<value> spoon(const arguments& args) // node sees function "fork" { handlescope scope; pid_t rval = fork(); if (rval < 0) { homecoming throwexception(exception::error(string::new("unable fork daemon, pid < 0."))); } handle<value> n = v8::number::new(rval); homecoming n; } i bind udp port, , fork children.
udp_server.bind(argv.udp_listen_port, '0.0.0.0'); // create multiple children (loop starting 1 on purpose) (var = 1; < argv.multiple; i++) { var pid = hasher.fork(); if (pid == 0) break; } theoretically, kid processes should not know else sharing port , should behave normally. however, (1 or 2 incoming udp packets) trigger assert message:
node-0.10.29: ../deps/uv/src/unix/stream.c:499: uv__server_io: assertion `events == 1' failed. aborted (core dumped) anyone have clue going on?
node.js udp fork assert
No comments:
Post a Comment