diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-06-08 08:50:57 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-06-08 08:50:57 +0000 |
commit | 5b5772ae313eb2dd8d211749bc2eb3fea63758f8 (patch) | |
tree | 62867f14a4e833d616c32f6fea463b1fcf61dcd3 /cpukit/libfs/src/imfs/imfs_fifo.c | |
parent | 2010-06-08 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff) | |
download | rtems-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.c | 6 |
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); |