mirror of https://github.com/embarklabs/embark.git
fix so child process doesn't hang some cmds
This commit is contained in:
parent
85519e95d8
commit
5fc2d97609
|
@ -12,3 +12,7 @@ process.on('message', function(msg) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
process.on('exit', function() {
|
||||||
|
process.exit(0);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
var solcProcess = require('child_process').fork(__dirname + '/solcP.js');
|
var solcProcess;
|
||||||
var compilerLoaded = false;
|
var compilerLoaded = false;
|
||||||
|
|
||||||
var SolcW = function() {
|
var SolcW = function() {
|
||||||
|
@ -6,6 +6,7 @@ var SolcW = function() {
|
||||||
|
|
||||||
SolcW.prototype.load_compiler = function(done) {
|
SolcW.prototype.load_compiler = function(done) {
|
||||||
if (compilerLoaded) { done(); }
|
if (compilerLoaded) { done(); }
|
||||||
|
solcProcess = require('child_process').fork(__dirname + '/solcP.js');
|
||||||
solcProcess.once('message', function(msg) {
|
solcProcess.once('message', function(msg) {
|
||||||
if (msg.result !== 'loadedCompiler') {
|
if (msg.result !== 'loadedCompiler') {
|
||||||
return;
|
return;
|
||||||
|
@ -18,7 +19,7 @@ SolcW.prototype.load_compiler = function(done) {
|
||||||
|
|
||||||
SolcW.prototype.isCompilerLoaded = function() {
|
SolcW.prototype.isCompilerLoaded = function() {
|
||||||
return (compilerLoaded === true);
|
return (compilerLoaded === true);
|
||||||
}
|
};
|
||||||
|
|
||||||
SolcW.prototype.compile = function(obj, optimize, done) {
|
SolcW.prototype.compile = function(obj, optimize, done) {
|
||||||
solcProcess.once('message', function(msg) {
|
solcProcess.once('message', function(msg) {
|
||||||
|
|
|
@ -238,13 +238,14 @@ var Embark = {
|
||||||
pipeline.build(abi);
|
pipeline.build(abi);
|
||||||
callback();
|
callback();
|
||||||
}
|
}
|
||||||
|
|
||||||
], function(err, result) {
|
], function(err, result) {
|
||||||
if (err) {
|
if (err) {
|
||||||
self.logger.error(err.message);
|
self.logger.error(err.message);
|
||||||
} else {
|
} else {
|
||||||
self.logger.trace("finished".underline);
|
self.logger.info("finished building".underline);
|
||||||
}
|
}
|
||||||
|
// needed due to child processes
|
||||||
|
process.exit();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue