summaryrefslogtreecommitdiff
path: root/rts/posix/Select.c
diff options
context:
space:
mode:
Diffstat (limited to 'rts/posix/Select.c')
-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: