http://www.perlmonks.org?node_id=401853


in reply to interrupting a daemon

MySQL (and a lot of other back ends) will probably do the right thing if you just let the connection die, but its always best to put in a handler and close things up nicely. L

Replies are listed 'Best First'.
Re^2: interrupting a daemon
by tachyon (Chancellor) on Oct 23, 2004 at 22:15 UTC

    By default MySQL will *do the right thing* very slowly. It will actually close an inactive connection after 8 hours. Given that by default there are only 100 connections available it is quite easy to use them all up if you do not do a clean disconnect. You set the values in my.cnf BTW.

    [mysqld] set-variable=wait_timeout=28800 set-variable=max_connections=100

    Cleanup is simple. All you need is an END block, ideally placed immediately after the connect (so you know it is there).

    my $dbh = DBI->connect...... END{ $dbh->disconnect() if $dbh }

    cheers

    tachyon