Thread: [Amizilla-cvs] amizilla/nsprpub/pr/src/md/amiga avar.c,1.7,1.8 alock.c,1.5,1.6
Brought to you by:
maxlarsson
From: Jeff S. <jsh...@us...> - 2005-05-23 17:53:26
|
Update of /cvsroot/amizilla/amizilla/nsprpub/pr/src/md/amiga In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7852/src/md/amiga Modified Files: avar.c alock.c Log Message: Renamed the function prototypes for the DCE functions to match. In PRP_TryLock don't relock if I already have the lock. Just return failure. Index: alock.c =================================================================== RCS file: /cvsroot/amizilla/amizilla/nsprpub/pr/src/md/amiga/alock.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** alock.c 29 Dec 2004 00:07:03 -0000 1.5 --- alock.c 23 May 2005 17:53:04 -0000 1.6 *************** *** 121,129 **** PRThread *me = PR_GetCurrentThread(); PRStatus rv = PR_SUCCESS; Forbid(); ! if (lock->owner != NULL) { rv = PR_FAILURE; } - PR_Lock(lock); end: Permit(); --- 121,138 ---- PRThread *me = PR_GetCurrentThread(); PRStatus rv = PR_SUCCESS; + + #ifdef DEBUG_ALOCK + printf("%lx, PRP_TryLock for %x, owner is %lx\n", me, lock, lock->owner); + #endif + Forbid(); ! if (lock->owner == me) { rv = PR_FAILURE; + } else { + if (lock->owner != NULL) { + rv = PR_FAILURE; + } + PR_Lock(lock); } end: Permit(); Index: avar.c =================================================================== RCS file: /cvsroot/amizilla/amizilla/nsprpub/pr/src/md/amiga/avar.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** avar.c 29 Dec 2004 00:13:17 -0000 1.7 --- avar.c 23 May 2005 17:53:04 -0000 1.8 *************** *** 107,111 **** PR_IMPLEMENT(PRStatus) PRP_NakedWait(PRCondVar *cvar, PRLock *lock, PRIntervalTime timeout) { PRThread *me = PR_GetCurrentThread(); ! PRStatus slp = PR_SUCCESS; PRInt32 priority = PR_GetThreadPriority(me); --- 107,111 ---- PR_IMPLEMENT(PRStatus) PRP_NakedWait(PRCondVar *cvar, PRLock *lock, PRIntervalTime timeout) { PRThread *me = PR_GetCurrentThread(); ! _PR_MD_Timeout slp = SUCCESS; PRInt32 priority = PR_GetThreadPriority(me); *************** *** 142,150 **** if (timeout == PR_INTERVAL_NO_WAIT) { ! slp = PR_Sleep(0); } else if (timeout == PR_INTERVAL_NO_TIMEOUT) { _PR_MD_Wait(me, PR_TRUE, PR_TRUE); } else { ! slp = PR_Sleep(timeout); } me->state = _PR_RUNNING; --- 142,150 ---- if (timeout == PR_INTERVAL_NO_WAIT) { ! slp = _PR_MD_Sleep(0); } else if (timeout == PR_INTERVAL_NO_TIMEOUT) { _PR_MD_Wait(me, PR_TRUE, PR_TRUE); } else { ! slp = _PR_MD_Sleep(timeout); } me->state = _PR_RUNNING; *************** *** 160,168 **** PR_Lock(lock); ! if (slp != PR_SUCCESS) { #ifdef DEBUG_AVAR printf("%lx, sleep failed, returning\n", me); #endif ! return slp; } --- 160,170 ---- PR_Lock(lock); ! if (slp == TIMEDOUT) { ! PR_SetError(PR_IO_TIMEOUT_ERROR, 0); ! } else if (slp != SUCCESS) { #ifdef DEBUG_AVAR printf("%lx, sleep failed, returning\n", me); #endif ! return PR_FAILURE; } *************** *** 261,265 **** } ! PR_IMPLEMENT(PRCondVar *) PR_NewNakedCondVar(void) { PRCondVar *retval; --- 263,267 ---- } ! PR_IMPLEMENT(PRCondVar *) PRP_NewNakedCondVar(void) { PRCondVar *retval; *************** *** 274,278 **** } ! PR_IMPLEMENT(void) PR_DestroyNakedCondVar(PRCondVar *cvar) { return PR_Free(cvar); } --- 276,280 ---- } ! PR_IMPLEMENT(void) PRP_DestroyNakedCondVar(PRCondVar *cvar) { return PR_Free(cvar); } |