Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  pr_poll.rst   Sprache: unbekannt

 
PR_Poll
=======

Detects when I/O is ready for a set of socket file descriptors.


Syntax
------

.. code::

   #include <prio.h>

   PRInt32 PR_Poll(
     PRPollDesc *pds,
     PRIntn npds,
     PRIntervalTime timeout);


Parameters
~~~~~~~~~~

The function has the following parameters:

``pds``
   A pointer to the first element of an array of ``PRPollDesc``
   structures.
``npds``
   The number of elements in the ``pds`` array. If this parameter is
   zero, :ref:`PR_Poll` is equivalent to :ref:`PR_Sleep` with a timeout.
``timeout``
   Amount of time the call will block waiting for I/O to become ready.
   If this time expires without any I/O becoming ready, :ref:`PR_Poll`
   returns zero.


Returns
~~~~~~~

The function returns one of these values:

-  If successful, the function returns a positive number indicating the
   number of ``PRPollDesc`` structures in ``pds`` that have events.
-  The value 0 indicates the function timed out.
-  The value -1 indicates the function failed. The reason for the
   failure can be obtained by calling :ref:`PR_GetError`.


Description
~~~~~~~~~~~

This function returns as soon as I/O is ready on one or more of the
underlying socket objects. A count of the number of ready descriptors is
returned unless a timeout occurs, in which case zero is returned.

The ``in_flags`` field of the ``PRPollDesc`` data structure should be
set to the I/O events (readable, writable, exception, or some
combination) that the caller is interested in. On successful return, the
``out_flags`` field of the ``PRPollDesc`` data structure is set to
indicate what kind of I/O is ready on the respective descriptor.
:ref:`PR_Poll` uses the ``out_flags`` fields as scratch variables during
the call. If :ref:`PR_Poll` returns 0 or -1, the ``out_flags`` fields do
not contain meaningful values and must not be used.

The ``PRPollDesc`` structure is defined as follows:

.. code::

   struct PRPollDesc {
     PRFileDesc* fd;
     PRInt16 in_flags;
     PRInt16 out_flags;
   };

   typedef struct PRPollDesc PRPollDesc;

The structure has the following fields:

``fd``
   A pointer to a :ref:`PRFileDesc` object representing a socket or a
   pollable event. This field can be set to ``NULL`` to indicate to
   :ref:`PR_Poll` that this ``PRFileDesc object`` should be ignored.

   .. note::

      On Unix, the ``fd`` field can be set to a pointer to any
      :ref:`PRFileDesc` object, including one representing a file or a
      pipe. Cross-platform applications should only set the ``fd`` field
      to a pointer to a :ref:`PRFileDesc` object representing a socket or a
      pollable event because on Windows the ``select`` function can only
      be used with sockets.
``in_flags``
   A bitwise ``OR`` of the following bit flags:

 - :ref:`PR_POLL_READ`: ``fd`` is readable.
 - :ref:`PR_POLL_WRITE`: ``fd`` is writable.
 - :ref:`PR_POLL_EXCEPT`: ``fd`` has an exception condition.

``out_flags``
   A bitwise ``OR`` of the following bit flags:

 - :ref:`PR_POLL_READ`
 - :ref:`PR_POLL_WRITE`
 - :ref:`PR_POLL_EXCEPT`
 - :ref:`PR_POLL_ERR`: ``fd`` has an error.
 - :ref:`PR_POLL_NVAL`: ``fd`` is bad.

Note that the ``PR_POLL_ERR`` and ``PR_POLL_NVAL`` flags are used only
in ``out_flags``. The ``PR_POLL_ERR`` and ``PR_POLL_NVAL`` events are
always reported by :ref:`PR_Poll`.

[ Dauer der Verarbeitung: 0.20 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge