Merge pull request #5241 from MarcZX100/fix/sigwait-error-return-5224
fix(libkernel): return error numbers from sigwait
This commit is contained in:
commit
2c444bb9fb
|
|
@ -559,9 +559,10 @@ int APS5_VABI sigwaitinfo_nid_postfix(const GuestSignalSet* set, void* info) {
|
|||
}
|
||||
|
||||
int APS5_VABI sigwait_nid_postfix(const GuestSignalSet* set, int* received) {
|
||||
if (set == nullptr || received == nullptr || !SetHasSignal(*set)) { *__error_nid_postfix() = 22; return -1; }
|
||||
if (set == nullptr || received == nullptr || !SetHasSignal(*set)) return 22;
|
||||
int guest = 0;
|
||||
if (WaitForPendingInSet(*set, true, nullptr, &guest) != 0) { *__error_nid_postfix() = GuestEagain; return -1; }
|
||||
const int result = WaitForPendingInSet(*set, true, nullptr, &guest);
|
||||
if (result != 0) return result;
|
||||
*received = guest;
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -95,10 +95,12 @@ int main() {
|
|||
Require(sigwaitinfo_nid_postfix(nullptr, &info) == -1 && *__error_nid_postfix() == 22);
|
||||
*__error_nid_postfix() = 0;
|
||||
Require(sigwaitinfo_nid_postfix(&empty, &info) == -1 && *__error_nid_postfix() == 22);
|
||||
*__error_nid_postfix() = 0;
|
||||
Require(sigwait_nid_postfix(&empty, &taken) == -1 && *__error_nid_postfix() == 22 && taken == -1);
|
||||
*__error_nid_postfix() = 0;
|
||||
Require(sigwait_nid_postfix(&interrupt, nullptr) == -1 && *__error_nid_postfix() == 22);
|
||||
*__error_nid_postfix() = 71;
|
||||
Require(sigwait_nid_postfix(nullptr, &taken) == 22 && *__error_nid_postfix() == 71 && taken == -1);
|
||||
*__error_nid_postfix() = 72;
|
||||
Require(sigwait_nid_postfix(&empty, &taken) == 22 && *__error_nid_postfix() == 72 && taken == -1);
|
||||
*__error_nid_postfix() = 73;
|
||||
Require(sigwait_nid_postfix(&interrupt, nullptr) == 22 && *__error_nid_postfix() == 73);
|
||||
RequireUntouched(info);
|
||||
*__error_nid_postfix() = 0;
|
||||
Require(sigtimedwait_nid_postfix(&interrupt, &info, &poll) == -1 && *__error_nid_postfix() == 35);
|
||||
|
|
|
|||
Loading…
Reference in New Issue