Lines Matching refs:tdata

19 static ossl_inline uint64_t _ossl_get_avail_threads(OSSL_LIB_CTX_THREADS *tdata)  in _ossl_get_avail_threads()  argument
22 return tdata->max_threads - tdata->active_threads; in _ossl_get_avail_threads()
28 OSSL_LIB_CTX_THREADS *tdata = OSSL_LIB_CTX_GET_THREADS(ctx); in ossl_get_avail_threads() local
30 if (tdata == NULL) in ossl_get_avail_threads()
33 ossl_crypto_mutex_lock(tdata->lock); in ossl_get_avail_threads()
34 retval = _ossl_get_avail_threads(tdata); in ossl_get_avail_threads()
35 ossl_crypto_mutex_unlock(tdata->lock); in ossl_get_avail_threads()
44 OSSL_LIB_CTX_THREADS *tdata = OSSL_LIB_CTX_GET_THREADS(ctx); in ossl_crypto_thread_start() local
46 if (tdata == NULL) in ossl_crypto_thread_start()
49 ossl_crypto_mutex_lock(tdata->lock); in ossl_crypto_thread_start()
50 if (tdata == NULL || tdata->max_threads == 0) { in ossl_crypto_thread_start()
51 ossl_crypto_mutex_unlock(tdata->lock); in ossl_crypto_thread_start()
55 while (_ossl_get_avail_threads(tdata) == 0) in ossl_crypto_thread_start()
56 ossl_crypto_condvar_wait(tdata->cond_finished, tdata->lock); in ossl_crypto_thread_start()
57 tdata->active_threads++; in ossl_crypto_thread_start()
58 ossl_crypto_mutex_unlock(tdata->lock); in ossl_crypto_thread_start()
62 ossl_crypto_mutex_lock(tdata->lock); in ossl_crypto_thread_start()
63 tdata->active_threads--; in ossl_crypto_thread_start()
64 ossl_crypto_mutex_unlock(tdata->lock); in ossl_crypto_thread_start()
76 OSSL_LIB_CTX_THREADS *tdata; in ossl_crypto_thread_join() local
81 tdata = OSSL_LIB_CTX_GET_THREADS(handle->ctx); in ossl_crypto_thread_join()
82 if (tdata == NULL) in ossl_crypto_thread_join()
88 ossl_crypto_mutex_lock(tdata->lock); in ossl_crypto_thread_join()
89 tdata->active_threads--; in ossl_crypto_thread_join()
90 ossl_crypto_condvar_signal(tdata->cond_finished); in ossl_crypto_thread_join()
91 ossl_crypto_mutex_unlock(tdata->lock); in ossl_crypto_thread_join()