diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-02-04 20:33:33 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-02-04 20:33:33 -0800 |
commit | 83fa6b5ca739d3afc4abdf3d602e0f08e0e25307 (patch) | |
tree | 57e17a82feb590c6ead58bc2deb97f03758b28e0 /src/library.js | |
parent | 27841ea86c6be6f96a2ab777a19d00686c551ed9 (diff) |
fix test_websockets_partial
Diffstat (limited to 'src/library.js')
-rw-r--r-- | src/library.js | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/library.js b/src/library.js index aa93598e..6c2702ba 100644 --- a/src/library.js +++ b/src/library.js @@ -7053,6 +7053,13 @@ LibraryManager.library = { Module.print('recv: ' + [Array.prototype.slice.call(buffer)]); #endif if (len < buffer.length) { + if (info.stream) { + // This is tcp (reliable), so if not all was read, keep it + info.inQueue.unshift(buffer.subarray(len)); +#if SOCKET_DEBUG + Module.print('recv: put back: ' + (len - buffer.length)); +#endif + } buffer = buffer.subarray(0, len); } HEAPU8.set(buffer, buf); @@ -7151,7 +7158,10 @@ LibraryManager.library = { if (info.stream) { // This is tcp (reliable), so if not all was read, keep it if (bufferPos < bytes) { - info.inQueue.unshift(buffer.subArray(bufferPos)); + info.inQueue.unshift(buffer.subarray(bufferPos)); +#if SOCKET_DEBUG + Module.print('recvmsg: put back: ' + (bytes - bufferPos)); +#endif } } return ret; |