summaryrefslogtreecommitdiff
path: root/rts
diff options
context:
space:
mode:
authorNiklas Hambüchen <mail@nh2.me>2017-09-19 15:11:38 -0400
committerBen Gamari <ben@smart-cactus.org>2017-09-19 15:58:46 -0400
commit11c478b50e2f56174889fadef3a4e51ed95907d3 (patch)
treef6a2208e607b0a37e2292a5fb3211ee1c7d0f5e3 /rts
parent66240c9bc77408f841e8cf974d44580434fb1a48 (diff)
downloadhaskell-11c478b50e2f56174889fadef3a4e51ed95907d3.tar.gz
rts: Update comment about FreeBSD's unsigned FD_SETSIZE
Reviewers: bgamari, austin, erikd, simonmar Reviewed By: bgamari Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3957
Diffstat (limited to 'rts')
-rw-r--r--rts/posix/Select.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/rts/posix/Select.c b/rts/posix/Select.c
index 3d3b70b565..270e6ff45c 100644
--- a/rts/posix/Select.c
+++ b/rts/posix/Select.c
@@ -256,9 +256,14 @@ awaitEvent(bool wait)
for(tso = blocked_queue_hd; tso != END_TSO_QUEUE; tso = next) {
next = tso->_link;
- /* On FreeBSD FD_SETSIZE is unsigned. Cast it to signed int
+ /* On older FreeBSDs, FD_SETSIZE is unsigned. Cast it to signed int
* in order to switch off the 'comparison between signed and
* unsigned error message
+ * Newer versions of FreeBSD have switched to unsigned int:
+ * https://github.com/freebsd/freebsd/commit/12ae7f74a071f0439763986026525094a7032dfd
+ * http://fa.freebsd.cvs-all.narkive.com/bCWNHbaC/svn-commit-r265051-head-sys-sys
+ * So the (int) cast should be removed across the code base once
+ * GHC requires a version of FreeBSD that has that change in it.
*/
switch (tso->why_blocked) {
case BlockedOnRead: