|
@@ -149,7 +149,9 @@ static void more_job_handler (BThreadWorkDispatcher *o)
|
|
|
|
|
|
|
|
static void work_job_handler (BThreadWork *o)
|
|
static void work_job_handler (BThreadWork *o)
|
|
|
{
|
|
{
|
|
|
|
|
+ #ifdef BADVPN_THREADWORK_USE_PTHREAD
|
|
|
ASSERT(o->d->num_threads == 0)
|
|
ASSERT(o->d->num_threads == 0)
|
|
|
|
|
+ #endif
|
|
|
DebugObject_Access(&o->d_obj);
|
|
DebugObject_Access(&o->d_obj);
|
|
|
|
|
|
|
|
// do the work
|
|
// do the work
|
|
@@ -172,8 +174,6 @@ int BThreadWorkDispatcher_Init (BThreadWorkDispatcher *o, BReactor *reactor, int
|
|
|
} else {
|
|
} else {
|
|
|
o->num_threads = num_threads_hint;
|
|
o->num_threads = num_threads_hint;
|
|
|
}
|
|
}
|
|
|
- #else
|
|
|
|
|
- o->num_threads = 0;
|
|
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef BADVPN_THREADWORK_USE_PTHREAD
|
|
#ifdef BADVPN_THREADWORK_USE_PTHREAD
|
|
@@ -305,6 +305,15 @@ void BThreadWorkDispatcher_Free (BThreadWorkDispatcher *o)
|
|
|
#endif
|
|
#endif
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+int BThreadWorkDispatcher_UsingThreads (BThreadWorkDispatcher *o)
|
|
|
|
|
+{
|
|
|
|
|
+ #ifdef BADVPN_THREADWORK_USE_PTHREAD
|
|
|
|
|
+ return (o->num_threads > 0);
|
|
|
|
|
+ #else
|
|
|
|
|
+ return 0;
|
|
|
|
|
+ #endif
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
void BThreadWork_Init (BThreadWork *o, BThreadWorkDispatcher *d, BThreadWork_handler_done handler_done, void *user, BThreadWork_work_func work_func, void *work_func_user)
|
|
void BThreadWork_Init (BThreadWork *o, BThreadWorkDispatcher *d, BThreadWork_handler_done handler_done, void *user, BThreadWork_work_func work_func, void *work_func_user)
|
|
|
{
|
|
{
|
|
|
DebugObject_Access(&d->d_obj);
|
|
DebugObject_Access(&d->d_obj);
|