X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=bluesky%2Flog.c;h=984cf163dee8c8ea8cf0dc8cae02a4543858b947;hb=f6edd13c644ec73c0f57aa580514413372ce3f0e;hp=5a16238666c8ab2c14b15113e5bbdd00316640e4;hpb=9c27547e07bfcadab7584f46185db77c486c1412;p=bluesky.git diff --git a/bluesky/log.c b/bluesky/log.c index 5a16238..984cf16 100644 --- a/bluesky/log.c +++ b/bluesky/log.c @@ -751,7 +751,7 @@ void bluesky_mmap_unref(BlueSkyCacheFile *mmap) if (g_atomic_int_dec_and_test(&mmap->mapcount)) { g_mutex_lock(mmap->lock); - if (mmap->addr != NULL) { + if (mmap->addr != NULL && g_atomic_int_get(&mmap->mapcount) == 0) { if (bluesky_verbose) g_print("Unmapped log segment %d...\n", mmap->log_seq); munmap((void *)mmap->addr, mmap->len);