From: Martin Mares Date: Sun, 11 Jan 2004 19:09:22 +0000 (+0000) Subject: obuck_predict_last_oid() can be made safe easily. X-Git-Tag: holmes-import~1138 X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;ds=sidebyside;h=d9820b2d7d4b908bb9da441f5a35a7999d701e60;p=libucw.git obuck_predict_last_oid() can be made safe easily. --- diff --git a/lib/bucket.c b/lib/bucket.c index a9422ca5..9d7b1d58 100644 --- a/lib/bucket.c +++ b/lib/bucket.c @@ -298,9 +298,11 @@ obuck_fetch(void) oid_t obuck_predict_last_oid(void) { - /* BEWARE: This is not fork-safe. */ + obuck_lock_write(); sh_off_t size = sh_seek(obuck_fd, 0, SEEK_END); - return size >> OBUCK_SHIFT; + oid_t ss = size >> OBUCK_SHIFT; + obuck_unlock(); + return ss; } struct fastbuf *