FreeBASIC  0.91.0
thread_cond.c File Reference
#include "../fb.h"
#include "../fb_private_thread.h"
Include dependency graph for thread_cond.c:

Go to the source code of this file.

Data Structures

struct  _FBCOND
 
struct  _FBCONDOPS
 

Macros

#define SIGNAL   0
 Windows condition variables handling routines, based on paper by Douglas C. More...
 
#define BROADCAST   1
 

Typedefs

typedef struct _FBCONDOPS FBCONDOPS
 

Functions

static FBCALL void fb_CondCreate_nt (FBCOND *cond)
 
static FBCALL void fb_CondDestroy_nt (FBCOND *cond)
 
static FBCALL void fb_CondSignal_nt (FBCOND *cond)
 
static FBCALL void fb_CondBroadcast_nt (FBCOND *cond)
 
static FBCALL void fb_CondWait_nt (FBCOND *cond, FBMUTEX *mutex)
 
static FBCALL void fb_CondCreate_9x (FBCOND *cond)
 
static FBCALL void fb_CondDestroy_9x (FBCOND *cond)
 
static FBCALL void fb_CondSignal_9x (FBCOND *cond)
 
static FBCALL void fb_CondBroadcast_9x (FBCOND *cond)
 
static FBCALL void fb_CondWait_9x (FBCOND *cond, FBMUTEX *mutex)
 
typedef DWORD (WINAPI *SIGNALOBJECTANDWAIT)(HANDLE
 
static void fb_CondInit (void)
 
FBCALL FBCONDfb_CondCreate (void)
 
FBCALL void fb_CondDestroy (FBCOND *cond)
 
FBCALL void fb_CondSignal (FBCOND *cond)
 
FBCALL void fb_CondBroadcast (FBCOND *cond)
 
FBCALL void fb_CondWait (FBCOND *cond, FBMUTEX *mutex)
 

Variables

typedef HANDLE
 
typedef DWORD
 
typedef BOOL
 
static SIGNALOBJECTANDWAIT pSignalObjectAndWait = NULL
 
static LONG __inited = FALSE
 
static FBCONDOPS __condops
 

Macro Definition Documentation

#define BROADCAST   1

Definition at line 13 of file thread_cond.c.

#define SIGNAL   0

Windows condition variables handling routines, based on paper by Douglas C.

Schmidt and Irfan Pyarali.

The code can choose between two implementations at runtime: one for Windows 9x, one for Windows NT.

Definition at line 12 of file thread_cond.c.

Typedef Documentation

typedef struct _FBCONDOPS FBCONDOPS

Function Documentation

typedef DWORD ( WINAPI *  SIGNALOBJECTANDWAIT)
FBCALL void fb_CondBroadcast ( FBCOND cond)

Definition at line 138 of file thread_cond.c.

static FBCALL void fb_CondBroadcast_9x ( FBCOND cond)
static

Definition at line 232 of file thread_cond.c.

Here is the caller graph for this function:

static FBCALL void fb_CondBroadcast_nt ( FBCOND cond)
static

Definition at line 172 of file thread_cond.c.

Here is the caller graph for this function:

FBCALL FBCOND* fb_CondCreate ( void  )

Definition at line 96 of file thread_cond.c.

Here is the call graph for this function:

static FBCALL void fb_CondCreate_9x ( FBCOND cond)
static

Definition at line 215 of file thread_cond.c.

Here is the caller graph for this function:

static FBCALL void fb_CondCreate_nt ( FBCOND cond)
static

Definition at line 154 of file thread_cond.c.

Here is the caller graph for this function:

FBCALL void fb_CondDestroy ( FBCOND cond)

Definition at line 113 of file thread_cond.c.

static FBCALL void fb_CondDestroy_9x ( FBCOND cond)
static

Definition at line 221 of file thread_cond.c.

Here is the caller graph for this function:

static FBCALL void fb_CondDestroy_nt ( FBCOND cond)
static

Definition at line 161 of file thread_cond.c.

Here is the caller graph for this function:

static void fb_CondInit ( void  )
inlinestatic

Definition at line 60 of file thread_cond.c.

Here is the call graph for this function:

Here is the caller graph for this function:

FBCALL void fb_CondSignal ( FBCOND cond)

Definition at line 122 of file thread_cond.c.

static FBCALL void fb_CondSignal_9x ( FBCOND cond)
static

Definition at line 227 of file thread_cond.c.

Here is the caller graph for this function:

static FBCALL void fb_CondSignal_nt ( FBCOND cond)
static

Definition at line 167 of file thread_cond.c.

Here is the caller graph for this function:

FBCALL void fb_CondWait ( FBCOND cond,
FBMUTEX mutex 
)

Definition at line 145 of file thread_cond.c.

static FBCALL void fb_CondWait_9x ( FBCOND cond,
FBMUTEX mutex 
)
static

Definition at line 244 of file thread_cond.c.

Here is the caller graph for this function:

static FBCALL void fb_CondWait_nt ( FBCOND cond,
FBMUTEX mutex 
)
static

Definition at line 189 of file thread_cond.c.

Here is the caller graph for this function:

Variable Documentation

FBCONDOPS __condops
static

Definition at line 58 of file thread_cond.c.

LONG __inited = FALSE
static

Definition at line 57 of file thread_cond.c.

typedef BOOL

Definition at line 54 of file thread_cond.c.

typedef DWORD

Definition at line 54 of file thread_cond.c.

typedef HANDLE

Definition at line 54 of file thread_cond.c.

SIGNALOBJECTANDWAIT pSignalObjectAndWait = NULL
static

Definition at line 56 of file thread_cond.c.