mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-18 00:24:58 +08:00
e7121ab405
Those files are meant to be dual GPL 2.0 and GFDL without implicit sections. However, by a wrong cut-and-paste, I ended by applying a GPL 2+ license text to it, while still using the GPL 2.0 SPDX tag, with would cause an ambiguity about the licensing model. Solve this by explicitly mentioning that the dual licensing is between GPL 2.0 and GFDL and correcting the text. Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
102 lines
2.9 KiB
ReStructuredText
102 lines
2.9 KiB
ReStructuredText
.. This file is dual-licensed: you can use it either under the terms
|
|
.. of the GPL 2.0 or the GFDL 1.1+ license, at your option. Note that this
|
|
.. dual licensing only applies to this file, and not this project as a
|
|
.. whole.
|
|
..
|
|
.. a) This file is free software; you can redistribute it and/or
|
|
.. modify it under the terms of the GNU General Public License as
|
|
.. published by the Free Software Foundation version 2 of
|
|
.. the License.
|
|
..
|
|
.. This file is distributed in the hope that it will be useful,
|
|
.. but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
.. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
.. GNU General Public License for more details.
|
|
..
|
|
.. Or, alternatively,
|
|
..
|
|
.. b) Permission is granted to copy, distribute and/or modify this
|
|
.. document under the terms of the GNU Free Documentation License,
|
|
.. Version 1.1 or any later version published by the Free Software
|
|
.. Foundation, with no Invariant Sections, no Front-Cover Texts
|
|
.. and no Back-Cover Texts. A copy of the license is included at
|
|
.. Documentation/media/uapi/fdl-appendix.rst.
|
|
..
|
|
.. TODO: replace it to GPL-2.0 OR GFDL-1.1-or-later WITH no-invariant-sections
|
|
|
|
.. _request-func-poll:
|
|
|
|
**************
|
|
request poll()
|
|
**************
|
|
|
|
Name
|
|
====
|
|
|
|
request-poll - Wait for some event on a file descriptor
|
|
|
|
|
|
Synopsis
|
|
========
|
|
|
|
.. code-block:: c
|
|
|
|
#include <sys/poll.h>
|
|
|
|
|
|
.. c:function:: int poll( struct pollfd *ufds, unsigned int nfds, int timeout )
|
|
:name: request-poll
|
|
|
|
Arguments
|
|
=========
|
|
|
|
``ufds``
|
|
List of file descriptor events to be watched
|
|
|
|
``nfds``
|
|
Number of file descriptor events at the \*ufds array
|
|
|
|
``timeout``
|
|
Timeout to wait for events
|
|
|
|
|
|
Description
|
|
===========
|
|
|
|
With the :c:func:`poll() <request-func-poll>` function applications can wait
|
|
for a request to complete.
|
|
|
|
On success :c:func:`poll() <request-func-poll>` returns the number of file
|
|
descriptors that have been selected (that is, file descriptors for which the
|
|
``revents`` field of the respective struct :c:type:`pollfd`
|
|
is non-zero). Request file descriptor set the ``POLLPRI`` flag in ``revents``
|
|
when the request was completed. When the function times out it returns
|
|
a value of zero, on failure it returns -1 and the ``errno`` variable is
|
|
set appropriately.
|
|
|
|
Attempting to poll for a request that is not yet queued will
|
|
set the ``POLLERR`` flag in ``revents``.
|
|
|
|
|
|
Return Value
|
|
============
|
|
|
|
On success, :c:func:`poll() <request-func-poll>` returns the number of
|
|
structures which have non-zero ``revents`` fields, or zero if the call
|
|
timed out. On error -1 is returned, and the ``errno`` variable is set
|
|
appropriately:
|
|
|
|
``EBADF``
|
|
One or more of the ``ufds`` members specify an invalid file
|
|
descriptor.
|
|
|
|
``EFAULT``
|
|
``ufds`` references an inaccessible memory area.
|
|
|
|
``EINTR``
|
|
The call was interrupted by a signal.
|
|
|
|
``EINVAL``
|
|
The ``nfds`` value exceeds the ``RLIMIT_NOFILE`` value. Use
|
|
``getrlimit()`` to obtain this value.
|