mirror of
https://github.com/hashcat/hashcat.git
synced 2024-11-22 16:18:09 +00:00
Move global mux_dispatcher variable into opencl_ctx_t
This commit is contained in:
parent
4cde17aea7
commit
3adbf3d0d5
@ -16,14 +16,6 @@
|
||||
#include <windows.h>
|
||||
#endif // _WIN
|
||||
|
||||
#if defined (_WIN)
|
||||
typedef HANDLE hc_thread_t;
|
||||
typedef CRITICAL_SECTION hc_thread_mutex_t;
|
||||
#elif defined (_POSIX)
|
||||
typedef pthread_t hc_thread_t;
|
||||
typedef pthread_mutex_t hc_thread_mutex_t;
|
||||
#endif
|
||||
|
||||
#if defined (_WIN)
|
||||
|
||||
#define hc_thread_create(t,f,a) t = CreateThread (NULL, 0, (LPTHREAD_START_ROUTINE) &f, a, 0, NULL)
|
||||
|
@ -45,12 +45,22 @@ typedef uint32_t uint; // we need to get rid of this sooner or later, for consis
|
||||
// timer
|
||||
|
||||
#if defined (_WIN)
|
||||
typedef LARGE_INTEGER hc_timer_t;
|
||||
typedef LARGE_INTEGER hc_timer_t;
|
||||
#elif defined (_POSIX)
|
||||
typedef struct timeval hc_timer_t;
|
||||
typedef struct timeval hc_timer_t;
|
||||
#endif
|
||||
|
||||
// thread
|
||||
|
||||
#if defined (_WIN)
|
||||
typedef HANDLE hc_thread_t;
|
||||
typedef CRITICAL_SECTION hc_thread_mutex_t;
|
||||
#elif defined (_POSIX)
|
||||
typedef pthread_t hc_thread_t;
|
||||
typedef pthread_mutex_t hc_thread_mutex_t;
|
||||
#endif
|
||||
|
||||
// enums
|
||||
|
||||
typedef enum wl_mode
|
||||
{
|
||||
@ -67,7 +77,6 @@ typedef enum hl_mode
|
||||
|
||||
} hl_mode_t;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char *file_name;
|
||||
@ -76,7 +85,6 @@ typedef struct
|
||||
|
||||
} outfile_data_t;
|
||||
|
||||
|
||||
typedef enum attack_mode
|
||||
{
|
||||
ATTACK_MODE_STRAIGHT = 0,
|
||||
@ -526,6 +534,8 @@ typedef struct
|
||||
|
||||
int force_jit_compilation;
|
||||
|
||||
hc_thread_mutex_t mux_dispatcher;
|
||||
|
||||
} opencl_ctx_t;
|
||||
|
||||
#if defined (__APPLE__)
|
||||
@ -789,8 +799,6 @@ typedef struct
|
||||
* threads
|
||||
*/
|
||||
|
||||
|
||||
|
||||
opencl_ctx_t *opencl_ctx;
|
||||
|
||||
u32 shutdown_inner;
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include "mpsp.h"
|
||||
#include "rp_cpu.h"
|
||||
#include "tuningdb.h"
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hwmon.h"
|
||||
#include "restore.h"
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include "mpsp.h"
|
||||
#include "rp_cpu.h"
|
||||
#include "tuningdb.h"
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hwmon.h"
|
||||
#include "restore.h"
|
||||
|
@ -16,11 +16,11 @@
|
||||
#include "ext_nvml.h"
|
||||
#include "ext_xnvctrl.h"
|
||||
#include "tuningdb.h"
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hwmon.h"
|
||||
#include "restore.h"
|
||||
#include "hash_management.h"
|
||||
#include "thread.h"
|
||||
#include "rp_cpu.h"
|
||||
#include "terminal.h"
|
||||
#include "mpsp.h"
|
||||
@ -40,8 +40,6 @@ extern hc_global_data_t data;
|
||||
|
||||
extern hc_thread_mutex_t mux_counter;
|
||||
|
||||
hc_thread_mutex_t mux_dispatcher;
|
||||
|
||||
static void set_kernel_power_final (const u64 kernel_power_final)
|
||||
{
|
||||
if (data.quiet == 0)
|
||||
@ -79,9 +77,9 @@ static u32 get_power (hc_device_param_t *device_param)
|
||||
return device_param->kernel_power;
|
||||
}
|
||||
|
||||
static uint get_work (hc_device_param_t *device_param, const u64 max)
|
||||
static uint get_work (opencl_ctx_t *opencl_ctx, hc_device_param_t *device_param, const u64 max)
|
||||
{
|
||||
hc_thread_mutex_lock (mux_dispatcher);
|
||||
hc_thread_mutex_lock (opencl_ctx->mux_dispatcher);
|
||||
|
||||
const u64 words_cur = data.words_cur;
|
||||
const u64 words_base = (data.limit == 0) ? data.words_base : MIN (data.limit, data.words_base);
|
||||
@ -108,7 +106,7 @@ static uint get_work (hc_device_param_t *device_param, const u64 max)
|
||||
|
||||
data.words_cur += work;
|
||||
|
||||
hc_thread_mutex_unlock (mux_dispatcher);
|
||||
hc_thread_mutex_unlock (opencl_ctx->mux_dispatcher);
|
||||
|
||||
return work;
|
||||
}
|
||||
@ -130,11 +128,11 @@ void *thread_calc_stdin (void *p)
|
||||
|
||||
while (opencl_ctx->run_thread_level1 == true)
|
||||
{
|
||||
hc_thread_mutex_lock (mux_dispatcher);
|
||||
hc_thread_mutex_lock (opencl_ctx->mux_dispatcher);
|
||||
|
||||
if (feof (stdin) != 0)
|
||||
{
|
||||
hc_thread_mutex_unlock (mux_dispatcher);
|
||||
hc_thread_mutex_unlock (opencl_ctx->mux_dispatcher);
|
||||
|
||||
break;
|
||||
}
|
||||
@ -201,7 +199,7 @@ void *thread_calc_stdin (void *p)
|
||||
while (opencl_ctx->run_thread_level1 == false) break;
|
||||
}
|
||||
|
||||
hc_thread_mutex_unlock (mux_dispatcher);
|
||||
hc_thread_mutex_unlock (opencl_ctx->mux_dispatcher);
|
||||
|
||||
while (opencl_ctx->run_thread_level1 == false) break;
|
||||
|
||||
@ -257,7 +255,7 @@ void *thread_calc (void *p)
|
||||
{
|
||||
while (opencl_ctx->run_thread_level1 == true)
|
||||
{
|
||||
const uint work = get_work (device_param, -1u);
|
||||
const uint work = get_work (opencl_ctx, device_param, -1u);
|
||||
|
||||
if (work == 0) break;
|
||||
|
||||
@ -371,7 +369,7 @@ void *thread_calc (void *p)
|
||||
|
||||
while (max)
|
||||
{
|
||||
const uint work = get_work (device_param, max);
|
||||
const uint work = get_work (opencl_ctx, device_param, max);
|
||||
|
||||
if (work == 0) break;
|
||||
|
||||
|
@ -17,12 +17,12 @@
|
||||
#include "mpsp.h"
|
||||
#include "rp_cpu.h"
|
||||
#include "tuningdb.h"
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hwmon.h"
|
||||
#include "restore.h"
|
||||
#include "hash_management.h"
|
||||
#include "filehandling.h"
|
||||
#include "thread.h"
|
||||
#include "outfile.h"
|
||||
#include "potfile.h"
|
||||
#include "debugfile.h"
|
||||
|
@ -45,11 +45,11 @@
|
||||
#include "cpu_sha256.h"
|
||||
#include "filehandling.h"
|
||||
#include "tuningdb.h"
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hwmon.h"
|
||||
#include "restore.h"
|
||||
#include "hash_management.h"
|
||||
#include "thread.h"
|
||||
#include "locking.h"
|
||||
#include "rp_cpu.h"
|
||||
#include "rp_kernel_on_cpu.h"
|
||||
@ -93,7 +93,6 @@ extern int SUPPRESS_OUTPUT;
|
||||
extern hc_thread_mutex_t mux_hwmon;
|
||||
extern hc_thread_mutex_t mux_display;
|
||||
extern hc_thread_mutex_t mux_counter;
|
||||
extern hc_thread_mutex_t mux_dispatcher;
|
||||
|
||||
extern void (*get_next_word_func) (char *, u32, u32 *, u32 *);
|
||||
|
||||
@ -186,7 +185,6 @@ int main (int argc, char **argv)
|
||||
int myargc = argc;
|
||||
char **myargv = argv;
|
||||
|
||||
hc_thread_mutex_init (mux_dispatcher);
|
||||
hc_thread_mutex_init (mux_counter);
|
||||
hc_thread_mutex_init (mux_display);
|
||||
hc_thread_mutex_init (mux_hwmon);
|
||||
@ -5334,7 +5332,6 @@ int main (int argc, char **argv)
|
||||
|
||||
// destroy others mutex
|
||||
|
||||
hc_thread_mutex_delete (mux_dispatcher);
|
||||
hc_thread_mutex_delete (mux_counter);
|
||||
hc_thread_mutex_delete (mux_display);
|
||||
hc_thread_mutex_delete (mux_hwmon);
|
||||
|
@ -19,11 +19,11 @@
|
||||
#include "ext_nvml.h"
|
||||
#include "ext_xnvctrl.h"
|
||||
#include "tuningdb.h"
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hwmon.h"
|
||||
#include "restore.h"
|
||||
#include "hash_management.h"
|
||||
#include "thread.h"
|
||||
#include "filehandling.h"
|
||||
#include "rp_cpu.h"
|
||||
#include "inc_hash_constants.h"
|
||||
|
@ -17,11 +17,11 @@
|
||||
#include "mpsp.h"
|
||||
#include "rp_cpu.h"
|
||||
#include "tuningdb.h"
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hwmon.h"
|
||||
#include "restore.h"
|
||||
#include "hash_management.h"
|
||||
#include "thread.h"
|
||||
#include "outfile.h"
|
||||
#include "potfile.h"
|
||||
#include "debugfile.h"
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include "rp_cpu.h"
|
||||
#include "mpsp.h"
|
||||
#include "tuningdb.h"
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hwmon.h"
|
||||
#include "restore.h"
|
||||
|
@ -17,11 +17,11 @@
|
||||
#include "mpsp.h"
|
||||
#include "rp_cpu.h"
|
||||
#include "tuningdb.h"
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hwmon.h"
|
||||
#include "restore.h"
|
||||
#include "hash_management.h"
|
||||
#include "thread.h"
|
||||
#include "outfile.h"
|
||||
#include "potfile.h"
|
||||
#include "debugfile.h"
|
||||
|
@ -21,11 +21,11 @@
|
||||
#include "ext_xnvctrl.h"
|
||||
#include "filehandling.h"
|
||||
#include "tuningdb.h"
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hwmon.h"
|
||||
#include "restore.h"
|
||||
#include "hash_management.h"
|
||||
#include "thread.h"
|
||||
#include "mpsp.h"
|
||||
#include "rp_cpu.h"
|
||||
#include "outfile.h"
|
||||
|
@ -22,7 +22,6 @@
|
||||
#include "hwmon.h"
|
||||
#include "restore.h"
|
||||
#include "hash_management.h"
|
||||
#include "thread.h"
|
||||
#include "status.h"
|
||||
#include "stdout.h"
|
||||
#include "mpsp.h"
|
||||
@ -1314,6 +1313,8 @@ int opencl_ctx_init (opencl_ctx_t *opencl_ctx, const char *opencl_platforms, con
|
||||
return 0;
|
||||
}
|
||||
|
||||
hc_thread_mutex_init (opencl_ctx->mux_dispatcher);
|
||||
|
||||
opencl_ctx->devices_status = STATUS_INIT;
|
||||
opencl_ctx->run_main_level1 = true;
|
||||
opencl_ctx->run_main_level2 = true;
|
||||
@ -1499,6 +1500,8 @@ void opencl_ctx_destroy (opencl_ctx_t *opencl_ctx)
|
||||
|
||||
myfree (opencl_ctx->platform_devices);
|
||||
|
||||
hc_thread_mutex_delete (opencl_ctx->mux_dispatcher);
|
||||
|
||||
myfree (opencl_ctx);
|
||||
}
|
||||
|
||||
|
@ -17,6 +17,7 @@
|
||||
#include "mpsp.h"
|
||||
#include "rp_cpu.h"
|
||||
#include "tuningdb.h"
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hwmon.h"
|
||||
#include "restore.h"
|
||||
@ -29,7 +30,6 @@
|
||||
#include "status.h"
|
||||
#include "convert.h"
|
||||
#include "shared.h"
|
||||
#include "thread.h"
|
||||
#include "outfile_check.h"
|
||||
|
||||
extern hc_global_data_t data;
|
||||
|
@ -15,11 +15,11 @@
|
||||
#include "ext_nvml.h"
|
||||
#include "ext_xnvctrl.h"
|
||||
#include "tuningdb.h"
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hwmon.h"
|
||||
#include "restore.h"
|
||||
#include "hash_management.h"
|
||||
#include "thread.h"
|
||||
#include "rp_cpu.h"
|
||||
#include "mpsp.h"
|
||||
#include "outfile.h"
|
||||
|
@ -20,11 +20,11 @@
|
||||
#include "ext_xnvctrl.h"
|
||||
#include "convert.h"
|
||||
#include "tuningdb.h"
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hwmon.h"
|
||||
#include "restore.h"
|
||||
#include "hash_management.h"
|
||||
#include "thread.h"
|
||||
#include "rp_cpu.h"
|
||||
#include "terminal.h"
|
||||
#include "mpsp.h"
|
||||
|
@ -15,11 +15,11 @@
|
||||
#include "ext_nvml.h"
|
||||
#include "ext_xnvctrl.h"
|
||||
#include "tuningdb.h"
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hwmon.h"
|
||||
#include "restore.h"
|
||||
#include "hash_management.h"
|
||||
#include "thread.h"
|
||||
#include "rp_cpu.h"
|
||||
#include "terminal.h"
|
||||
#include "mpsp.h"
|
||||
|
@ -17,11 +17,11 @@
|
||||
#include "ext_nvml.h"
|
||||
#include "ext_xnvctrl.h"
|
||||
#include "tuningdb.h"
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hwmon.h"
|
||||
#include "restore.h"
|
||||
#include "hash_management.h"
|
||||
#include "thread.h"
|
||||
#include "locking.h"
|
||||
#include "rp_cpu.h"
|
||||
#include "rp_kernel_on_cpu.h"
|
||||
|
@ -16,11 +16,11 @@
|
||||
#include "mpsp.h"
|
||||
#include "rp_cpu.h"
|
||||
#include "tuningdb.h"
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hwmon.h"
|
||||
#include "restore.h"
|
||||
#include "hash_management.h"
|
||||
#include "thread.h"
|
||||
#include "outfile.h"
|
||||
#include "potfile.h"
|
||||
#include "debugfile.h"
|
||||
|
@ -16,11 +16,11 @@
|
||||
#include "ext_nvml.h"
|
||||
#include "ext_xnvctrl.h"
|
||||
#include "tuningdb.h"
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hwmon.h"
|
||||
#include "restore.h"
|
||||
#include "hash_management.h"
|
||||
#include "thread.h"
|
||||
#include "rp_cpu.h"
|
||||
#include "terminal.h"
|
||||
#include "mpsp.h"
|
||||
|
@ -12,6 +12,7 @@
|
||||
#include "filehandling.h"
|
||||
#include "ext_OpenCL.h"
|
||||
#include "tuningdb.h"
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hash_management.h"
|
||||
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include "mpsp.h"
|
||||
#include "rp_cpu.h"
|
||||
#include "tuningdb.h"
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hwmon.h"
|
||||
#include "restore.h"
|
||||
|
@ -17,11 +17,11 @@
|
||||
#include "ext_nvml.h"
|
||||
#include "ext_xnvctrl.h"
|
||||
#include "tuningdb.h"
|
||||
#include "thread.h"
|
||||
#include "opencl.h"
|
||||
#include "hwmon.h"
|
||||
#include "restore.h"
|
||||
#include "hash_management.h"
|
||||
#include "thread.h"
|
||||
#include "locking.h"
|
||||
#include "rp_cpu.h"
|
||||
#include "rp_kernel_on_cpu.h"
|
||||
|
Loading…
Reference in New Issue
Block a user