eal/windows: add pthread mutex
Add pthread mutex lock as it is needed for the thread safe rte_flow functions. Signed-off-by: Suanming Mou <suanmingm@nvidia.com> Tested-by: Tal Shnaiderman <talshn@nvidia.com> Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> Acked-by: Ranjit Menon <ranjit.menon@intel.com> Acked-by: Narcisa Vasile <navasile@linux.microsoft.com>
This commit is contained in:
parent
ed94631da7
commit
96bb99f270
@ -28,6 +28,10 @@ typedef uintptr_t pthread_t;
|
||||
/* defining pthread_attr_t type on Windows since there is no in Microsoft libc*/
|
||||
typedef void *pthread_attr_t;
|
||||
|
||||
typedef void *pthread_mutexattr_t;
|
||||
|
||||
typedef CRITICAL_SECTION pthread_mutex_t;
|
||||
|
||||
typedef SYNCHRONIZATION_BARRIER pthread_barrier_t;
|
||||
|
||||
#define pthread_barrier_init(barrier, attr, count) \
|
||||
@ -146,6 +150,35 @@ pthread_join(__rte_unused pthread_t thread,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int
|
||||
pthread_mutex_init(pthread_mutex_t *mutex,
|
||||
__rte_unused pthread_mutexattr_t *attr)
|
||||
{
|
||||
InitializeCriticalSection(mutex);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int
|
||||
pthread_mutex_lock(pthread_mutex_t *mutex)
|
||||
{
|
||||
EnterCriticalSection(mutex);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int
|
||||
pthread_mutex_unlock(pthread_mutex_t *mutex)
|
||||
{
|
||||
LeaveCriticalSection(mutex);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int
|
||||
pthread_mutex_destroy(pthread_mutex_t *mutex)
|
||||
{
|
||||
DeleteCriticalSection(mutex);
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user