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) void meas_db_close(struct meas_db_state *st)
{ {
int retries; int retries;
sqlite3_finalize(st->stmt_ins_mr); if (sqlite3_finalize(st->stmt_ins_mr) != SQLITE_OK)
sqlite3_finalize(st->stmt_ins_ud); fprintf(stderr, "DB insert measurement report finalize error: %s\n",
sqlite3_finalize(st->stmt_upd_mr); 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; retries = 0;
while (1) { while (1) {
if (sqlite3_close(st->db) == SQLITE_OK) if (sqlite3_close(st->db) == SQLITE_OK)
break; break;
if ((++retries) >= 3) { if ((++retries) >= 3) {
fprintf(stderr, "Unable to close DB\n"); fprintf(stderr, "Unable to close DB, abandoning.\n");
break; break;
} }
sleep(1); sleep(1);