mtlock.h File Reference

#include <cray/libuni.h>
#include <synch.h>
Include dependency graph for mtlock.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define DECL_LOCK(name)   plock_t name;
#define DECL_MPP_LOCK(name)   mpplock_t name;
#define EXTERN_LOCK(name)   extern plock_t name;
#define EXTERN_MPP_LOCK(name)   extern mpplock_t name;
#define MULTI_ON   ($MULTION == 0)
#define MEM_LOCK(lock)   { if (MULTI_ON) _inline_mtlock(lock); }
#define MEM_UNLOCK(lock)   { if (MULTI_ON) _inline_mtunlock(lock); }
#define LMEM_LOCK(lock)   { _inline_mtlock(lock); }
#define LMEM_UNLOCK(lock)   { _inline_mtunlock(lock); }
#define MPP_LOCK(lock)
#define MPP_UNLOCK(lock)
#define LIB_LOCK(index)
#define LIB_UNLOCK(index)
#define ENVIRON_LOCK   0
#define TRACEBACK_LOCK   1
#define MESSAGE_LOCK   2
#define LIB_LOCK_MAX   64
#define SIGNBIT   (1<<63)
#define TSKLK   2
#define SHARED_CC_BUG_WORKAROUND(name)

Typedefs

typedef mutex_t plock_t
typedef long mpplock_t

Functions

 $MULTION (void)
int _lockon (plock_t *)
int _lockoff (plock_t *)
void _semts (int)
void _semclr (int)
void _cmr (void)
static void _inline_mtlock (plock_t *lck)
static void _inline_mtunlock (plock_t *lck)

Define Documentation

#define DECL_LOCK ( name   )     plock_t name;

Definition at line 89 of file mtlock.h.

#define DECL_MPP_LOCK ( name   )     mpplock_t name;

Definition at line 90 of file mtlock.h.

#define ENVIRON_LOCK   0

Definition at line 199 of file mtlock.h.

#define EXTERN_LOCK ( name   )     extern plock_t name;

Definition at line 91 of file mtlock.h.

#define EXTERN_MPP_LOCK ( name   )     extern mpplock_t name;

Definition at line 92 of file mtlock.h.

#define LIB_LOCK ( index   ) 

Definition at line 191 of file mtlock.h.

#define LIB_LOCK_MAX   64

Definition at line 202 of file mtlock.h.

#define LIB_UNLOCK ( index   ) 

Definition at line 192 of file mtlock.h.

#define LMEM_LOCK ( lock   )     { _inline_mtlock(lock); }

Definition at line 151 of file mtlock.h.

#define LMEM_UNLOCK ( lock   )     { _inline_mtunlock(lock); }

Definition at line 152 of file mtlock.h.

#define MEM_LOCK ( lock   )     { if (MULTI_ON) _inline_mtlock(lock); }
#define MEM_UNLOCK ( lock   )     { if (MULTI_ON) _inline_mtunlock(lock); }

Definition at line 118 of file mtlock.h.

Referenced by _clruptr(), _CLS(), _do_open(), _fortclean(), _get_cup(), _setuptr(), and _unit_close().

#define MESSAGE_LOCK   2

Definition at line 201 of file mtlock.h.

#define MPP_LOCK ( lock   ) 

Definition at line 174 of file mtlock.h.

Referenced by _ferr().

#define MPP_UNLOCK ( lock   ) 

Definition at line 175 of file mtlock.h.

#define MULTI_ON   ($MULTION == 0)

Definition at line 99 of file mtlock.h.

#define SHARED_CC_BUG_WORKAROUND ( name   ) 

Definition at line 343 of file mtlock.h.

#define SIGNBIT   (1<<63)

Definition at line 230 of file mtlock.h.

#define TRACEBACK_LOCK   1

Definition at line 200 of file mtlock.h.

#define TSKLK   2

Definition at line 256 of file mtlock.h.

Referenced by _inline_mtlock(), and _inline_mtunlock().


Typedef Documentation

typedef long mpplock_t

Definition at line 76 of file mtlock.h.

typedef mutex_t plock_t

Definition at line 69 of file mtlock.h.


Function Documentation

$MULTION ( void   ) 
void _cmr ( void   ) 

Referenced by _inline_mtlock(), and _inline_mtunlock().

static void _inline_mtlock ( plock_t lck  )  [static]

Definition at line 260 of file mtlock.h.

References _cmr(), _lockon(), _semclr(), _semts(), SIGNBIT, and TSKLK.

Here is the call graph for this function:

static void _inline_mtunlock ( plock_t lck  )  [static]

Definition at line 292 of file mtlock.h.

References _cmr(), _lockoff(), _semclr(), _semts(), SIGNBIT, and TSKLK.

Here is the call graph for this function:

int _lockoff ( plock_t  ) 

Referenced by _inline_mtunlock().

int _lockon ( plock_t  ) 

Referenced by _inline_mtlock().

void _semclr ( int   ) 

Referenced by _inline_mtlock(), and _inline_mtunlock().

void _semts ( int   ) 

Referenced by _inline_mtlock(), and _inline_mtunlock().


Generated on Tue Nov 17 06:05:08 2009 for Open64 (mfef90, whirl2f, and IR tools) by  doxygen 1.6.1