Package: node-millstone / 0.6.17-2

generic-pool.patch Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Description: generic-pool 3 compatibility
Forwarded: no, todo
Last-Update: 2019-01-28
Author: Jérémy Lal <kapouer@melix.org>
--- a/lib/millstone.js
+++ b/lib/millstone.js
@@ -78,13 +78,14 @@
 // last download count, in order to limit logging barf
 var download_last_count = 0;
 
-var pool = require('generic-pool').Pool({
-    create: function(callback) {
-        callback(null, {});
-    },
-    destroy: function(obj) {
-        obj = undefined;
+var pool = require('generic-pool').createPool({
+    create: function() {
+        return Promise.resolve({});
     },
+    destroy: function() {
+        return Promise.resolve();	
+    }
+}, {
     max: 10
 });
 
@@ -118,7 +119,10 @@
     if (downloads[dkey]) {
         return downloads[dkey].once('done', callback);
     } else {
-        pool.acquire(function(err, obj) {
+        var err;
+        pool.acquire().catch(function(ex) {
+            err = ex;
+        }).then(function(obj) {
             var make_message = function() {
                 var msg = "Unable to download '" + url + "'";
                 if (options.name)
@@ -1048,13 +1052,11 @@
 function drainPool(callback) {
     if (download_log_interval) clearInterval(download_log_interval);
     if (pool) {
-        pool.drain(function(err) {
-            if (err) return callback(err);
-            pool.destroyAllNow(function(err) {
-               if (err) return callback(err);
-               return callback();
-            });
-        });
+        pool.drain().then(function() {
+            return pool.clear();
+        }).then(function() {
+            callback();
+        }).catch(callback);
     }
 }