summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/src/imfs/imfs_fifo.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libfs/src/imfs/imfs_fifo.c')
-rw-r--r--cpukit/libfs/src/imfs/imfs_fifo.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/cpukit/libfs/src/imfs/imfs_fifo.c b/cpukit/libfs/src/imfs/imfs_fifo.c
index f02cfd31c6..4563ff840a 100644
--- a/cpukit/libfs/src/imfs/imfs_fifo.c
+++ b/cpukit/libfs/src/imfs/imfs_fifo.c
@@ -53,11 +53,9 @@ int IMFS_fifo_close(
int err = pipe_release(&JNODE2PIPE(jnode), iop);
- if (! err) {
+ if (err == 0) {
iop->flags &= ~LIBIO_FLAGS_OPEN;
- /* Free jnode if file is already unlinked and no one opens it */
- if (! rtems_libio_is_file_open(jnode) && jnode->st_nlink < 1)
- free(jnode);
+ IMFS_check_node_remove(jnode);
}
IMFS_FIFO_RETURN(err);