diff options
Diffstat (limited to 'testing/cpulimit/fix-crash-on-sigquit.patch')
-rw-r--r-- | testing/cpulimit/fix-crash-on-sigquit.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/testing/cpulimit/fix-crash-on-sigquit.patch b/testing/cpulimit/fix-crash-on-sigquit.patch new file mode 100644 index 000000000..d406dec2e --- /dev/null +++ b/testing/cpulimit/fix-crash-on-sigquit.patch @@ -0,0 +1,27 @@ +Only in cpulimit.fix/: core +Only in cpulimit.fix/: src/cpulimit +--- cpulimit/src/cpulimit.c ++++ cpulimit.fix/src/cpulimit.c +@@ -89,11 +89,13 @@ + { + //let all the processes continue if stopped + struct list_node *node = NULL; +- for (node=pgroup.proclist->first; node!= NULL; node=node->next) { +- struct process *p = (struct process*)(node->data); +- kill(p->pid, SIGCONT); ++ if (pgroup.proclist) { ++ for (node=pgroup.proclist->first; node!= NULL; node=node->next) { ++ struct process *p = (struct process*)(node->data); ++ kill(p->pid, SIGCONT); ++ } ++ close_process_group(&pgroup); + } +- close_process_group(&pgroup); + //fix ^C little problem + printf("\r"); + fflush(stdout); +Only in cpulimit.fix/: src/list.o +Only in cpulimit.fix/: src/process_group.o +Only in cpulimit.fix/: src/process_iterator.o +Only in cpulimit.fix/: tests/busy +Only in cpulimit.fix/: tests/process_iterator_test |