diff --git a/lib/provider.js b/lib/provider.js index f2ffc392..651ec194 100644 --- a/lib/provider.js +++ b/lib/provider.js @@ -2,7 +2,7 @@ var path = require('path') var fork = require('child_process').fork var adb = require('adbkit') -var Q = require('q') +var Promise = require('bluebird') var log = require('./util/logger').createLogger('provider') var client = adb.createClient() @@ -97,7 +97,7 @@ function maybeDisconnect(device) { } function tryKillWorker(id) { - var deferred = Q.defer(), + var deferred = Promise.defer(), worker = workers[id] function onExit() { @@ -115,7 +115,7 @@ function tryKillWorker(id) { function forceKillWorker(id) { log.warn('Force killing worker of device "%s"', id) - var deferred = Q.defer() + var deferred = Promise.defer() , worker = workers[id] function onExit() { @@ -143,15 +143,11 @@ function gracefullyKillWorker(id) { function gracefullyExit() { log.info('Stopping all workers') - Q.spawn(function* foo() { - var ops = [] - for (var id in workers) { - ops.push(gracefullyKillWorker(id)) - } - yield Q.all(ops) - log.info('All cleaned up') - process.exit(0) - }) + Promise.all(Object.keys(workers).map(gracefullyKillWorker)) + .done(function() { + log.info('All cleaned up') + process.exit(0) + }) } process.on('SIGINT', function(e) {