mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 07:47:37 +00:00
UserspaceEmulator: Handle SO_ERROR in getsockopt
This makes GUI applications work again
This commit is contained in:
parent
5017cc2bd3
commit
93ce8fc985
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
Add a link
Reference in a new issue