diff options
Diffstat (limited to 'cli/js/signals.ts')
-rw-r--r-- | cli/js/signals.ts | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/cli/js/signals.ts b/cli/js/signals.ts index 3295b9e80..28bc271c4 100644 --- a/cli/js/signals.ts +++ b/cli/js/signals.ts @@ -72,8 +72,6 @@ enum MacOSSignal { SIGUSR2 = 31 } -/** Signals numbers. This is platform dependent. - */ export const Signal: { [key: string]: number } = {}; export function setSignals(): void { @@ -84,31 +82,6 @@ export function setSignals(): void { } } -/** - * Returns the stream of the given signal number. You can use it as an async - * iterator. - * - * for await (const _ of Deno.signal(Deno.Signal.SIGTERM)) { - * console.log("got SIGTERM!"); - * } - * - * You can also use it as a promise. In this case you can only receive the - * first one. - * - * await Deno.signal(Deno.Signal.SIGTERM); - * console.log("SIGTERM received!") - * - * If you want to stop receiving the signals, you can use .dispose() method - * of the signal stream object. - * - * const sig = Deno.signal(Deno.Signal.SIGTERM); - * setTimeout(() => { sig.dispose(); }, 5000); - * for await (const _ of sig) { - * console.log("SIGTERM!") - * } - * - * The above for-await loop exits after 5 seconds when sig.dispose() is called. - */ export function signal(signo: number): SignalStream { if (build.os === "win") { throw new Error("not implemented!"); @@ -117,73 +90,45 @@ export function signal(signo: number): SignalStream { } export const signals = { - /** Returns the stream of SIGALRM signals. - * This method is the shorthand for Deno.signal(Deno.Signal.SIGALRM). */ alarm(): SignalStream { return signal(Signal.SIGALRM); }, - /** Returns the stream of SIGCHLD signals. - * This method is the shorthand for Deno.signal(Deno.Signal.SIGCHLD). */ child(): SignalStream { return signal(Signal.SIGCHLD); }, - /** Returns the stream of SIGHUP signals. - * This method is the shorthand for Deno.signal(Deno.Signal.SIGHUP). */ hungup(): SignalStream { return signal(Signal.SIGHUP); }, - /** Returns the stream of SIGINT signals. - * This method is the shorthand for Deno.signal(Deno.Signal.SIGINT). */ interrupt(): SignalStream { return signal(Signal.SIGINT); }, - /** Returns the stream of SIGIO signals. - * This method is the shorthand for Deno.signal(Deno.Signal.SIGIO). */ io(): SignalStream { return signal(Signal.SIGIO); }, - /** Returns the stream of SIGPIPE signals. - * This method is the shorthand for Deno.signal(Deno.Signal.SIGPIPE). */ pipe(): SignalStream { return signal(Signal.SIGPIPE); }, - /** Returns the stream of SIGQUIT signals. - * This method is the shorthand for Deno.signal(Deno.Signal.SIGQUIT). */ quit(): SignalStream { return signal(Signal.SIGQUIT); }, - /** Returns the stream of SIGTERM signals. - * This method is the shorthand for Deno.signal(Deno.Signal.SIGTERM). */ terminate(): SignalStream { return signal(Signal.SIGTERM); }, - /** Returns the stream of SIGUSR1 signals. - * This method is the shorthand for Deno.signal(Deno.Signal.SIGUSR1). */ userDefined1(): SignalStream { return signal(Signal.SIGUSR1); }, - /** Returns the stream of SIGUSR2 signals. - * This method is the shorthand for Deno.signal(Deno.Signal.SIGUSR2). */ userDefined2(): SignalStream { return signal(Signal.SIGUSR2); }, - /** Returns the stream of SIGWINCH signals. - * This method is the shorthand for Deno.signal(Deno.Signal.SIGWINCH). */ windowChange(): SignalStream { return signal(Signal.SIGWINCH); } }; -/** SignalStream represents the stream of signals, implements both - * AsyncIterator and PromiseLike */ export class SignalStream implements AsyncIterableIterator<void>, PromiseLike<void> { private rid: number; - /** The promise of polling the signal, - * resolves with false when it receives signal, - * Resolves with true when the signal stream is disposed. */ private pollingPromise: Promise<boolean> = Promise.resolve(false); - /** The flag, which is true when the stream is disposed. */ private disposed = false; constructor(signo: number) { this.rid = bindSignal(signo).rid; |