Asynchronous I/O: Difference between revisions
No edit summary |
No edit summary |
||
| Line 2: | Line 2: | ||
==BSD== | ==BSD== | ||
The <tt>F_SETOWN</tt> and <tt>F_GETOWN</tt> suboperations of the <tt>fcntl(2)</tt> system call provided asynchronous I/O notifications via SIGIO and SIGURG. It only operated on pipes and terminals (and required <tt>O_ASYNC</tt> to be set via <tt>open(2)</tt> or <tt>fcntl(F_SETFL)</tt>), and has been obsoleted by POSIX 1003.1b. Linux supports the old BSD scheme and extends it via <tt>F_SETSIG</tt> and <tt>F_GETSIG</tt>. | The <tt>F_SETOWN</tt> and <tt>F_GETOWN</tt> suboperations of the <tt>fcntl(2)</tt> system call provided asynchronous I/O notifications via SIGIO and SIGURG. It only operated on pipes and terminals (and required <tt>O_ASYNC</tt> to be set via <tt>open(2)</tt> or <tt>fcntl(F_SETFL)</tt>), and has been obsoleted by POSIX 1003.1b. [[Linux APIs|Linux]] supports the old BSD scheme and extends it via <tt>F_SETSIG</tt> and <tt>F_GETSIG</tt>. | ||
==POSIX== | ==POSIX== | ||