summaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2008-02-21 21:15:31 +0000
committerNick Mathewson <nickm@torproject.org>2008-02-21 21:15:31 +0000
commitdaefbfe691fdc1856fd7ff91e50cd3600140359b (patch)
tree2daf6085e1b86c80f138fef4ef8df244448d5b8e /src/common
parente790dbe779de620bdb0b2f52d4d04ce84bb7c5a8 (diff)
downloadtor-daefbfe691fdc1856fd7ff91e50cd3600140359b.tar.gz
tor-daefbfe691fdc1856fd7ff91e50cd3600140359b.zip
r14371@tombo: nickm | 2008-02-21 16:13:18 -0500
Fix all -Wshorten-64-to-32 warnings that appear on my macbook. svn:r13662
Diffstat (limited to 'src/common')
-rw-r--r--src/common/compat.c14
-rw-r--r--src/common/compat.h11
2 files changed, 15 insertions, 10 deletions
diff --git a/src/common/compat.c b/src/common/compat.c
index f789b8310d..378ba06232 100644
--- a/src/common/compat.c
+++ b/src/common/compat.c
@@ -754,10 +754,6 @@ tor_socketpair(int family, int type, int protocol, int fd[2])
#define ULIMIT_BUFFER 32 /* keep 32 extra fd's beyond _ConnLimit */
-#if defined(HAVE_GETRLIMIT) && !defined(HAVE_RLIM_T)
-typedef unsigned long rlim_t;
-#endif
-
/** Learn the maximum allowed number of file descriptors. (Some systems
* have a low soft limit.
*
@@ -767,7 +763,7 @@ typedef unsigned long rlim_t;
*
* Otherwise, return 0 and store the maximum we found inside <b>max_out</b>.*/
int
-set_max_file_descriptors(unsigned long limit, int *max_out)
+set_max_file_descriptors(rlim_t limit, int *max_out)
{
#define DEFAULT_MAX_CONNECTIONS 15000
#define CYGWIN_MAX_CONNECTIONS 3200
@@ -819,10 +815,10 @@ set_max_file_descriptors(unsigned long limit, int *max_out)
return -1;
}
- if ((unsigned long)rlim.rlim_max < limit) {
+ if (rlim.rlim_max < limit) {
log_warn(LD_CONFIG,"We need %lu file descriptors available, and we're "
"limited to %lu. Please change your ulimit -n.",
- limit, (unsigned long)rlim.rlim_max);
+ (unsigned long)limit, (unsigned long)rlim.rlim_max);
return -1;
}
@@ -843,7 +839,7 @@ set_max_file_descriptors(unsigned long limit, int *max_out)
if (rlim.rlim_cur < (rlim_t)limit) {
log_warn(LD_CONFIG, "We are limited to %lu file descriptors by "
"OPEN_MAX, and ConnLimit is %lu. Changing ConnLimit; sorry.",
- (unsigned long)OPEN_MAX, limit);
+ (unsigned long)OPEN_MAX, (unsigned long)limit);
} else {
log_info(LD_CONFIG, "Dropped connection limit to OPEN_MAX (%lu); "
"Apparently, %lu was too high and rlimit lied to us.",
@@ -869,7 +865,7 @@ set_max_file_descriptors(unsigned long limit, int *max_out)
return -1;
}
if (limit > INT_MAX)
- limit = INT_MAX;
+ limit = INT_MAX;
tor_assert(max_out);
*max_out = (int)limit - ULIMIT_BUFFER;
return 0;
diff --git a/src/common/compat.h b/src/common/compat.h
index 3ac38d7dac..75b6e5420f 100644
--- a/src/common/compat.h
+++ b/src/common/compat.h
@@ -37,9 +37,15 @@
#include <ctype.h>
#endif
#include <stdarg.h>
+#ifdef HAVE_SYS_RESOURCE_H
+#include <sys/resource.h>
+#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
@@ -443,7 +449,10 @@ uint32_t get_uint32(const char *cp) ATTR_PURE ATTR_NONNULL((1));
void set_uint16(char *cp, uint16_t v) ATTR_NONNULL((1));
void set_uint32(char *cp, uint32_t v) ATTR_NONNULL((1));
-int set_max_file_descriptors(unsigned long limit, int *max);
+#if !defined(HAVE_RLIM_T)
+typedef unsigned long rlim_t;
+#endif
+int set_max_file_descriptors(rlim_t limit, int *max);
int switch_id(const char *user, const char *group);
#ifdef HAVE_PWD_H
char *get_user_homedir(const char *username);