mirror of
https://github.com/systemd/systemd
synced 2024-10-06 16:21:34 +00:00
manager: define a string constant for LONG_MAX and use that for sysctl
This moves the formatting of the constant to compilation time and let's us avoid asprintf() in the very hot path of initial boot.
This commit is contained in:
parent
b47e0fac03
commit
a5fac1df27
|
@ -510,6 +510,10 @@ conf.set('SIZEOF_TIME_T', cc.sizeof('time_t', prefix : '#include <sys/time.h>'))
|
||||||
conf.set('SIZEOF_RLIM_T', cc.sizeof('rlim_t', prefix : '#include <sys/resource.h>'))
|
conf.set('SIZEOF_RLIM_T', cc.sizeof('rlim_t', prefix : '#include <sys/resource.h>'))
|
||||||
conf.set('SIZEOF_TIMEX_MEMBER', cc.sizeof('typeof(((struct timex *)0)->freq)', prefix : '#include <sys/timex.h>'))
|
conf.set('SIZEOF_TIMEX_MEMBER', cc.sizeof('typeof(((struct timex *)0)->freq)', prefix : '#include <sys/timex.h>'))
|
||||||
|
|
||||||
|
long_max = cc.compute_int('LONG_MAX', prefix : '#include <limits.h>')
|
||||||
|
assert(long_max > 100000)
|
||||||
|
conf.set_quoted('LONG_MAX_STR', '@0@'.format(long_max))
|
||||||
|
|
||||||
decl_headers = '''
|
decl_headers = '''
|
||||||
#include <uchar.h>
|
#include <uchar.h>
|
||||||
#include <sys/mount.h>
|
#include <sys/mount.h>
|
||||||
|
|
|
@ -1184,7 +1184,7 @@ static void bump_file_max_and_nr_open(void) {
|
||||||
#if BUMP_PROC_SYS_FS_FILE_MAX
|
#if BUMP_PROC_SYS_FS_FILE_MAX
|
||||||
/* The maximum the kernel allows for this since 5.2 is LONG_MAX, use that. (Previously things were
|
/* The maximum the kernel allows for this since 5.2 is LONG_MAX, use that. (Previously things were
|
||||||
* different, but the operation would fail silently.) */
|
* different, but the operation would fail silently.) */
|
||||||
r = sysctl_writef("fs/file-max", "%li", LONG_MAX);
|
r = sysctl_write("fs/file-max", LONG_MAX_STR);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING,
|
log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING,
|
||||||
r, "Failed to bump fs.file-max, ignoring: %m");
|
r, "Failed to bump fs.file-max, ignoring: %m");
|
||||||
|
|
Loading…
Reference in a new issue