| 22 Dec 2025 |
Randy Eckenrode | I wonder what they mean by “broken”. | 15:35:04 |
Randy Eckenrode | Sometimes “broken” means “conforms to POSIX but doesn’t do what GNU does”. | 15:35:48 |
Ihar Hrachyshka | /* The poll() emulation on OS/X doesn't handle fds=NULL, nfds=0,
* so we prefer our own poll emulation.
| 15:35:50 |
Ihar Hrachyshka | the MR that mentions tap networking broken? https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2571 | 15:39:46 |
Ihar Hrachyshka | there's a "check" they use to detect a "broken" poll here: https://gitlab.gnome.org/GNOME/glib/-/commit/caecf2dda082e9c46c4157cdc10763deb8dcfc27
but afaiu it is no longer needed and just forced on darwin. wonder if the check would pass now... | 15:40:56 |
Ihar Hrachyshka | * there's a "check" they use to detect a "broken" poll here: https://gitlab.gnome.org/GNOME/glib/-/commit/caecf2dda082e9c46c4157cdc10763deb8dcfc27
but afaiu it is no longer used and just forced on darwin. wonder if the check would pass now... | 15:41:04 |
Randy Eckenrode | According to POSIX, fds is an array. My understanding is that NULL is not a valid value for an array in C. | 15:41:55 |
Ihar Hrachyshka | the check compiled with xcode clang returns 1 | 15:42:22 |
Randy Eckenrode | https://pubs.opengroup.org/onlinepubs/9799919799/functions/poll.html | 15:42:38 |
Randy Eckenrode | ppoll is apparently part of POSIX now. No idea if or when Apple will add it. | 15:43:07 |
Ihar Hrachyshka | they could at least maybe conditionalize it. like if it's null and the user needs some non-standard behavior, go through select. otherwise...
I think main loop for qemu doesn't pass nulls there. | 15:43:45 |
Ihar Hrachyshka | it's 2024 posix so rather new | 15:43:59 |