From 46f4b287b3861004da2ae6e996839c5934bc2f96 Mon Sep 17 00:00:00 2001 From: Dimitar Kerezov Date: Tue, 22 Aug 2017 18:23:22 +0300 Subject: [PATCH 1/2] Fix promises sometimes not resolved --- IOSDeviceLib/IOSDeviceLib.cpp | 1 + message-unpack-stream.js | 10 +--------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/IOSDeviceLib/IOSDeviceLib.cpp b/IOSDeviceLib/IOSDeviceLib.cpp index faa6f8d..9dd0ae0 100644 --- a/IOSDeviceLib/IOSDeviceLib.cpp +++ b/IOSDeviceLib/IOSDeviceLib.cpp @@ -1294,6 +1294,7 @@ int main() { #ifdef _WIN32 _setmode(_fileno(stdout), _O_BINARY); + _setmode(_fileno(stderr), _O_BINARY); if (load_dlls()) { diff --git a/message-unpack-stream.js b/message-unpack-stream.js index 73c43af..a783e14 100644 --- a/message-unpack-stream.js +++ b/message-unpack-stream.js @@ -40,7 +40,7 @@ exports.MessageUnpackStream = class MessageUnpackStream extends stream.Transform this.push(messageBuffer); this._endUnpackingMessages(done); } - } else if (this._unfinishedMessage.length && data.length >= HeaderSize) { + } else { // Append the new data to the unfinished message and try to unpack again. const concatenatedMessage = Buffer.concat([this._unfinishedMessage, data]); @@ -48,14 +48,6 @@ exports.MessageUnpackStream = class MessageUnpackStream extends stream.Transform this._unfinishedMessage = new Buffer(0); this._transform(concatenatedMessage); this._endUnpackingMessages(done); - } else { - // While debugging the data here contains one character - \0, null or 0. - // I think we get here when the Node inner buffer for the data of the data event - // is filled with data and the last symbol is a part of the length header of the next message. - // That's why we need this concat. - // This code is tested with 10 000 000 messages in while loop. - this._unfinishedMessage = Buffer.concat([this._unfinishedMessage, data]); - this._endUnpackingMessages(done); } } From 5d0eee267e50a9fdef23c320024a5b6c3b2dbe60 Mon Sep 17 00:00:00 2001 From: Dimitar Kerezov Date: Tue, 22 Aug 2017 18:34:50 +0300 Subject: [PATCH 2/2] Bump to 0.4.9 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e7ddfe6..e75e7d0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ios-device-lib", - "version": "0.4.8", + "version": "0.4.9", "description": "", "types": "./typings/ios-device-lib.d.ts", "main": "index.js",