var cleanupGlueModule = function()

in docker_images/node/wrapper/glue/controlGlue.js [18:48]


var cleanupGlueModule = function(mod, callback) {
  var remainingObjects = mod._objectCache.getMap();

  async.forEachSeries(Object.keys(remainingObjects), function(objectId, callback) {
    if (objectId.indexOf('response_') === 0) {
      // not a failure
      debug(`removing dangling object ${objectId}`);
      mod._objectCache.removeObject(objectId);
      callback();
    } else {
      debug('Cleaning up ' + objectId);
      var obj = mod._objectCache.removeObject(objectId);
      var closeFunc = obj.close || obj.closeClient;
      if (closeFunc) {
        try {
          closeFunc.bind(obj)(function(err) {
            if (err) {
              debug('ignoring close error: ' + err.message);
            }
            callback();
          })
        } catch (e) {
          debug('ignoring close exception: ' + e.message);
          callback();
        }
      } else {
        callback();
      }
    }
  }, callback);
};