summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/src/imfs/imfs_fifo.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2010-06-08 08:50:57 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2010-06-08 08:50:57 +0000
commit5b5772ae313eb2dd8d211749bc2eb3fea63758f8 (patch)
tree62867f14a4e833d616c32f6fea463b1fcf61dcd3 /cpukit/libfs/src/imfs/imfs_fifo.c
parent2010-06-08 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff)
downloadrtems-5b5772ae313eb2dd8d211749bc2eb3fea63758f8.tar.bz2
2010-06-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libfs/src/imfs/imfs.h, libfs/src/imfs/imfs_rmnod.c: Added and use IMFS_create_orphan() and IMFS_check_node_remove(). * libfs/src/imfs/deviceio.c, libfs/src/imfs/imfs_directory.c, libfs/src/imfs/imfs_fifo.c: Use IMFS_create_orphan() and IMFS_check_node_remove(). * libfs/src/imfs/imfs_handlers_memfile.c, libfs/src/imfs/memfile.c: Use IMFS_rmnod() and IMFS_check_node_remove() instead of memfile_rmnod() and memfile_check_rmnod().
Diffstat (limited to '')
-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);