The
revoke()
system call invalidates all current open file descriptors in the system
for the file named by
path.
Subsequent operations on any such descriptors
fail, with the exceptions that a
read()
from a character device file which has been revoked
returns a count of zero (end of file),
and a
close()
system call will succeed.
If the file is a special file for a device which is open,
the device close function
is called as if all open references to the file had been closed
using a special close method which does not block.
Access to a file may be revoked only by its owner or the super user.
The
revoke()
system call is currently supported only for block and character special
device files.
It is normally used to prepare a terminal device for a new login session,
preventing any access by a previous user of the terminal.