示例#1
0
int
erl_drv_rwlock_tryrlock(ErlDrvRWLock *drwlck)
{
#ifdef USE_THREADS
    if (!drwlck)
	fatal_error(EINVAL, "erl_drv_rwlock_tryrlock()");
    return ethr_rwmutex_tryrlock(&drwlck->rwmtx);
#else
    return 0;
#endif
}
示例#2
0
int
erl_drv_rwlock_tryrlock(ErlDrvRWLock *drwlck)
{
#ifdef USE_THREADS
    int res = drwlck ? ethr_rwmutex_tryrlock(&drwlck->rwmtx) : EINVAL;
    if (res != 0 && res != EBUSY)
	fatal_error(res, "erl_drv_rwlock_tryrlock()");
    return res;
#else
    return 0;
#endif
}