Index: trunk/dns-rpc.cgi
===================================================================
--- trunk/dns-rpc.cgi	(revision 486)
+++ trunk/dns-rpc.cgi	(revision 490)
@@ -24,8 +24,7 @@
 # don't remove!  required for GNU/FHS-ish install from tarball
 use lib '.';	##uselib##
-
-use DNSDB;	# note we're not importing subs;  this lets us (ab)use the same sub names here for convenience
-use Data::Dumper;
-
+use DNSDB;
+
+use FCGI;
 #use Frontier::RPC2;
 use Frontier::Responder;
@@ -69,16 +68,20 @@
 };
 
-my $res = Frontier::Responder->new(
+my $reqcnt = 0;
+
+while (FCGI::accept >= 0) {
+  my $res = Frontier::Responder->new(
 	methods => $methods
 	);
 
-# "Can't do that" errors
-if (!$dnsdb) {
-  print "Content-type: text/xml\n\n".$res->{_decode}->encode_fault(5, $msg);
-  exit;
-}
-##fixme:  fail on missing rpcuser/rpcsystem args
-
-print $res->answer;
+  # "Can't do that" errors
+  if (!$dnsdb) {
+    print "Content-type: text/xml\n\n".$res->{_decode}->encode_fault(5, $dnsdb->err);
+  } else {
+    print $res->answer;
+  }
+  last if $reqcnt++ > $dnsdb->{maxfcgi};
+} # while FCGI::accept
+
 
 exit;
@@ -88,5 +91,5 @@
 ##
 
-# Utility subs
+# Check RPC ACL
 sub _aclcheck {
   my $subsys = shift;
