From 45c7337e700bc3206b1dcebb117c23aed0c649b7 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Thu, 28 Apr 2011 20:20:43 +0200 Subject: [PATCH] Fix clearing mutable flags on ef_close() Make ef_close() clear them always, even for views. Harmless, as ef_open_view() always sets the same flags. Drop redundant assignment to ep->flags in ef_open(). ef_close() clears mutable flags, no need to clear them some more right before calling it. Missed in commit 3eb3607f, v4.3.0. --- src/lib/common/file.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lib/common/file.c b/src/lib/common/file.c index 817201aab..388f8c6a5 100644 --- a/src/lib/common/file.c +++ b/src/lib/common/file.c @@ -145,7 +145,6 @@ ef_open(int type, int how, int nelt) if ((how & EFF_MEM) && ep->fids) { if (fillcache(ep, 0) != ep->fids) { ep->cids = 0; /* prevent cache flush */ - ep->flags &= EFF_IMMUTABLE; /* maintain invariant */ ef_close(type); return 0; } @@ -264,7 +263,6 @@ ef_close(int type) else { if (!ef_flush(type)) retval = 0; - ep->flags &= EFF_IMMUTABLE; if (!(ep->flags & EFF_STATIC)) { free(ep->cache); ep->cache = NULL; @@ -275,6 +273,7 @@ ef_close(int type) } ep->fd = -1; } + ep->flags &= EFF_IMMUTABLE; ep->baseid = ep->cids = ep->fids = 0; if (ep->onresize && ep->onresize(type) < 0) retval = 0; -- 2.43.0