Skip to content

Commit 0b55292

Browse files
authored
[wasm64] Fix WebSocket API under wasm64 (#21514)
Fixes: #21503
1 parent dd53c6c commit 0b55292

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

src/library_websocket.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ var LibraryWebSocket = {
155155
dbg(`websocket event "open": socketId=${socketId},userData=${userData},callbackFunc=${callbackFunc})`);
156156
#endif
157157
HEAPU32[WS.socketEvent>>2] = socketId;
158-
{{{ makeDynCall('iiii', 'callbackFunc') }}}(0/*TODO*/, WS.socketEvent, userData);
158+
{{{ makeDynCall('iipp', 'callbackFunc') }}}(0/*TODO*/, WS.socketEvent, userData);
159159
}
160160
return {{{ cDefs.EMSCRIPTEN_RESULT_SUCCESS }}};
161161
},
@@ -181,7 +181,7 @@ var LibraryWebSocket = {
181181
dbg(`websocket event "error": socketId=${socketId},userData=${userData},callbackFunc=${callbackFunc})`);
182182
#endif
183183
HEAPU32[WS.socketEvent>>2] = socketId;
184-
{{{ makeDynCall('iiii', 'callbackFunc') }}}(0/*TODO*/, WS.socketEvent, userData);
184+
{{{ makeDynCall('iipp', 'callbackFunc') }}}(0/*TODO*/, WS.socketEvent, userData);
185185
}
186186
return {{{ cDefs.EMSCRIPTEN_RESULT_SUCCESS }}};
187187
},
@@ -210,7 +210,7 @@ var LibraryWebSocket = {
210210
HEAPU32[(WS.socketEvent+4)>>2] = e.wasClean;
211211
HEAPU32[(WS.socketEvent+8)>>2] = e.code;
212212
stringToUTF8(e.reason, WS.socketEvent+10, 512);
213-
{{{ makeDynCall('iiii', 'callbackFunc') }}}(0/*TODO*/, WS.socketEvent, userData);
213+
{{{ makeDynCall('iipp', 'callbackFunc') }}}(0/*TODO*/, WS.socketEvent, userData);
214214
}
215215
return {{{ cDefs.EMSCRIPTEN_RESULT_SUCCESS }}};
216216
},
@@ -262,7 +262,7 @@ var LibraryWebSocket = {
262262
}
263263
HEAPU32[(WS.socketEvent+4)>>2] = buf;
264264
HEAPU32[(WS.socketEvent+8)>>2] = len;
265-
{{{ makeDynCall('iiii', 'callbackFunc') }}}(0/*TODO*/, WS.socketEvent, userData);
265+
{{{ makeDynCall('iipp', 'callbackFunc') }}}(0/*TODO*/, WS.socketEvent, userData);
266266
_free(buf);
267267
}
268268
return {{{ cDefs.EMSCRIPTEN_RESULT_SUCCESS }}};

test/test_sockets.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,3 +349,11 @@ def test_posix_proxy_sockets(self):
349349
with PythonTcpEchoServerProcess('7777'):
350350
# Build and run the TCP echo client program with Emscripten
351351
self.btest_exit('websocket/tcp_echo_client.c', args=['-lwebsocket', '-sPROXY_POSIX_SOCKETS', '-pthread', '-sPROXY_TO_PTHREAD'])
352+
353+
354+
class sockets64(sockets):
355+
def setUp(self):
356+
super().setUp()
357+
self.set_setting('MEMORY64')
358+
self.emcc_args.append('-Wno-experimental')
359+
self.require_wasm64()

0 commit comments

Comments
 (0)