mirror of
https://code.forgejo.org/actions/setup-node.git
synced 2025-05-23 06:14:45 +00:00
.
This commit is contained in:
parent
beb1329f9f
commit
2b95e76931
7736 changed files with 1874747 additions and 51184 deletions
41
node_modules/exit/lib/exit.js
generated
vendored
Normal file
41
node_modules/exit/lib/exit.js
generated
vendored
Normal file
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* exit
|
||||
* https://github.com/cowboy/node-exit
|
||||
*
|
||||
* Copyright (c) 2013 "Cowboy" Ben Alman
|
||||
* Licensed under the MIT license.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
module.exports = function exit(exitCode, streams) {
|
||||
if (!streams) { streams = [process.stdout, process.stderr]; }
|
||||
var drainCount = 0;
|
||||
// Actually exit if all streams are drained.
|
||||
function tryToExit() {
|
||||
if (drainCount === streams.length) {
|
||||
process.exit(exitCode);
|
||||
}
|
||||
}
|
||||
streams.forEach(function(stream) {
|
||||
// Count drained streams now, but monitor non-drained streams.
|
||||
if (stream.bufferSize === 0) {
|
||||
drainCount++;
|
||||
} else {
|
||||
stream.write('', 'utf-8', function() {
|
||||
drainCount++;
|
||||
tryToExit();
|
||||
});
|
||||
}
|
||||
// Prevent further writing.
|
||||
stream.write = function() {};
|
||||
});
|
||||
// If all streams were already drained, exit now.
|
||||
tryToExit();
|
||||
// In Windows, when run as a Node.js child process, a script utilizing
|
||||
// this library might just exit with a 0 exit code, regardless. This code,
|
||||
// despite the fact that it looks a bit crazy, appears to fix that.
|
||||
process.on('exit', function() {
|
||||
process.exit(exitCode);
|
||||
});
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue