restrict-process-size.c revision b3f03a6a9232d4e5a8682eff8d37bbcf41c487ec
5e0ce63bb65db34d7f48b34bbb5545fa791781c4Timo Sirainen/* Copyright (c) 2002-2003 Timo Sirainen */
dc4127f13f2d5cf44577471123ae70b7772b2e8cTimo Sirainenvoid restrict_process_size(unsigned int size __attr_unused__,
c0bb6a113c3e5f6af18fbd1b53caa134d20481b8Timo Sirainen rlim.rlim_max = rlim.rlim_cur = max_processes;
c0bb6a113c3e5f6af18fbd1b53caa134d20481b8Timo Sirainen i_fatal("setrlimit(RLIMIT_NPROC, %u): %m", size);
c0bb6a113c3e5f6af18fbd1b53caa134d20481b8Timo Sirainen rlim.rlim_max = rlim.rlim_cur = size*1024*1024;
c0bb6a113c3e5f6af18fbd1b53caa134d20481b8Timo Sirainen i_fatal("setrlimit(RLIMIT_DATA, %u): %m", size);
c0bb6a113c3e5f6af18fbd1b53caa134d20481b8Timo Sirainen i_fatal("setrlimit(RLIMIT_AS, %u): %m", size);
cfbab67e839000b57f32308dd26f9807b5dbe8e3Timo Sirainen "setrlimit() not supported by system. "
cfbab67e839000b57f32308dd26f9807b5dbe8e3Timo Sirainen "Set the limit to 0 to hide this warning.");
b3f03a6a9232d4e5a8682eff8d37bbcf41c487ecTimo Sirainen i_fatal("setrlimit(RLIMIT_NOFILE, %u): %m", count);
b3f03a6a9232d4e5a8682eff8d37bbcf41c487ecTimo Sirainenbool restrict_raise_fd_limit(unsigned int count)
b3f03a6a9232d4e5a8682eff8d37bbcf41c487ecTimo Sirainen new_rlim.rlim_cur = new_rlim.rlim_max = count;
b3f03a6a9232d4e5a8682eff8d37bbcf41c487ecTimo Sirainen /* raise as high as we can */