On Feb 11 10:23, Patrick Chkoreff wrote: > I'm trying to use setrlimit to impose limits on various resources such > as CPU time and memory. The call to setrlimit always fails. I've > distilled this into the following example test.c: > > #include <stdio.h> > #include <stdlib.h> > #include <sys/resource.h> > > int main(void) > { > struct rlimit rlim; > rlim.rlim_cur = 1; > rlim.rlim_max = 1; > if (setrlimit(RLIMIT_CPU,&rlim) < 0) > { > perror("setrlimit"); > exit(1); > } > printf("HEY\n"); > while (1) > { > } > printf("BYE\n"); > return 0; > } > > $ gcc test.c > $ ./a.exe > setrlimit: Invalid argument > > > I have found that the only way to make the setrlimit call succeed is to > use RLIM_INFINITY: > > rlim.rlim_cur = RLIM_INFINITY; > rlim.rlim_max = RLIM_INFINITY; > > But then of course it does not achieve the desired result of timing out > after 1 second. > > Any ideas?
Most of setrlimit is not supported. There's a bit of RLIMIT_CORE and RLIMIT_NOFILE support but it's basically fake because Windows doesn't (or didn't in some cases) have support for setting limits for the own and child processes. Corinna -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple