about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRichard Nyberg <rnyberg@murmeldjur.se>2006-10-31 19:32:04 +0000
committerRichard Nyberg <rnyberg@murmeldjur.se>2006-10-31 19:32:04 +0000
commitfb64d693f13842a6220f4badec9b93b3b2e13d88 (patch)
tree940002797627fc572d2350c011506b5a03645573
parent4466a515e73d74434af32f027395deb0b9d033da (diff)
downloadbtpd-fb64d693f13842a6220f4badec9b93b3b2e13d88.tar.gz
btpd-fb64d693f13842a6220f4badec9b93b3b2e13d88.zip
Now that btpd doesn't use select, we don't need to limit fd's to FD_SETSIZE
unless libevent uses the select method.

-rw-r--r--btpd/net.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/btpd/net.c b/btpd/net.c
index c6af6ba..17271f0 100644
--- a/btpd/net.c
+++ b/btpd/net.c
@@ -655,7 +655,9 @@ net_init(void)
     m_bw_bytes_out = net_bw_limit_out;
     m_bw_bytes_in = net_bw_limit_in;
 
-    int safe_fds = min(getdtablesize(), FD_SETSIZE) * 4 / 5;
+    int safe_fds = getdtablesize() * 4 / 5;
+    if (strcmp(event_get_method(), "select") == 0)
+        safe_fds = min(safe_fds, FD_SETSIZE * 4 / 5);
     if (net_max_peers == 0 || net_max_peers > safe_fds)
         net_max_peers = safe_fds;