Comparing version 1.0.3 to 1.0.4
@@ -8,4 +8,12 @@ 'use strict'; | ||
queue: [], | ||
firstHere: false, | ||
take: function() { | ||
if (semaphore.firstHere === false) { | ||
semaphore.current++; | ||
semaphore.firstHere = true; | ||
var isFirst = 1; | ||
} else { | ||
var isFirst = 0; | ||
} | ||
var item = { n: 1 }; | ||
@@ -27,8 +35,13 @@ | ||
if (semaphore.current + item.n > semaphore.capacity) { | ||
if (semaphore.current + item.n - isFirst > semaphore.capacity) { | ||
if (isFirst === 1) { | ||
semaphore.current--; | ||
semaphore.firstHere = false; | ||
} | ||
return semaphore.queue.push(item); | ||
} | ||
semaphore.current += item.n; | ||
semaphore.current += item.n - isFirst; | ||
item.task(semaphore.leave); | ||
if (isFirst === 1) semaphore.firstHere = false; | ||
}, | ||
@@ -35,0 +48,0 @@ |
{ | ||
"name": "semaphore", | ||
"version": "1.0.3", | ||
"version": "1.0.4", | ||
"description": "semaphore for node", | ||
"engine": "node >= 0.6.0", | ||
"engines": { | ||
"node": ">=0.8.0" | ||
}, | ||
"main": "./lib/semaphore.js", | ||
"dependencies": {}, | ||
"devDependencies": { | ||
"mocha": "2.2.x", | ||
"should": "6.0.x" | ||
"mocha": "2.x.x", | ||
"should": "8.x.x" | ||
}, | ||
@@ -12,0 +14,0 @@ "homepage": "https://github.com/abrkn/semaphore.js", |
Sorry, the diff of this file is not supported yet
NPM Shrinkwrap
Supply chain riskPackage contains a shrinkwrap file. This may allow the package to bypass normal install procedures.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
7765
8
227
0
1