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.
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;
}
else {
if (!ef_flush(type))
retval = 0;
- ep->flags &= EFF_IMMUTABLE;
if (!(ep->flags & EFF_STATIC)) {
free(ep->cache);
ep->cache = NULL;
}
ep->fd = -1;
}
+ ep->flags &= EFF_IMMUTABLE;
ep->baseid = ep->cids = ep->fids = 0;
if (ep->onresize && ep->onresize(type) < 0)
retval = 0;