db: evaluate return value of sqlite3_finalize(), tweak log output.

This commit is contained in:
Neels Hofmeyr 2016-03-01 13:05:27 +01:00
parent 45ee133d1d
commit 6a1d172c95
1 changed files with 10 additions and 4 deletions

View File

@ -315,15 +315,21 @@ err_io:
void meas_db_close(struct meas_db_state *st)
{
int retries;
sqlite3_finalize(st->stmt_ins_mr);
sqlite3_finalize(st->stmt_ins_ud);
sqlite3_finalize(st->stmt_upd_mr);
if (sqlite3_finalize(st->stmt_ins_mr) != SQLITE_OK)
fprintf(stderr, "DB insert measurement report finalize error: %s\n",
sqlite3_errmsg(st->db));
if (sqlite3_finalize(st->stmt_ins_ud) != SQLITE_OK)
fprintf(stderr, "DB insert unidir finalize error: %s\n",
sqlite3_errmsg(st->db));
if (sqlite3_finalize(st->stmt_upd_mr) != SQLITE_OK)
fprintf(stderr, "DB update measurement report finalize error: %s\n",
sqlite3_errmsg(st->db));
retries = 0;
while (1) {
if (sqlite3_close(st->db) == SQLITE_OK)
break;
if ((++retries) >= 3) {
fprintf(stderr, "Unable to close DB\n");
fprintf(stderr, "Unable to close DB, abandoning.\n");
break;
}
sleep(1);