542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
|
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
|
+
+
+
+
+
+
+
-
+
+
|
/* The sleep was interrupted by a signal from another thread. */
backofficeTrace("/***** Backoffice Interrupt %d *****/\n", GETPID());
db_end_transaction(0);
break;
}
}else{
if( (sqlite3_uint64)(lastWarning+warningDelay) < tmNow ){
sqlite3_int64 runningFor = BKOFCE_LEASE_TIME + tmNow - x.tmCurrent;
if( warningDelay<=240 && runningFor>1800 ){
/* On a busy system with 15-bit process-id numbers, we can sometimes
** wrap-around the process-id space causing backofficeProcessDone()
** to return a false negative. Try to prevent this from causing a
** false-positive hung-backoffice warning. */
}else{
fossil_warning(
fossil_warning(
"backoffice process %lld still running after %d seconds",
x.idCurrent, (int)(BKOFCE_LEASE_TIME + tmNow - x.tmCurrent));
}
lastWarning = tmNow;
warningDelay *= 2;
}
if( backofficeSleep(1000) ){
/* The sleep was interrupted by a signal from another thread. */
backofficeTrace("/***** Backoffice Interrupt %d *****/\n", GETPID());
db_end_transaction(0);
|