|
472 | 472 | #define WOLFSSL_MUTEX_INITIALIZER_CLAUSE(lockname) /* null expansion */ |
473 | 473 | #endif |
474 | 474 |
|
475 | | -#if !defined(WOLFSSL_USE_RWLOCK) || defined(SINGLE_THREADED) |
| 475 | +#if !defined(WOLFSSL_USE_RWLOCK) || defined(SINGLE_THREADED) || \ |
| 476 | + (defined(WC_MUTEX_OPS_INLINE) && !defined(WC_RWLOCK_OPS_INLINE)) |
476 | 477 | typedef wolfSSL_Mutex wolfSSL_RwLock; |
477 | 478 | #endif |
478 | 479 |
|
@@ -829,17 +830,21 @@ WOLFSSL_LOCAL void wolfSSL_RefWithMutexDec(wolfSSL_RefWithMutex* ref, |
829 | 830 | #endif /* !defined(NO_PK_MUTEX) && defined(WOLFSSL_ALGO_HW_MUTEX) */ |
830 | 831 |
|
831 | 832 | /* Mutex functions */ |
832 | | -WOLFSSL_API int wc_InitMutex(wolfSSL_Mutex* m); |
| 833 | +#ifndef WC_MUTEX_OPS_INLINE |
| 834 | + WOLFSSL_API int wc_InitMutex(wolfSSL_Mutex* m); |
| 835 | + WOLFSSL_API int wc_FreeMutex(wolfSSL_Mutex* m); |
| 836 | + WOLFSSL_API int wc_LockMutex(wolfSSL_Mutex* m); |
| 837 | + WOLFSSL_API int wc_UnLockMutex(wolfSSL_Mutex* m); |
| 838 | +#endif |
833 | 839 | WOLFSSL_API wolfSSL_Mutex* wc_InitAndAllocMutex(void); |
834 | | -WOLFSSL_API int wc_FreeMutex(wolfSSL_Mutex* m); |
835 | | -WOLFSSL_API int wc_LockMutex(wolfSSL_Mutex* m); |
836 | | -WOLFSSL_API int wc_UnLockMutex(wolfSSL_Mutex* m); |
837 | | -/* RwLock functions. Fallback to Mutex when not implemented explicitly. */ |
838 | | -WOLFSSL_API int wc_InitRwLock(wolfSSL_RwLock* m); |
839 | | -WOLFSSL_API int wc_FreeRwLock(wolfSSL_RwLock* m); |
840 | | -WOLFSSL_API int wc_LockRwLock_Wr(wolfSSL_RwLock* m); |
841 | | -WOLFSSL_API int wc_LockRwLock_Rd(wolfSSL_RwLock* m); |
842 | | -WOLFSSL_API int wc_UnLockRwLock(wolfSSL_RwLock* m); |
| 840 | +#ifndef WC_RWLOCK_OPS_INLINE |
| 841 | + /* RwLock functions. Fallback to Mutex when not implemented explicitly. */ |
| 842 | + WOLFSSL_API int wc_InitRwLock(wolfSSL_RwLock* m); |
| 843 | + WOLFSSL_API int wc_FreeRwLock(wolfSSL_RwLock* m); |
| 844 | + WOLFSSL_API int wc_LockRwLock_Wr(wolfSSL_RwLock* m); |
| 845 | + WOLFSSL_API int wc_LockRwLock_Rd(wolfSSL_RwLock* m); |
| 846 | + WOLFSSL_API int wc_UnLockRwLock(wolfSSL_RwLock* m); |
| 847 | +#endif |
843 | 848 | #if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER) |
844 | 849 | /* dynamically set which mutex to use. unlock / lock is controlled by flag */ |
845 | 850 | typedef void (mutex_cb)(int flag, int type, const char* file, int line); |
|
0 commit comments