case F_SETFL:
/* Set file status flags (O_NONBLOCK and O_APPEND). */
- fl = O_NONBLOCK | O_APPEND;
+ fl = O_NONBLOCK | O_APPEND | O_REOPEN;
f->filp_flags = (f->filp_flags & ~fl) | (m_in.addr & fl);
return(OK);
vp = rfilp->filp_vno;
if ((vp->v_mode & I_TYPE) != I_CHAR_SPECIAL) continue;
if ((dev_t) vp->v_sdev != dev) continue;
- dev_close(dev);
+
+ (void) dev_close(dev, rfilp-filp);
+ /* Ignore any errors, even SUSPEND. */
+
rfilp->filp_mode = FILP_CLOSED;
}
}