1. Eine Debugmeldung rausgenommen
2. Eine Unsauberkeit behoben die beim Portieren auf 2.6.1 aufgefallen ist.
Folgender Code crasht:
for (1) {
1 while <>;
}
weil das gealiaste $_ read-only flagged ist, und <> das beschrieben will. Genau
das konnte passieren, wenn die Locales aus auth erstellt wurden und die
special_chars einlesen wollten, aber noch ein alias $_ => 1 aus dem
printer_dispatcher aktuell war.
3. Im admin bereich gezogene user_dbh wurden nicht richtig geschlossen, was ein
Speicherleck unter fcgi bedeutet, und unter cgi das log mit Warnungen flutet,
dass das handle in destruction geschlossen wurde und ein rollback gemacht hat.
my $query = qq|SELECT * FROM printers ORDER BY printer_description|;
my @printers = selectall_hashref_query($::form, $dbh, $query);
+ $dbh->disconnect;
+
$::lxdebug->leave_sub;
return wantarray ? @printers : \@printers;
my $query = qq|SELECT * FROM printers WHERE id = ?|;
my ($printer) = selectfirst_hashref_query($::form, $dbh, $query, $params{id});
+ $dbh->disconnect;
+
$::lxdebug->leave_sub;
return $printer;
);
$dbh->commit;
+ $dbh->disconnect;
$::lxdebug->leave_sub;
}
do_query($::form, $dbh, $query, $params{id});
$dbh->commit;
+ $dbh->disconnect;
$::lxdebug->leave_sub;
}
}
sub printer_dispatcher {
- $::lxdebug->dump(0, "testing", $::form);
- for (qw(get_login_form list_printers add_printer edit_printer save_printer delete_printer list_users)) {
- if ($::form->{$_}) {
- ::call_sub($::locale->findsub($_));
+ for my $action (qw(get_login_form list_printers add_printer edit_printer save_printer delete_printer list_users)) {
+ if ($::form->{$action}) {
+ ::call_sub($::locale->findsub($action));
::end_of_request()
}
}