mirror of
https://github.com/systemd/systemd.git
synced 2025-01-09 01:18:19 +03: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_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 = '''
|
||||
#include <uchar.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
|
||||
/* 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.) */
|
||||
r = sysctl_writef("fs/file-max", "%li", LONG_MAX);
|
||||
r = sysctl_write("fs/file-max", LONG_MAX_STR);
|
||||
if (r < 0)
|
||||
log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING,
|
||||
r, "Failed to bump fs.file-max, ignoring: %m");
|
||||
|
Loading…
Reference in New Issue
Block a user