summaryrefslogtreecommitdiff
path: root/lib/fs.js
diff options
context:
space:
mode:
authorGil Pedersen <git@gpost.dk>2012-08-01 16:04:28 +0200
committerBen Noordhuis <info@bnoordhuis.nl>2012-08-02 01:25:53 +0200
commitf1fba8d1f5e7411f055c00ca4b46646e5b840cf2 (patch)
tree072e4d7e393ed994bfdca61716f927fa120ec2a7 /lib/fs.js
parent23f09d7e024f326ea0466af10b97ad46e76ac5e6 (diff)
downloadnode-new-f1fba8d1f5e7411f055c00ca4b46646e5b840cf2.tar.gz
fs: fix ReadStream / WriteStream missing callback
The (undocumented) callback argument to .destroy() was not called if the stream was no longer readable / writable.
Diffstat (limited to 'lib/fs.js')
-rw-r--r--lib/fs.js10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/fs.js b/lib/fs.js
index d9d07401c5..d53c3605cf 100644
--- a/lib/fs.js
+++ b/lib/fs.js
@@ -1367,7 +1367,10 @@ ReadStream.prototype._emitData = function(d) {
ReadStream.prototype.destroy = function(cb) {
var self = this;
- if (!this.readable) return;
+ if (!this.readable) {
+ if (cb) process.nextTick(function() { cb(null); });
+ return;
+ }
this.readable = false;
function close() {
@@ -1570,7 +1573,10 @@ WriteStream.prototype.end = function(data, encoding, cb) {
WriteStream.prototype.destroy = function(cb) {
var self = this;
- if (!this.writable) return;
+ if (!this.writable) {
+ if (cb) process.nextTick(function() { cb(null); });
+ return;
+ }
this.writable = false;
function close() {