Ciao a tutti!
Ho una piccola curiosita' da chiedervi, nella realizzazione di un programma demone, che accede ogni 30 minuti al DB sviluppato in POSTGRE e' piu' efficiente aprire e chiudere la connessione ogni volta oppure tenerla aperta e quando si e' deciso di killare il demone allora la connessione viene chiusa??
Poi ho notato che ogni tanto mi da questo errore di malloc:
codice:
test_prova(3946,0xa0749720) malloc:*** error for object ....: Non-aligned pointer beging freed
etc etc
Pero' mi lascia un po' stranito perche' mi sembra di avere scritto giusto(almeno credere).
Comunque sia questo e' il codice:
codice:
PGconn * connect_db(param_conn * param ){
char *conninfo[100];
PGconn * conn;
sprintf(conninfo,"host=%s port=%s dbname=%s user=%s password=%s",param->host,param->port,param->dbname,param->user,param->passwd);
conn = PQconnectdb(conninfo);
if (PQstatus(conn) != CONNECTION_OK)
{
fprintf(stderr, "Connection to database failed: %s",
PQerrorMessage(conn));
exit_nicely(conn);
}
return conn;
}//connect_db
int handle_db(){
PGconn * conn;
conn =connect_db(param );
PQfinish(conn);
handle_db viene eseguito per i test ogni minuto .
Il segfault avviene in PQfinish.
Ma non saprei proprio il perche'..