From 5b21c81d6870e72629d3b12756e14a60bdc5261b Mon Sep 17 00:00:00 2001 From: anthk Date: Thu, 11 Mar 2021 09:40:02 +0000 Subject: Ajustes olvidados --- src/Makefile | 8 ++++++-- src/cpulimit.c | 4 +++- src/process_iterator.c | 16 +++++++++++++++- src/process_iterator.h | 8 +++++++- src/process_iterator_apple.c | 2 +- tests/Makefile | 4 ++++ 6 files changed, 36 insertions(+), 6 deletions(-) diff --git a/src/Makefile b/src/Makefile index 86fbfbd..863bf23 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,5 +1,6 @@ -CC?=gcc -CFLAGS?=-Wall -g -D_GNU_SOURCE +CC?=clang +CFLAGS?=-Wall -g -O0 -D_GNU_SOURCE +LDFLAGS+=-g TARGETS=cpulimit LIBS=list.o process_iterator.o process_group.o @@ -9,6 +10,9 @@ ifeq ($(UNAME), FreeBSD) LIBS+=-lkvm endif +ifeq ($(UNAME), OpenBSD) +LIBS+=-lkvm -lpthread +endif all:: $(TARGETS) $(LIBS) cpulimit: cpulimit.c $(LIBS) diff --git a/src/cpulimit.c b/src/cpulimit.c index 50eabea..a1a0a73 100644 --- a/src/cpulimit.c +++ b/src/cpulimit.c @@ -43,7 +43,7 @@ #include #include -#ifdef __APPLE__ || __FREEBSD__ +#if (defined __APPLE__) || (defined __FREEBSD__) || (defined __OpenBSD__) #include #endif @@ -181,6 +181,8 @@ int get_pid_max() return atoi(buffer); #elif defined __FreeBSD__ return 99998; +#elif defined __OpenBSD__ + return 99998; #elif defined __APPLE__ return 99998; #endif diff --git a/src/process_iterator.c b/src/process_iterator.c index 8b4019d..cf80fc2 100644 --- a/src/process_iterator.c +++ b/src/process_iterator.c @@ -22,9 +22,19 @@ #include #include #include -#ifndef __APPLE__ + +/*#ifndef __APPLE__ #include +#endif */ + +#if defined __OpenBSD__ +#include +#include +#include +#include +#include #endif + #include #include "process_iterator.h" @@ -38,6 +48,10 @@ #include "process_iterator_freebsd.c" +#elif defined __OpenBSD__ + +#include "process_iterator_openbsd.c" + #elif defined __APPLE__ #include "process_iterator_apple.c" diff --git a/src/process_iterator.h b/src/process_iterator.h index 70520b6..84668b5 100644 --- a/src/process_iterator.h +++ b/src/process_iterator.h @@ -27,6 +27,7 @@ #include #include + //USER_HZ detection, from openssl code #ifndef HZ # if defined(_SC_CLK_TCK) \ @@ -49,6 +50,11 @@ #include #endif +#ifdef __OpenBSD__ +#include +#include +#endif + // process descriptor struct process { //pid of the process @@ -75,7 +81,7 @@ struct process_iterator { #ifdef __linux__ DIR *dip; int boot_time; -#elif defined __FreeBSD__ +#elif ( defined __FreeBSD__) || (defined __OpenBSD__ ) kvm_t *kd; struct kinfo_proc *procs; int count; diff --git a/src/process_iterator_apple.c b/src/process_iterator_apple.c index b878ed8..076630d 100644 --- a/src/process_iterator_apple.c +++ b/src/process_iterator_apple.c @@ -77,7 +77,7 @@ static int pti2proc(struct proc_taskallinfo *ti, struct process *process) { process->pid = ti->pbsd.pbi_pid; process->ppid = ti->pbsd.pbi_ppid; process->starttime = ti->pbsd.pbi_start_tvsec; - process->cputime = (ti->ptinfo.pti_total_user + ti->ptinfo.pti_total_system) / 1000000; + process->cputime = ( (ti->ptinfo.pti_total_user + ti->ptinfo.pti_total_system) ) / 1000000; bytes = strlen(ti->pbsd.pbi_comm); memcpy(process->command, ti->pbsd.pbi_comm, (bytes < PATH_MAX ? bytes : PATH_MAX) + 1); return 0; diff --git a/tests/Makefile b/tests/Makefile index 764db87..785f16e 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -10,6 +10,10 @@ ifeq ($(UNAME), FreeBSD) LIBS+=-lkvm endif +ifeq ($(UNAME), OpenBSD) +LIBS+=-lkvm +endif + all:: $(TARGETS) busy: busy.c -- cgit v1.2.3