--- freeradius-1.1.4.orig/src/modules/rlm_sql/sql.c Fri Aug 26 03:37:47 2005 +++ freeradius-1.1.4/src/modules/rlm_sql/sql.c Tue Mar 20 10:22:14 2007 @@ -496,7 +496,9 @@ if (ret == SQL_DOWN) { /* close the socket that failed */ - (inst->module->sql_close)(sqlsocket, inst->config); + if (sqlsocket->state == sockconnected) { + (inst->module->sql_close)(sqlsocket, inst->config); + } /* reconnect the socket */ if (connect_single_socket(sqlsocket, inst) < 0) { @@ -539,7 +541,9 @@ if (ret == SQL_DOWN) { /* close the socket that failed */ - (inst->module->sql_close)(sqlsocket, inst->config); + if (sqlsocket->state == sockconnected) { + (inst->module->sql_close)(sqlsocket, inst->config); + } /* reconnect the socket */ if (connect_single_socket(sqlsocket, inst) < 0) {