Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | 28x 28x 28x 28x 28x 28x 28x 28x 28x 28x 28x 28x 28x 28x 28x 28x 17144x 17144x 17144x 28x 28x 17144x 17144x 188x 188x 188x 188x 188x 188x 188x 188x 188x 188x 188x 188x 188x 188x 17144x 28x 664x 664x 664x 38x 38x 38x 664x 28x 28x 28x 28x 28x | 'use strict'; const { FunctionPrototypeBind, SafeMap, } = primordials; const { errnoException, } = require('internal/errors'); const { signals } = internalBinding('constants').os; let Signal; const signalWraps = new SafeMap(); function isSignal(event) { return typeof event === 'string' && signals[event] !== undefined; } // Detect presence of a listener for the special signal types function startListeningIfSignal(type) { if (isSignal(type) && !signalWraps.has(type)) { if (Signal === undefined) Signal = internalBinding('signal_wrap').Signal; const wrap = new Signal(); wrap.unref(); wrap.onsignal = FunctionPrototypeBind(process.emit, process, type, type); const signum = signals[type]; const err = wrap.start(signum); if (err) { wrap.close(); throw errnoException(err, 'uv_signal_start'); } signalWraps.set(type, wrap); } } function stopListeningIfSignal(type) { const wrap = signalWraps.get(type); if (wrap !== undefined && process.listenerCount(type) === 0) { wrap.close(); signalWraps.delete(type); } } module.exports = { startListeningIfSignal, stopListeningIfSignal }; |