diff --git a/src/plugins/jobacct/linux/jobacct_linux.c b/src/plugins/jobacct/linux/jobacct_linux.c index 414280da2a4a3cbbebdb5dca542c28ec40c3402d..ac8410191575295235b8f178bd10bca4f6040b82 100644 --- a/src/plugins/jobacct/linux/jobacct_linux.c +++ b/src/plugins/jobacct/linux/jobacct_linux.c @@ -593,11 +593,16 @@ static int _get_process_data_line(FILE *in, prec_t *prec) { static void *_watch_tasks(void *arg) { + int rem; + while(!jobacct_shutdown) { /* Do this until shutdown is requested */ if(!suspended) { _get_process_data(); /* Update the data */ } - sleep(freq); + + rem = freq; + while (rem) /* subject to interupt */ + sleep(rem); } return NULL; }