/* * Misc pli routines */ #include <stdio.h> #include <signal.h> #include <sys/resource.h> #include "acc_user.h" static void exceededtimelimit(int sig) { fprintf(stderr, "ERROR: Exceeded time limit. $finish()\n"); tf_dofinish(); } void set_timelimit(int data, int reason) { int seconds; struct rlimit rlim; seconds = tf_getp(1); fprintf(stderr, "setting time limit to %d:%02d\n", seconds/60, seconds%60); rlim.rlim_cur = rlim.rlim_max = seconds; sigset(SIGXCPU, exceededtimelimit); setrlimit(RLIMIT_CPU, &rlim); }