projects
/
hashcat.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
883bc20
)
implement thread affinity for FreeBSD
author
Nikolai Lifanov
<lifanov@mail.lifanov.com>
Wed, 6 Jul 2016 12:24:09 +0000
(08:24 -0400)
committer
Nikolai Lifanov
<lifanov@mail.lifanov.com>
Wed, 6 Jul 2016 12:24:09 +0000
(08:24 -0400)
src/shared.c
patch
|
blob
|
history
diff --git
a/src/shared.c
b/src/shared.c
index
c2e7db8
..
e972b7d
100644
(file)
--- a/
src/shared.c
+++ b/
src/shared.c
@@
-6,8
+6,13
@@
* License.....: MIT
*/
* License.....: MIT
*/
-#if defined(DARWIN) || defined(__FreeBSD__)
+#ifdef DARWIN
+#include <stdio.h>
+#endif
+
+#ifdef __FreeBSD__
#include <stdio.h>
#include <stdio.h>
+#include <pthread_np.h>
#endif
#include <shared.h>
#endif
#include <shared.h>
@@
-4537,6
+4542,9
@@
void set_cpu_affinity (char *cpu_affinity)
{
#ifdef _WIN
DWORD_PTR aff_mask = 0;
{
#ifdef _WIN
DWORD_PTR aff_mask = 0;
+ #elif __FreeBSD__
+ cpuset_t cpuset;
+ CPU_ZERO (&cpuset);
#elif _POSIX
cpu_set_t cpuset;
CPU_ZERO (&cpuset);
#elif _POSIX
cpu_set_t cpuset;
CPU_ZERO (&cpuset);
@@
-4584,6
+4592,9
@@
void set_cpu_affinity (char *cpu_affinity)
#ifdef _WIN
SetProcessAffinityMask (GetCurrentProcess (), aff_mask);
SetThreadAffinityMask (GetCurrentThread (), aff_mask);
#ifdef _WIN
SetProcessAffinityMask (GetCurrentProcess (), aff_mask);
SetThreadAffinityMask (GetCurrentThread (), aff_mask);
+ #elif __FreeBSD__
+ pthread_t thread = pthread_self ();
+ pthread_setaffinity_np (thread, sizeof (cpuset_t), &cpuset);
#elif _POSIX
pthread_t thread = pthread_self ();
pthread_setaffinity_np (thread, sizeof (cpu_set_t), &cpuset);
#elif _POSIX
pthread_t thread = pthread_self ();
pthread_setaffinity_np (thread, sizeof (cpu_set_t), &cpuset);