ARGOBOTS  8bef54a19d7b3e50f977f85716578b627bf37d9c
Data Structures | Macros | Typedefs | Functions
abtd_futex.c File Reference
#include "abti.h"
#include <pthread.h>
Include dependency graph for abtd_futex.c:

Go to the source code of this file.

Data Structures

struct  pthread_sync
 

Macros

#define PTHREAD_SYNC_STATIC_INITIALIZER
 

Typedefs

typedef struct pthread_sync pthread_sync
 

Functions

void ABTD_futex_wait_and_unlock (ABTD_futex_multiple *p_futex, ABTD_spinlock *p_lock)
 
void ABTD_futex_timedwait_and_unlock (ABTD_futex_multiple *p_futex, ABTD_spinlock *p_lock, double wait_time_sec)
 
void ABTD_futex_broadcast (ABTD_futex_multiple *p_futex)
 
void ABTD_futex_suspend (ABTD_futex_single *p_futex)
 
void ABTD_futex_resume (ABTD_futex_single *p_futex)
 

Macro Definition Documentation

◆ PTHREAD_SYNC_STATIC_INITIALIZER

#define PTHREAD_SYNC_STATIC_INITIALIZER
Value:
{ \
PTHREAD_MUTEX_INITIALIZER, PTHREAD_COND_INITIALIZER, NULL, NULL, \
ABTD_ATOMIC_INT_STATIC_INITIALIZER(0), \
}

Definition at line 81 of file abtd_futex.c.

Typedef Documentation

◆ pthread_sync

typedef struct pthread_sync pthread_sync

Function Documentation

◆ ABTD_futex_broadcast()

void ABTD_futex_broadcast ( ABTD_futex_multiple p_futex)

Definition at line 174 of file abtd_futex.c.

Referenced by ABTI_waitlist_broadcast(), and ABTI_waitlist_signal().

◆ ABTD_futex_resume()

void ABTD_futex_resume ( ABTD_futex_single p_futex)

◆ ABTD_futex_suspend()

void ABTD_futex_suspend ( ABTD_futex_single p_futex)

Definition at line 191 of file abtd_futex.c.

◆ ABTD_futex_timedwait_and_unlock()

void ABTD_futex_timedwait_and_unlock ( ABTD_futex_multiple p_futex,
ABTD_spinlock p_lock,
double  wait_time_sec 
)

Definition at line 117 of file abtd_futex.c.

Referenced by ABTI_waitlist_wait_timedout_and_unlock().

◆ ABTD_futex_wait_and_unlock()

void ABTD_futex_wait_and_unlock ( ABTD_futex_multiple p_futex,
ABTD_spinlock p_lock 
)

Definition at line 87 of file abtd_futex.c.

Referenced by ABTI_waitlist_wait_and_unlock().