};
startup.processKillAndExit = function() {
+ var isWindows = process.platform === 'win32';
+
process.exit = function(code) {
process.emit('exit', code || 0);
process.reallyExit(code || 0);
};
- process.kill = function(pid, sig) {
- // preserve null signal
- if (0 === sig) {
- process._kill(pid, 0);
- } else {
- sig = sig || 'SIGTERM';
- if (startup.lazyConstants()[sig]) {
- process._kill(pid, startup.lazyConstants()[sig]);
+ if (isWindows) {
+ process.kill = function(pid, sig) {
+ console.warn('process.kill() is not supported on Windows. Use ' +
+ 'child.kill() to kill a process that was started ' +
+ 'with child_process.spawn().');
+ }
+ } else {
+ process.kill = function(pid, sig) {
+ // preserve null signal
+ if (0 === sig) {
+ process._kill(pid, 0);
} else {
- throw new Error('Unknown signal: ' + sig);
+ sig = sig || 'SIGTERM';
+ if (startup.lazyConstants()[sig]) {
+ process._kill(pid, startup.lazyConstants()[sig]);
+ } else {
+ throw new Error('Unknown signal: ' + sig);
+ }
}
- }
- };
+ };
+ }
};
startup.processSignalHandlers = function() {
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
// USE OR OTHER DEALINGS IN THE SOFTWARE.
-// libuv-broken
-
+if (process.platform === 'win32') {
+ console.warn('Skipping because process.kill is not supported on windows');
+ process.exit(0);
+}
var assert = require('assert');