Skip to content

Commit 9edae8d

Browse files
committed
feat(storage): Deinitialize modules before destruction
Call storage module deinitialization from the destroy path so modules always leave the initialized state before their backend-specific destruction runs.
1 parent db65618 commit 9edae8d

4 files changed

Lines changed: 5 additions & 6 deletions

File tree

src/sensor.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -283,9 +283,6 @@ main(int argc, char **argv)
283283
zclock_sleep((int)config->sensor.cgroup_discovery_interval_ms);
284284
}
285285

286-
/* clean storage module ressources */
287-
storage_module_deinitialize(storage);
288-
289286
ret = 0;
290287

291288
cleanup:

src/storage.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ storage_module_destroy(struct storage_module *module)
9898
if (!module)
9999
return;
100100

101+
(*module->deinitialize)(module);
101102
(*module->destroy)(module);
102103
free(module);
103104
}

src/storage_mongodb.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,12 +201,12 @@ mongodb_store_report(struct storage_module *module, struct payload *payload)
201201
}
202202

203203
static int
204-
mongodb_deinitialize(struct storage_module *module __attribute__ ((unused)))
204+
mongodb_deinitialize(struct storage_module *module)
205205
{
206206
struct mongodb_context *ctx = (struct mongodb_context *) module->context;
207207

208208
if (!module->is_initialized)
209-
return -1;
209+
return 0;
210210

211211
mongoc_collection_destroy(ctx->collection);
212212
mongoc_client_destroy(ctx->client);

src/storage_socket.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,11 +307,12 @@ socket_deinitialize(struct storage_module *module)
307307
struct socket_context *ctx = (struct socket_context *) module->context;
308308

309309
if (!module->is_initialized)
310-
return -1;
310+
return 0;
311311

312312
if (ctx->socket_fd != -1)
313313
close(ctx->socket_fd);
314314

315+
module->is_initialized = false;
315316
return 0;
316317
}
317318

0 commit comments

Comments
 (0)