poll: support 0 nfds

This commit is contained in:
Matheus
2023-09-09 00:30:56 -03:00
parent fe303aec69
commit b9e7c8a039
+3 -1
View File
@@ -31,7 +31,9 @@ syscallret_t syscall_poll(context_t *, pollfd_t *fds, size_t nfds, int timeoutms
memcpy(fdsbuff, fds, fdsbuffsize); memcpy(fdsbuff, fds, fdsbuffsize);
polldesc_t desc = {0}; polldesc_t desc = {0};
ret.errno = poll_initdesc(&desc, nfds); // when nfds is 0, poll is used as a sleep.
// therefore, initialize the desc size to one descriptor in that case.
ret.errno = poll_initdesc(&desc, nfds == 0 ? 1 : nfds);
if (ret.errno) { if (ret.errno) {
goto cleanup; goto cleanup;
} }