Se vuoi mantenere la connessione aperta, chiama
mysql::ping $dbhandle
di tanto in tanto.
Questo può essere fatto con qualcosa del genere:
proc keepMySqlOpen {dbhandle} {
mysql::ping $dbhandle
after 2000 [list keepMySqlOpen $dbhandle]
}
....
set dbh [mysql::open ...]
keepMySqlOpen $dbh
...
Un'altra opzione è usare solo mysql::ping
prima di accedere al db, che dovrebbe secondo il manuale mysqltcl
riconnettersi se necessario. Questo potrebbe essere il migliore dei due mondi (lascia che la connessione scada se non c'è molta attività, tienila aperta in caso contrario).