diff --git a/src/library_sockfs.js b/src/library_sockfs.js index 2ca4fd10ba23d..4d22a81bcc820 100644 --- a/src/library_sockfs.js +++ b/src/library_sockfs.js @@ -619,16 +619,13 @@ addToLibrary({ buffer = buffer.buffer; } - var data; -#if PTHREADS - // WebSockets .send() does not allow passing a SharedArrayBuffer, so clone the portion of the SharedArrayBuffer as a regular - // ArrayBuffer that we want to send. - if (buffer instanceof SharedArrayBuffer) { - data = new Uint8Array(new Uint8Array(buffer.slice(offset, offset + length))).buffer; - } else { -#endif - data = buffer.slice(offset, offset + length); + var data = buffer.slice(offset, offset + length); #if PTHREADS + // WebSockets .send() does not allow passing a SharedArrayBuffer, so + // clone the the SharedArrayBuffer as regular ArrayBuffer before + // sending. + if (data instanceof SharedArrayBuffer) { + data = new Uint8Array(new Uint8Array(data)).buffer; } #endif diff --git a/test/test_sockets.py b/test/test_sockets.py index 8efb0f1df360a..cce737ad12de5 100644 --- a/test/test_sockets.py +++ b/test/test_sockets.py @@ -285,6 +285,7 @@ def test_enet(self): 'native': [WebsockifyServerHarness, 59160, ['-DTEST_DGRAM=0']], 'tcp': [CompiledServerHarness, 59162, ['-DTEST_DGRAM=0']], 'udp': [CompiledServerHarness, 59164, ['-DTEST_DGRAM=1']], + 'pthread': [CompiledServerHarness, 59165, ['-pthread', '-sPROXY_TO_PTHREAD']], }) def test_nodejs_sockets_echo(self, harness_class, port, args): if harness_class == WebsockifyServerHarness and common.EMTEST_LACKS_NATIVE_CLANG: