@@ -228,28 +228,31 @@ async function ngrokLinkPipe(listener, server) {
228
228
}
229
229
230
230
// protect against multiple calls, for instance from npm
231
- var sigintRan = false ;
231
+ var sigHandlerRan = false ;
232
232
233
233
function registerCleanup ( listener , socket ) {
234
- process . on ( "SIGINT" , function ( ) {
235
- if ( sigintRan ) return ;
236
- sigintRan = true ;
234
+ for ( const signal of [ "SIGINT" , "SIGTERM" ] ) {
235
+ process . on ( signal , function ( ) {
236
+ if ( process . listenerCount ( signal ) > 1 ) {
237
+ // user has registered a handler, abort this one
238
+ return ;
239
+ }
237
240
238
- if ( process . listenerCount ( "SIGINT" ) > 1 ) {
239
- // user has registered a handler, abort this one
240
- return ;
241
- }
242
- // close listener
243
- if ( listener ) {
244
- listener . close ( ) . catch ( ( err ) => {
245
- console . error ( `Error closing listener: ${ err } ` ) ;
246
- } ) ;
247
- }
248
- // close webserver's socket
249
- if ( socket ) socket . close ( ) ;
250
- // unregister any logging callback
251
- loggingCallback ( ) ;
252
- } ) ;
241
+ if ( sigHandlerRan ) return ;
242
+ sigHandlerRan = true ;
243
+
244
+ // close listener
245
+ if ( listener ) {
246
+ listener . close ( ) . catch ( ( err ) => {
247
+ console . error ( `Error closing listener: ${ err } ` ) ;
248
+ } ) ;
249
+ }
250
+ // close webserver's socket
251
+ if ( socket ) socket . close ( ) ;
252
+ // unregister any logging callback
253
+ loggingCallback ( ) ;
254
+ } ) ;
255
+ }
253
256
}
254
257
255
258
function consoleLog ( level ) {
0 commit comments