@@ -164,18 +164,10 @@
164 164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
165 165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void backoffice_no_delay(void){
166 166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
backofficeNoDelay = 1;
167 167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
168 168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Signal that the backoffice should not be run at the conclusion of
171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** the current session.
172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- void backoffice_do_not_run(void){
174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- backofficeDb = "x";
175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
177 169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
178 170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Sleeps for the specified number of milliseconds -OR- until interrupted
179 171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** by another thread (if supported by the underlying platform). Non-zero
180 172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** will be returned if the sleep was interrupted.
181 173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
@@ -441,76 +433,10 @@
441 433 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
442 434 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_print("\n");
443 435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
444 436 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
445 437 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** WEBPAGE: test-backoffice-lease
449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Print out information about the backoffice "lease" entry in the
451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** config table that controls whether or not backoffice should run.
452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- void test_backoffice_lease_page(void){
454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sqlite3_int64 tmNow = time(0);
455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Lease x;
456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *zLease;
457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- login_check_credentials();
458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( !g.perm.Setup ){
459 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- login_needed(0);
460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return;
461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- style_header("Backoffice Lease");
463 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- backoffice_do_not_run();
464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ <table class='label-value'>
465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zLease = db_get("backoffice","");
466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ <tr><th>Now:</th><td>%lld(tmNow)</td></tr>
467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ <tr><th>Lease:</th><td colspan="3">"%h(zLease)"</td></tr>
468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- backofficeReadLease(&x);
469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ <tr><th>idCurrent:</th><td>%lld(x.idCurrent)</td><td> </td><td>\
470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( backofficeProcessExists(x.idCurrent) ){
471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ (exists) \
472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( backofficeProcessDone(x.idCurrent) ){
474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ (done) \
475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ </td></tr>
477 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ <tr><th>tmCurrent:</th><td>%lld(x.tmCurrent)</td><td></td><td>\
478 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( x.tmCurrent>0 ){
479 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ (now%+lld(x.tmCurrent-tmNow)) \
480 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
481 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ </td></tr>
482 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ <tr><th>idNext:</th><td>%lld(x.idNext)</td><td> </td><td>\
483 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( backofficeProcessExists(x.idNext) ){
484 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ (exists) \
485 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
486 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( backofficeProcessDone(x.idNext) ){
487 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ (done) \
488 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
489 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ </td></tr>
490 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ <tr><th>tmNext:</th><td>%lld(x.tmNext)</td><td></td><td>\
491 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( x.tmNext>0 ){
492 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ (now%+lld(x.tmNext-tmNow)) \
493 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
494 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ </td></tr>
495 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #ifndef _WIN32
496 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( P("fds")!=0 ){
497 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int i;
498 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ <tr><th>open fds:</th><td colspan="3">
499 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for(i=0; i<1000; i++){
500 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int rc = fcntl(i, F_GETFL, 0);
501 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( rc<0 ) continue;
502 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ %d(i) \
503 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
504 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ </td></tr>
505 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ </table>
509 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- style_footer();
510 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
511 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
512 438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
513 439 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** If backoffice processing is needed set the backofficeDb variable to the
514 440 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** name of the database file. If no backoffice processing is needed,
515 441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** this routine makes no changes to state.
516 442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
@@ -598,11 +524,11 @@
598 524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
backofficeTrace("/***** Begin Backoffice Processing %d *****/\n",
599 525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
GETPID());
600 526 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
backoffice_work();
601 527 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
break;
602 528 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
603 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( backofficeNoDelay || db_get_boolean("backoffice-nodelay",1) ){
529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( backofficeNoDelay || db_get_boolean("backoffice-nodelay",0) ){
604 530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* If the no-delay flag is set, exit immediately rather than queuing
605 531 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** up. Assume that some future request will come along and handle any
606 532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** necessary backoffice work. */
607 533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_end_transaction(0);
608 534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
break;
@@ -721,11 +647,15 @@
721 647 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
722 648 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pid==0 ){
723 649 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* This is the child of a successful fork(). Run backoffice. */
724 650 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int i;
725 651 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
setsid();
726 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for(i=3; close(i)==0 || i<10; i++){}
652 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i=0; i<=2; i++){
653 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ close(i);
654 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ open("/dev/null", O_RDWR);
655 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
656 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i=3; i<100; i++){ close(i); }
727 657 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_open_repository(backofficeDb);
728 658 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
backofficeDb = "x";
729 659 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
backoffice_thread();
730 660 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_close(1);
731 661 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
backofficeTrace("/***** Backoffice Child %d exits *****/\n", GETPID());
732 662 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!