From 7ab5cc3ce998351ae63fd5d48e64d5f3573b1488 Mon Sep 17 00:00:00 2001 From: Ryo Nakamura Date: Sun, 21 Jan 2024 04:50:34 +0900 Subject: make it buildable at FreeBSD --- src/fileops.c | 2 +- src/platform.c | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/fileops.c b/src/fileops.c index 6f55ca9..ac85bf8 100644 --- a/src/fileops.c +++ b/src/fileops.c @@ -329,7 +329,7 @@ int mscp_glob(const char *pattern, int flags, glob_t *pglob, sftp_session sftp) #else flags |= GLOB_ALTDIRFUNC; set_tls_sftp_session(sftp); -#ifdef __APPLE__ +#if defined(__APPLE__) || defined(__FreeBSD__) pglob->gl_opendir = (void *(*)(const char *))mscp_opendir_wrapped; pglob->gl_readdir = (struct dirent *(*)(void *))mscp_readdir; pglob->gl_closedir = (void (*)(void *))mscp_closedir; diff --git a/src/platform.c b/src/platform.c index 6eac132..a2dfb86 100644 --- a/src/platform.c +++ b/src/platform.c @@ -7,6 +7,10 @@ #define _GNU_SOURCE #include #include +#elif __FreeBSD__ +#include +#include +#include #else #error unsupported platform #endif @@ -78,6 +82,17 @@ int nr_cpus() return CPU_COUNT(&cpu_set); return -1; } +#endif + +#ifdef __FreeBSD__ +int nr_cpus() +{ + long nr_cpus = sysconf(_SC_NPROCESSORS_ONLN); + return nr_cpus; +} +#endif + +#if defined(linux) || defined(__FreeBSD__) int set_thread_affinity(pthread_t tid, int core) { -- cgit v1.2.3