diff --git a/stepmania/src/archutils/Unix/LinuxThreadHelpers.cpp b/stepmania/src/archutils/Unix/LinuxThreadHelpers.cpp index 023335f0c2..b7f48e8fdd 100644 --- a/stepmania/src/archutils/Unix/LinuxThreadHelpers.cpp +++ b/stepmania/src/archutils/Unix/LinuxThreadHelpers.cpp @@ -7,6 +7,7 @@ #include "Backtrace.h" #include "archutils/Unix/RunningUnderValgrind.h" +#if defined(LINUX) #include #include #include @@ -238,6 +239,31 @@ bool GetThreadBacktraceContext( uint64_t ThreadID, BacktraceContext *ctx ) } #endif +#elif defined(BSD) +#include +#include + +RString ThreadsVersion() +{ + return "(unknown)"; +} + +uint64_t GetCurrentThreadId() +{ + return uint64_t( pthread_self() ); +} + +int SuspendThread( uint64_t id ) +{ + return pthread_kill( id, SIGSTOP ); +} + +int ResumeThread( uint64_t id ) +{ + return pthread_kill( id, SIGCONT ); +} +#endif + /* * (c) 2004 Glenn Maynard * All rights reserved. diff --git a/stepmania/src/archutils/Unix/SignalHandler.cpp b/stepmania/src/archutils/Unix/SignalHandler.cpp index 1f9c28b2d0..6bd52ca55a 100644 --- a/stepmania/src/archutils/Unix/SignalHandler.cpp +++ b/stepmania/src/archutils/Unix/SignalHandler.cpp @@ -14,6 +14,8 @@ #if defined(MACOSX) extern "C" int sigaltstack(const stack_t * __restrict, stack_t * __restrict); +#endif +#if !defined(MAP_ANONYMOUS) && defined(MAP_ANON) # define MAP_ANONYMOUS MAP_ANON #endif diff --git a/stepmania/src/archutils/Unix/arch_setup.h b/stepmania/src/archutils/Unix/arch_setup.h index 05e7362297..945bc5990c 100644 --- a/stepmania/src/archutils/Unix/arch_setup.h +++ b/stepmania/src/archutils/Unix/arch_setup.h @@ -5,6 +5,15 @@ #include #endif +#ifdef BSD +#include +#undef ALIGN +#undef MACHINE +#if defined(__NetBSD_Version__) && __NetBSD_Version < 299000900 +#define lrintf(x) ((int)rint(x)) +#endif +#endif + #define HAVE_CRYPTOPP // XXX: Maybe we should make sure we're using GCC first?