| 22 Dec 2025 |
Randy Eckenrode | * | 17:44:59 |
Ihar Hrachyshka | source == hacker news nobody | 17:45:27 |
Randy Eckenrode | https://github.com/apple-oss-distributions/xnu/blob/f6217f891ac0bb64f3d375211650a4c1ff8ca1ea/bsd/sys/_types/_fd_def.h#L52_L54 | 17:46:06 |
Randy Eckenrode | Fish shell developer? | 17:47:01 |
Ihar Hrachyshka | I was actually also looking at the same struct def. so looks like we may need to also define the __DARWIN_FD_SETSIZE otherwise we write past the end of the struct (I think) | 17:47:57 |
Randy Eckenrode | Or malloc it based on the size of the incoming set. | 17:49:12 |
Randy Eckenrode | Glib supports using cleanup functions to make that less messy. | 17:49:27 |
Randy Eckenrode | Though if it’s a mask for all fds, you don’t really know the needed size. | 17:50:00 |
Randy Eckenrode | https://man.freebsd.org/cgi/man.cgi?select | 17:52:21 |
Randy Eckenrode | Apple mentioned FreeBSD being unlimited. I agree we should probably increase the amount of memory it’s using (either by defining FD_SETSIZE or some other way). | 17:53:19 |
Randy Eckenrode | Looks like (unsurprisingly) FreeBSD has a similar implementation.
https://github.com/freebsd/freebsd-src/blob/f51e9d0e0988df58c94db586ab5c8b5fd091c004/sys/sys/select.h#L65
| 17:55:17 |
Randy Eckenrode | I guess FreeBSD doesn’t enforce the limit if you define it to something non-default. | 17:55:46 |
Ihar Hrachyshka | so darwin just broke the api to pass posix | 17:56:22 |
Ihar Hrachyshka | well, broke -> adjusted to standard | 17:56:33 |