@@ -175,7 +175,7 @@ module.exports = function(robot) {
175
175
robot . logger . error ( 'Failed to authenticate: ' + err . message ) ;
176
176
177
177
if ( env . EXIT_ON_FAILURES ) {
178
- stop ( { exitOnFailure : true } ) ;
178
+ stop ( { exit : true } ) ;
179
179
} else {
180
180
throw err ;
181
181
}
@@ -206,10 +206,10 @@ module.exports = function(robot) {
206
206
// handler to manage per adapter message post-ing.
207
207
var postDataHandler = postData . getDataPostHandler ( robot . adapterName , robot , formatter ) ;
208
208
209
- var loadCommands = function ( exitOpts ) {
209
+ var loadCommands = function ( opts ) {
210
210
robot . logger . info ( 'Loading commands....' ) ;
211
211
212
- var exitOpts = _ . merge ( { } , { exitOnFailure : false } , exitOpts )
212
+ var opts = _ . merge ( { exitOnFailure : false } , opts ) ;
213
213
214
214
api . actionAlias . list ( )
215
215
. then ( function ( aliases ) {
@@ -247,8 +247,8 @@ module.exports = function(robot) {
247
247
. catch ( function ( err ) {
248
248
var error_msg = 'Failed to retrieve commands from "%s": %s' ;
249
249
robot . logger . error ( util . format ( error_msg , env . ST2_API_URL , err . message ) ) ;
250
- if ( exitOpts . exitOnFailure ) {
251
- stop ( exitOpts ) ;
250
+ if ( opts . exitOnFailure ) {
251
+ stop ( { exit : true } ) ;
252
252
}
253
253
} ) ;
254
254
} ;
@@ -431,15 +431,18 @@ module.exports = function(robot) {
431
431
install_sigusr2_handler ( ) ;
432
432
}
433
433
434
- function stop ( exitOpts ) {
434
+ function stop ( opts ) {
435
+ var opts = _ . merge ( { exit : false } , opts ) ;
436
+
435
437
clearInterval ( commands_load_interval ) ;
436
438
api . stream . listen ( ) . then ( function ( source ) {
437
439
source . removeAllListeners ( ) ;
438
440
source . close ( ) ;
439
441
} ) ;
440
442
441
- if ( exitOpts . exitOnFailure ) {
442
- process . exit ( 1 )
443
+ if ( opts . exit ) {
444
+ robot . server . close ( ) ;
445
+ robot . shutdown ( ) ;
443
446
}
444
447
}
445
448
0 commit comments