• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/router/busybox-1.x/runit/

Lines Matching refs:svd

91 static struct svdir svd[2];
453 /* bss: svd[0].pid = 0; */
454 if (S_DOWN) svd[0].state = S_DOWN; /* otherwise already 0 (bss) */
455 if (C_NOOP) svd[0].ctrl = C_NOOP;
456 if (W_UP) svd[0].want = W_UP;
457 /* bss: svd[0].islog = 0; */
458 /* bss: svd[1].pid = 0; */
459 gettimeofday_ns(&svd[0].start);
460 if (stat("down", &s) != -1) svd[0].want = W_DOWN;
471 svd[1].state = S_DOWN;
472 svd[1].ctrl = C_NOOP;
473 svd[1].want = W_UP;
474 svd[1].islog = 1;
475 gettimeofday_ns(&svd[1].start);
477 svd[1].want = W_DOWN;
496 svd[0].fdlock = xopen3("log/supervise/lock"+4,
498 if (lock_exnb(svd[0].fdlock) == -1)
500 coe(svd[0].fdlock);
520 svd[1].fdlock = xopen3("log/supervise/lock",
522 if (lock_ex(svd[1].fdlock) == -1)
524 coe(svd[1].fdlock);
528 svd[0].fdcontrol = xopen("log/supervise/control"+4, O_RDONLY|O_NDELAY);
529 coe(svd[0].fdcontrol);
530 svd[0].fdcontrolwrite = xopen("log/supervise/control"+4, O_WRONLY|O_NDELAY);
531 coe(svd[0].fdcontrolwrite);
532 update_status(&svd[0]);
535 svd[1].fdcontrol = xopen("log/supervise/control", O_RDONLY|O_NDELAY);
536 coe(svd[1].fdcontrol);
537 svd[1].fdcontrolwrite = xopen("log/supervise/control", O_WRONLY|O_NDELAY);
538 coe(svd[1].fdcontrolwrite);
539 update_status(&svd[1]);
555 if (!svd[1].pid && svd[1].want == W_UP)
556 startservice(&svd[1]);
557 if (!svd[0].pid)
558 if (svd[0].want == W_UP || svd[0].state == S_FINISH)
559 startservice(&svd[0]);
563 x[1].fd = svd[0].fdcontrol;
566 x[2].fd = svd[1].fdcontrol;
586 if (child == svd[0].pid) {
587 svd[0].pid = 0;
589 svd[0].ctrl &=~ C_TERM;
590 if (svd[0].state != S_FINISH) {
594 svd[0].state = S_FINISH;
595 update_status(&svd[0]);
599 svd[0].state = S_DOWN;
600 deadline = svd[0].start.tv_sec + 1;
601 gettimeofday_ns(&svd[0].start);
602 update_status(&svd[0]);
603 if (LESS(svd[0].start.tv_sec, deadline))
607 if (child == svd[1].pid) {
608 svd[1].pid = 0;
610 svd[1].state = S_DOWN;
611 svd[1].ctrl &= ~C_TERM;
612 deadline = svd[1].start.tv_sec + 1;
613 gettimeofday_ns(&svd[1].start);
614 update_status(&svd[1]);
615 if (LESS(svd[1].start.tv_sec, deadline))
620 if (read(svd[0].fdcontrol, &ch, 1) == 1)
621 ctrl(&svd[0], ch);
623 if (read(svd[1].fdcontrol, &ch, 1) == 1)
624 ctrl(&svd[1], ch);
627 ctrl(&svd[0], 'x');
631 if (svd[0].want == W_EXIT && svd[0].state == S_DOWN) {
632 if (svd[1].pid == 0)
634 if (svd[1].want != W_EXIT) {
635 svd[1].want = W_EXIT;
636 /* stopservice(&svd[1]); */
637 update_status(&svd[1]);