Skip to content

Commit 8435293

Browse files
authored
[library_sockfs.js] Use callUserCallback. NFC (#22986)
This is essentially a no-op but uses common code to handle exceptions during user callbacks.
1 parent 516e809 commit 8435293

File tree

1 file changed

+7
-12
lines changed

1 file changed

+7
-12
lines changed

src/library_sockfs.js

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -728,24 +728,19 @@ addToLibrary({
728728
* Passing a NULL callback function to a emscripten_set_socket_*_callback call
729729
* will deregister the callback registered for that Event.
730730
*/
731-
$_setNetworkCallback__deps: ['$stackSave', '$stackRestore', '$stringToUTF8OnStack'],
731+
$_setNetworkCallback__deps: ['$withStackSave', '$callUserCallback', '$stringToUTF8OnStack'],
732732
$_setNetworkCallback: (event, userData, callback) => {
733733
function _callback(data) {
734-
try {
734+
callUserCallback(() => {
735735
if (event === 'error') {
736-
var sp = stackSave();
737-
var msg = stringToUTF8OnStack(data[2]);
738-
{{{ makeDynCall('viiii', 'callback') }}}(data[0], data[1], msg, userData);
739-
stackRestore(sp);
736+
withStackSave(() => {
737+
var msg = stringToUTF8OnStack(data[2]);
738+
{{{ makeDynCall('viiii', 'callback') }}}(data[0], data[1], msg, userData);
739+
});
740740
} else {
741741
{{{ makeDynCall('vii', 'callback') }}}(data, userData);
742742
}
743-
} catch (e) {
744-
if (!(e instanceof ExitStatus)) {
745-
if (e && typeof e == 'object' && e.stack) err('exception thrown: ' + [e, e.stack]);
746-
throw e;
747-
}
748-
}
743+
});
749744
};
750745

751746
// FIXME(sbc): This has no corresponding Pop so will currently keep the

0 commit comments

Comments
 (0)