mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-21 12:05:15 +00:00
UserspaceEmulator: Handle SO_ERROR in getsockopt
This makes GUI applications work again
This commit is contained in:
parent
5017cc2bd3
commit
93ce8fc985
Notes:
sideshowbarker
2024-07-18 04:29:24 +09:00
Author: https://github.com/Hendiadyoin1 Commit: https://github.com/SerenityOS/serenity/commit/93ce8fc985e Pull-request: https://github.com/SerenityOS/serenity/pull/9615
1 changed files with 11 additions and 0 deletions
|
@ -709,7 +709,18 @@ int Emulator::virt$getsockopt(FlatPtr params_addr)
|
|||
mmu().copy_to_vm((FlatPtr)params.value, &creds, sizeof(creds));
|
||||
return rc;
|
||||
}
|
||||
if (params.option == SO_ERROR) {
|
||||
int so_error;
|
||||
socklen_t so_error_len = sizeof(so_error);
|
||||
int rc = getsockopt(params.sockfd, params.level, SO_ERROR, &so_error, &so_error_len);
|
||||
if (rc < 0)
|
||||
return -errno;
|
||||
// FIXME: Check params.value_size
|
||||
mmu().copy_to_vm((FlatPtr)params.value, &so_error, sizeof(so_error));
|
||||
return rc;
|
||||
}
|
||||
|
||||
dbgln("Not implemented socket param: {}", params.option);
|
||||
TODO();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue