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);
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) {
goto cleanup;
}