return code;
}
DBHOLD(ubik_dbase);
- urecovery_CheckTid(atid);
- if (ubik_currentTrans) {
- /* If the thread is not waiting for lock - ok to end it */
-#if !defined(UBIK_PAUSE)
- if (ubik_currentTrans->locktype != LOCKWAIT) {
-#endif /* UBIK_PAUSE */
- udisk_end(ubik_currentTrans);
-#if !defined(UBIK_PAUSE)
- }
-#endif /* UBIK_PAUSE */
- ubik_currentTrans = (struct ubik_trans *)0;
- }
+ urecovery_CheckTid(atid, 1);
code = udisk_begin(ubik_dbase, UBIK_WRITETRANS, &ubik_currentTrans);
if (!code && ubik_currentTrans) {
/* label this trans with the right trans id */
DBHOLD(dbase);
- urecovery_CheckTid(atid);
+ urecovery_CheckTid(atid, 0);
if (!ubik_currentTrans) {
DBRELE(dbase);
ReleaseWriteLock(&dbase->cache_lock);
dbase = ubik_currentTrans->dbase;
DBHOLD(dbase);
- urecovery_CheckTid(atid);
+ urecovery_CheckTid(atid, 0);
if (!ubik_currentTrans) {
DBRELE(dbase);
return USYNC;
dbase = ubik_currentTrans->dbase;
DBHOLD(dbase);
- urecovery_CheckTid(atid);
+ urecovery_CheckTid(atid, 0);
if (!ubik_currentTrans) {
DBRELE(dbase);
return USYNC;
}
dbase = ubik_currentTrans->dbase;
DBHOLD(dbase);
- urecovery_CheckTid(atid);
+ urecovery_CheckTid(atid, 0);
if (!ubik_currentTrans) {
DBRELE(dbase);
return USYNC;
dbase = ubik_currentTrans->dbase;
DBHOLD(dbase);
- urecovery_CheckTid(atid);
+ urecovery_CheckTid(atid, 0);
if (!ubik_currentTrans) {
DBRELE(dbase);
return USYNC;
dbase = ubik_currentTrans->dbase;
DBHOLD(dbase);
- urecovery_CheckTid(atid);
+ urecovery_CheckTid(atid, 0);
if (!ubik_currentTrans) {
DBRELE(dbase);
return USYNC;
dbase = ubik_currentTrans->dbase;
DBHOLD(dbase);
- urecovery_CheckTid(atid);
+ urecovery_CheckTid(atid, 0);
if (!ubik_currentTrans) {
DBRELE(dbase);
return USYNC;
if (!code)
code = rename(pbuffer, tbuffer);
if (!code) {
- (*ubik_dbase->open) (ubik_dbase, 0);
+ (*ubik_dbase->open) (ubik_dbase, file);
#endif
code = (*ubik_dbase->setlabel) (dbase, file, avers);
#ifndef OLD_URECOVERY
dbase = ubik_currentTrans->dbase;
DBHOLD(dbase);
- urecovery_CheckTid(atid);
+ urecovery_CheckTid(atid, 0);
if (!ubik_currentTrans) {
DBRELE(dbase);
return USYNC;