@@ -160,24 +160,24 @@ auto main(int argc, char *argv[]) -> int {
160160 exit (RS_FAIL );
161161 }
162162
163- rlimit memlim{}, stalim{}, timlim{};
163+ rlimit64 memlim{}, stalim{}, timlim{};
164164
165165 if (memoryLimitMib > 0 ) {
166- memlim = (rlimit ){(rlim_t )actualMemoryRLimit, (rlim_t )actualMemoryRLimit};
167- stalim = (rlimit ){(rlim_t )actualMemoryRLimit, (rlim_t )actualMemoryRLimit};
166+ memlim = (rlimit64 ){(rlim64_t )actualMemoryRLimit, (rlim64_t )actualMemoryRLimit};
167+ stalim = (rlimit64 ){(rlim64_t )actualMemoryRLimit, (rlim64_t )actualMemoryRLimit};
168168 } else {
169169 // No memory limit specified, set to infinity
170- memlim = (rlimit){ RLIM_INFINITY , RLIM_INFINITY };
171- stalim = (rlimit ){(rlim_t )2147483647LL , (rlim_t )2147483647LL };
170+ memlim = (rlimit64){ RLIM64_INFINITY , RLIM64_INFINITY };
171+ stalim = (rlimit64 ){(rlim64_t )2147483647LL , (rlim64_t )2147483647LL };
172172 }
173173
174174 // Calculate time limit in seconds, rounding up
175- rlim_t soft_time_limit_sec = (timeLimitMs + 999 ) / 1000 ;
176- timlim = (rlimit ){soft_time_limit_sec, soft_time_limit_sec + 1 }; // Soft limit + 1 for hard limit
175+ rlim64_t soft_time_limit_sec = (timeLimitMs + 999 ) / 1000 ;
176+ timlim = (rlimit64 ){soft_time_limit_sec, soft_time_limit_sec + 1 }; // Soft limit + 1 for hard limit
177177
178- setrlimit ( RLIMIT_AS , &memlim);
179- setrlimit ( RLIMIT_STACK , &stalim);
180- setrlimit ( RLIMIT_CPU , &timlim);
178+ prlimit64 ( 0 , RLIMIT_AS , &memlim, nullptr );
179+ prlimit64 ( 0 , RLIMIT_STACK , &stalim, nullptr );
180+ prlimit64 ( 0 , RLIMIT_CPU , &timlim, nullptr );
181181
182182 if (execlp (" bash" , " bash" , " -c" , runCmd.c_str (), NULL ) == -1 ) {
183183 perror (" execlp" );
0 commit comments