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:
Pero' mi lascia un po' stranito perche' mi sembra di avere scritto giusto(almeno credere).codice:test_prova(3946,0xa0749720) malloc:*** error for object ....: Non-aligned pointer beging freed etc etc
Comunque sia questo e' il codice:
handle_db viene eseguito per i test ogni minuto .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);
Il segfault avviene in PQfinish.
Ma non saprei proprio il perche'..![]()

Rispondi quotando