diff --git a/TODO b/TODO index 89f4063897b74da1984af7a83b8789950c465b4d..915c74310b9d689645979bf1f24dd4f5e6837d78 100644 --- a/TODO +++ b/TODO @@ -10,7 +10,7 @@ NuttX TODO List (Last updated February 13, 2008) (11) Network (net/, netutils/) (2) USB (drivers/usbdev) (3) Libraries (lib/) - (3) File system/Generic drivers (fs/, drivers/) + (4) File system/Generic drivers (fs/, drivers/) (1) Pascal add-on (pcode/) (2) Documentation (Documentation/) (3) Build system @@ -233,6 +233,12 @@ o File system / Generic drivers (fs/, drivers/) Status: Open Priority: Medium + Description: There is no way to remove a FIFO or PIPE created in the + psuedo filesystem. Once created, they persist indefinitely + and cannot be unlinked. + Status: Open + Priority: Medium + o Pascal Add-On (pcode/) ^^^^^^^^^^^^^^^^^^^^^^ diff --git a/drivers/pipe-common.c b/drivers/pipe-common.c index f25ef010ee545da327ecf5052632db64a6024ceb..98e8ee0e6551df87841457c2e0542cb08a511178 100644 --- a/drivers/pipe-common.c +++ b/drivers/pipe-common.c @@ -221,9 +221,9 @@ int pipecommon_close(FAR struct file *filep) pipecommon_semtake(&dev->s.d_bfsem); - /* Check if the decremented reference count would be zero */ + /* Check if the decremented reference count would be less than zero */ - if (dev->s.d_refs > 1) + if (dev->s.d_refs > 0) { /* No.. then just decrement the reference count */