mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-06 16:45:03 +00:00
UserspaceEmulator: Handle SO_ERROR in getsockopt
This makes GUI applications work again
This commit is contained in:
committed by
Brian Gianforcaro
parent
5017cc2bd3
commit
93ce8fc985
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user