Lines Matching refs:mtx
19 eMmutex_enter(eMmutex_t *mtx, char *file, int line)
23 mtx->eMm_owner);
24 if (mtx->eMm_magic != EMM_MAGIC) {
26 mtx->eMm_owner, mtx, mtx->eMm_magic);
29 if (mtx->eMm_held != 0) {
31 mtx->eMm_owner, mtx, mtx->eMm_held);
34 mtx->eMm_held++;
35 mtx->eMm_heldin = file;
36 mtx->eMm_heldat = line;
41 eMmutex_exit(eMmutex_t *mtx, char *file, int line)
45 mtx->eMm_owner);
46 if (mtx->eMm_magic != EMM_MAGIC) {
48 mtx->eMm_owner, mtx, mtx->eMm_magic);
51 if (mtx->eMm_held != 1) {
53 mtx->eMm_owner, mtx, mtx->eMm_held);
56 mtx->eMm_held--;
57 mtx->eMm_heldin = NULL;
58 mtx->eMm_heldat = 0;
63 eMmutex_init(eMmutex_t *mtx, char *who, char *file, int line)
69 file, line, mtx, who);
70 if (mtx->eMm_magic == EMM_MAGIC) { /* safe bet ? */
73 mtx->eMm_owner, mtx, mtx->eMm_magic);
76 mtx->eMm_magic = EMM_MAGIC;
77 mtx->eMm_held = 0;
79 mtx->eMm_owner = strdup(who);
81 mtx->eMm_owner = NULL;
87 eMmutex_destroy(eMmutex_t *mtx, char *file, int line)
92 mtx, mtx->eMm_owner);
93 if (mtx->eMm_magic != EMM_MAGIC) {
95 mtx->eMm_owner, mtx, mtx->eMm_magic);
98 if (mtx->eMm_held != 0) {
101 mtx->eMm_owner, mtx, mtx->eMm_held);
104 if (mtx->eMm_owner != NULL)
105 free(mtx->eMm_owner);
106 memset(mtx, 0xa5, sizeof(*mtx));