- my %seen = ();
- foreach my $export ( @exports ) {
- next if $seen{$export->option('datasrc')}++;
- my $dbh = DBI->connect(
- map { $export->option($_) } qw( datasrc username password )
- ) or do {
- warn "can't connect to ". $export->option('datasrc'). ": ". $DBI::errstr;
- next;
- }
-
- # find old radacct position
- #$lastid = 0;
-
- # get new radacct records
- my $sth = $dbh->prepare('SELECT * FROM radacct WHERE radacctid > ?') or do {
- warn "can't select in radacct table from ". $export->option('datasrc').
- ": ". $dbh->errstr;
+ #fork off one kid per export (machine)
+ # _>{'_radacct_kid'} is an evil kludge
+ foreach my $part_export ( grep ! $_->{'_radacct_kid'}, @part_export ) {
+
+ defined( my $pid = fork ) or do {
+ warn "WARNING: can't fork to spawn child for ". $part_export->machine;