Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
David Goulet
Tor
Commits
e76581f9
Commit
e76581f9
authored
Nov 02, 2007
by
Nick Mathewson
🎨
Browse files
r14647@tombo: nickm | 2007-11-02 10:48:37 -0400
Use rlim_t instead of unsigned long to manipulate rlimit values. svn:r12339
parent
6aeca523
Changes
3
Hide whitespace changes
Inline
Side-by-side
ChangeLog
View file @
e76581f9
...
...
@@ -76,6 +76,9 @@ Changes in version 0.2.0.10-alpha - 2007-1?-??
- Stop leaking v2_download_status_map on shutdown. Bugfix on
0.2.0.9-alpha.
- Minor bugfixes (portability):
- Run correctly on platforms where rlim_t is larger than unsigned long.
Changes in version 0.2.0.9-alpha - 2007-10-24
This ninth development snapshot switches clients to the new v3 directory
...
...
configure.in
View file @
e76581f9
...
...
@@ -362,6 +362,12 @@ AC_CHECK_TYPES([struct in6_addr, struct sockaddr_in6, struct sockaddr_storage, s
#endif
])
AC_CHECK_TYPES([rlim_t], , ,
[#ifdef HAVE_SYS_RESOURCE_H
#include <sys/resource.h>
#endif
])
if test -z "$CROSS_COMPILE"; then
AC_CACHE_CHECK([whether time_t is signed], tor_cv_time_t_signed, [
AC_RUN_IFELSE(AC_LANG_SOURCE([
...
...
src/common/compat.c
View file @
e76581f9
...
...
@@ -663,6 +663,10 @@ 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.
*
...
...
@@ -684,7 +688,7 @@ set_max_file_descriptors(unsigned long limit, unsigned long cap)
}
#else
struct
rlimit
rlim
;
unsigned
long
most
;
rlim_t
most
;
tor_assert
(
limit
>
0
);
tor_assert
(
cap
>
0
);
...
...
@@ -693,16 +697,17 @@ set_max_file_descriptors(unsigned long limit, unsigned long cap)
strerror
(
errno
));
return
-
1
;
}
//log_notice(LD_CONFIG, "%llu %llu", rlim.rlim_cur, rlim.rlim_max);
if
((
unsigned
long
)
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
);
return
-
1
;
}
most
=
((
unsigned
long
)
rlim
.
rlim_max
>
cap
)
?
cap
:
(
unsigned
)
rlim
.
rlim_max
;
most
=
rlim
.
rlim_max
>
(
rlim_t
)
cap
?
(
rlim_t
)
cap
:
rlim
.
rlim_max
;
if
(
most
>
(
unsigned
long
)
rlim
.
rlim_cur
)
{
log_info
(
LD_NET
,
"Raising max file descriptors from %lu to %lu."
,
(
unsigned
long
)
rlim
.
rlim_cur
,
most
);
(
unsigned
long
)
rlim
.
rlim_cur
,
(
unsigned
long
)
most
);
}
rlim
.
rlim_cur
=
most
;
if
(
setrlimit
(
RLIMIT_NOFILE
,
&
rlim
)
!=
0
)
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment