aboutsummaryrefslogtreecommitdiffstats
path: root/main/musl/0003-add-NFDBITS-in-sys-select.h-with-appropriate-feature.patch
blob: dc5cc287e4f3f8f713d6d9b8b103f419288df347 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
From ca9aff6a1646c7fc106bfbb9399b3a1bcb14f18b Mon Sep 17 00:00:00 2001
From: Rich Felker <dalias@aerifal.cx>
Date: Sat, 6 Jul 2013 01:12:28 -0400
Subject: [PATCH] add NFDBITS in sys/select.h with appropriate feature tests

the main use for this macro seems to be knowing the correct allocation
granularity for dynamic-sized fd_set objects. such usage is
non-conforming and results in undefined behavior, but it is widespread
in applications.
---
 include/sys/select.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/include/sys/select.h b/include/sys/select.h
index c5a2877..e25257d 100644
--- a/include/sys/select.h
+++ b/include/sys/select.h
@@ -32,6 +32,9 @@ typedef struct
 int select (int, fd_set *__restrict, fd_set *__restrict, fd_set *__restrict, struct timeval *__restrict);
 int pselect (int, fd_set *__restrict, fd_set *__restrict, fd_set *__restrict, const struct timespec *__restrict, const sigset_t *__restrict);
 
+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
+#define NFDBITS (8*(int)sizeof(long))
+#endif
 
 #ifdef __cplusplus
 }
-- 
1.8.3.2