From: Alan Cox Date: Mon, 29 Aug 2016 11:33:10 +0000 (+0100) Subject: inode: fix ref counts from recent ref change X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=2f0f439ff0878bb11ca17b734588371bcefbea27;p=FUZIX.git inode: fix ref counts from recent ref change --- diff --git a/Kernel/inode.c b/Kernel/inode.c index 84cf6969..5c1b4469 100644 --- a/Kernel/inode.c +++ b/Kernel/inode.c @@ -257,16 +257,15 @@ int16_t doclose(uint8_t uindex) if (issocket(ino)) sock_close(ino); #endif + if (m != O_RDONLY) + ino->c_writers--; + if (m != O_WRONLY) + ino->c_readers--; } udata.u_files[uindex] = NO_FILE; udata.u_cloexec &= ~(1 << uindex); oft_deref(oftindex); - if (m != O_RDONLY) - ino->c_writers--; - if (m != O_WRONLY) - ino->c_readers--; - /* if we closed a file in write mode, flush the device's cache after inode has been deferenced */ if(flush_dev != NO_DEVICE) d_flush(flush_dev);