From e9cdc4c63179221109a0a3cd05d357197847ce96 Mon Sep 17 00:00:00 2001 From: Tobias Tangemann Date: Thu, 9 Jul 2015 23:51:07 +0200 Subject: [PATCH 1/5] Fix crash (and compiler warnings) [Upstream: https://github.com/opsengine/cpulimit/pull/48] Signed-off-by: Florian Fainelli --- src/cpulimit.c | 2 +- src/process_group.c | 4 ++++ tests/process_iterator_test.c | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/cpulimit.c b/src/cpulimit.c index 50eabeac..42d7ca28 100644 --- a/src/cpulimit.c +++ b/src/cpulimit.c @@ -43,7 +43,7 @@ #include #include -#ifdef __APPLE__ || __FREEBSD__ +#if defined(__APPLE__) || defined(__FREEBSD__) #include #endif diff --git a/src/process_group.c b/src/process_group.c index 06d73a6f..c9e148cd 100644 --- a/src/process_group.c +++ b/src/process_group.c @@ -25,6 +25,10 @@ #include #include +#if defined(__APPLE__) || defined(__FREEBSD__) +#include +#endif + #include #include "process_iterator.h" diff --git a/tests/process_iterator_test.c b/tests/process_iterator_test.c index 16151967..1bfc167b 100644 --- a/tests/process_iterator_test.c +++ b/tests/process_iterator_test.c @@ -28,7 +28,7 @@ #include #include -#ifdef __APPLE__ || __FREEBSD__ +#if defined(__APPLE__) || defined(__FREEBSD__) #include #endif From 19f19372f3d488ec30828f4a1570f2014c33f848 Mon Sep 17 00:00:00 2001 From: Portia Date: Sun, 1 May 2022 12:43:35 +1000 Subject: [PATCH 2/5] Remove sys/sysctl.h and add missing libgen.h include - sys/sysctl.h has been deprecated and should be removed - Adds missing libgen.h include when calling basename() Signed-off-by: Florian Fainelli [Upstream: https://github.com/opsengine/cpulimit/pull/109] --- src/cpulimit.c | 1 - src/process_group.c | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cpulimit.c b/src/cpulimit.c index 42d7ca28..1735b04a 100644 --- a/src/cpulimit.c +++ b/src/cpulimit.c @@ -38,7 +38,6 @@ #include #include #include -#include #include #include #include diff --git a/src/process_group.c b/src/process_group.c index c9e148cd..18ecac1e 100644 --- a/src/process_group.c +++ b/src/process_group.c @@ -24,6 +24,7 @@ #include #include #include +#include #if defined(__APPLE__) || defined(__FREEBSD__) #include From 1da7280482a74e2b45e633bf4c82fb4e4bb0e2b0 Mon Sep 17 00:00:00 2001 From: Pavel Timofeev Date: Thu, 14 Jul 2016 13:50:35 +0300 Subject: [PATCH 3/5] Fix an infrequent crash Signed-off-by: Florian Fainelli [Upstream: https://github.com/opsengine/cpulimit/pull/61] --- src/process_iterator_linux.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/process_iterator_linux.c b/src/process_iterator_linux.c index c8cdd07a..93b44bab 100644 --- a/src/process_iterator_linux.c +++ b/src/process_iterator_linux.c @@ -98,6 +98,7 @@ static int read_process_info(pid_t pid, struct process *p) //read command line sprintf(exefile,"/proc/%d/cmdline", p->pid); fd = fopen(exefile, "r"); + if (fd==NULL) return -1; if (fgets(buffer, sizeof(buffer), fd)==NULL) { fclose(fd); return -1; From ddec449c53c167ba3e1494cc9967771434e8a5ba Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Thu, 19 May 2022 14:22:40 -0700 Subject: [PATCH 4/5] Remove procfs.h inclusion We do not use anything from this header Signed-off-by: Florian Fainelli [Upstream: https://github.com/opsengine/cpulimit/pull/110] --- src/process_iterator.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/process_iterator.c b/src/process_iterator.c index 8b4019d2..5b6c651b 100644 --- a/src/process_iterator.c +++ b/src/process_iterator.c @@ -22,9 +22,6 @@ #include #include #include -#ifndef __APPLE__ -#include -#endif #include #include "process_iterator.h" From 74e95c96e8d82e4e374f86142972fcf4305fe1f2 Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Wed, 2 Jul 2025 20:47:58 -0700 Subject: [PATCH 5/5] Correct loop function signature loop is passed to pthread_create() which requires the following prototype to be used: void *(*start_routine) (void *) Correct the signature to avoid such warnings: In file included from busy.c:3: /home/buildroot/instance-0/output-1/host/mips-buildroot-linux-uclibc/sysroot/usr/include/pthread.h:164:36: note: expected 'void * (*)(void *)' but argument is of type 'void * (*)(void)' 164 | void *(*__start_routine) (void *), | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ busy.c:6:7: note: 'loop' declared here 6 | void *loop() | ^~~~ Signed-off-by: Florian Fainelli --- tests/busy.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/busy.c b/tests/busy.c index b3afb7cd..93f0bcce 100644 --- a/tests/busy.c +++ b/tests/busy.c @@ -3,7 +3,7 @@ #include #include -void *loop() +void *loop(void *) { while(1); } @@ -23,7 +23,7 @@ int main(int argc, char **argv) { exit(1); } } - loop(); + loop(NULL); return 0; }