damus

nostr ios client
git clone git://jb55.com/damus
Log | Files | Refs | README | LICENSE

commit 58de0025aa42afe73f478850f3677ba267678c64
parent c9311087411cd4e249734955d1346aef3c231b73
Author: William Casarin <jb55@jb55.com>
Date:   Mon, 16 Dec 2024 16:43:38 -0800

nostrdb: monitor: lock monitor when we're freeing subscriptions

Signed-off-by: William Casarin <jb55@jb55.com>

Diffstat:
Mnostrdb/src/nostrdb.c | 8++++++++
1 file changed, 8 insertions(+), 0 deletions(-)

diff --git a/nostrdb/src/nostrdb.c b/nostrdb/src/nostrdb.c @@ -4821,9 +4821,17 @@ static void ndb_monitor_destroy(struct ndb_monitor *monitor) { int i; + ndb_monitor_lock(monitor); + for (i = 0; i < monitor->num_subscriptions; i++) { ndb_subscription_destroy(&monitor->subscriptions[i]); } + + monitor->num_subscriptions = 0; + + ndb_monitor_unlock(monitor); + + pthread_mutex_destroy(&monitor->mutex); } int ndb_init(struct ndb **pndb, const char *filename, const struct ndb_config *config)