ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Coro/myhttpd/httpd.pl
(Generate patch)

Comparing Coro/myhttpd/httpd.pl (file contents):
Revision 1.50 by root, Wed Nov 28 03:40:15 2001 UTC vs.
Revision 1.51 by root, Thu Nov 29 01:50:41 2001 UTC

35our $httpevent = new Coro::Signal; 35our $httpevent = new Coro::Signal;
36 36
37our $wait_factor = 0.95; 37our $wait_factor = 0.95;
38 38
39our @transfers = ( 39our @transfers = (
40 (new Coro::Semaphore $MAX_TRANSFERS_SMALL), 40 (new transferqueue $MAX_TRANSFERS_SMALL),
41 (new Coro::Semaphore $MAX_TRANSFERS_LARGE), 41 (new transferqueue $MAX_TRANSFERS_LARGE),
42); 42);
43 43
44my @newcons; 44my @newcons;
45my @pool; 45my @pool;
46 46
549 if ($l) { 549 if ($l) {
550 sysseek $fh, $l, 0; 550 sysseek $fh, $l, 0;
551 } 551 }
552 } 552 }
553 553
554 my $transfer; # transfer guard 554 my $transfer = $queue->start_transfer;
555 my $locked;
555 my $bufsize = $::WAIT_BUFSIZE; # initial buffer size 556 my $bufsize = $::WAIT_BUFSIZE; # initial buffer size
556 557
557 $self->{time} = $::NOW;
558
559 while ($h > 0) { 558 while ($h > 0) {
560 unless ($transfer) { 559 unless ($locked) {
561 if ($transfer ||= $queue->timed_guard($::WAIT_INTERVAL)) { 560 if ($locked ||= $transfer->try($::WAIT_INTERVAL)) {
562 $bufsize = $::BUFSIZE; 561 $bufsize = $::BUFSIZE;
563 $self->{time} = $::NOW; 562 $self->{time} = $::NOW;
564 } 563 }
565 } 564 }
566 565

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines