⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 apr__poll_8h-source.html

📁 apr函数库使用手册
💻 HTML
📖 第 1 页 / 共 2 页
字号:
00089 <span class="comment"> */</span>
00090 <span class="comment"></span>
00091 <span class="comment">/** Opaque structure used for pollset API */</span>
<a name="l00092"></a><a class="code" href="group__apr__poll.html#ga1">00092</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="group__apr__poll.html#ga1">apr_pollset_t</a> <a class="code" href="group__apr__poll.html#ga1">apr_pollset_t</a>;
00093 <span class="comment"></span>
00094 <span class="comment">/**</span>
00095 <span class="comment"> * Setup a pollset object</span>
00096 <span class="comment"> * @param pollset  The pointer in which to return the newly created object </span>
00097 <span class="comment"> * @param size The maximum number of descriptors that this pollset can hold</span>
00098 <span class="comment"> * @param p The pool from which to allocate the pollset</span>
00099 <span class="comment"> * @param flags Optional flags to modify the operation of the pollset.</span>
00100 <span class="comment"> *</span>
00101 <span class="comment"> * @remark If flags equals APR_POLLSET_THREADSAFE, then a pollset is</span>
00102 <span class="comment"> * created on which it is safe to make concurrent calls to</span>
00103 <span class="comment"> * apr_pollset_add(), apr_pollset_remove() and apr_pollset_poll() from</span>
00104 <span class="comment"> * separate threads.  This feature is only supported on some</span>
00105 <span class="comment"> * platforms; the apr_pollset_create() call will fail with</span>
00106 <span class="comment"> * APR_ENOTIMPL on platforms where it is not supported.</span>
00107 <span class="comment"> */</span>
00108 APR_DECLARE(apr_status_t) apr_pollset_create(apr_pollset_t **pollset,
00109                                              apr_uint32_t size,
00110                                              apr_pool_t *p,
00111                                              apr_uint32_t flags);
00112 <span class="comment"></span>
00113 <span class="comment">/**</span>
00114 <span class="comment"> * Destroy a pollset object</span>
00115 <span class="comment"> * @param pollset The pollset to destroy</span>
00116 <span class="comment"> */</span>
00117 APR_DECLARE(apr_status_t) apr_pollset_destroy(apr_pollset_t *pollset);
00118 <span class="comment"></span>
00119 <span class="comment">/**</span>
00120 <span class="comment"> * Add a socket or file descriptor to a pollset</span>
00121 <span class="comment"> * @param pollset The pollset to which to add the descriptor</span>
00122 <span class="comment"> * @param descriptor The descriptor to add</span>
00123 <span class="comment"> * @remark If you set client_data in the descriptor, that value</span>
00124 <span class="comment"> *         will be returned in the client_data field whenever this</span>
00125 <span class="comment"> *         descriptor is signalled in apr_pollset_poll().</span>
00126 <span class="comment"> */</span>
00127 APR_DECLARE(apr_status_t) apr_pollset_add(apr_pollset_t *pollset,
00128                                           const apr_pollfd_t *descriptor);
00129 <span class="comment"></span>
00130 <span class="comment">/**</span>
00131 <span class="comment"> * Remove a descriptor from a pollset</span>
00132 <span class="comment"> * @param pollset The pollset from which to remove the descriptor</span>
00133 <span class="comment"> * @param descriptor The descriptor to remove</span>
00134 <span class="comment"> */</span>
00135 APR_DECLARE(apr_status_t) apr_pollset_remove(apr_pollset_t *pollset,
00136                                              const apr_pollfd_t *descriptor);
00137 <span class="comment"></span>
00138 <span class="comment">/**</span>
00139 <span class="comment"> * Block for activity on the descriptor(s) in a pollset</span>
00140 <span class="comment"> * @param pollset The pollset to use</span>
00141 <span class="comment"> * @param timeout Timeout in microseconds</span>
00142 <span class="comment"> * @param num Number of signalled descriptors (output parameter)</span>
00143 <span class="comment"> * @param descriptors Array of signalled descriptors (output parameter)</span>
00144 <span class="comment"> */</span>
00145 APR_DECLARE(apr_status_t) apr_pollset_poll(apr_pollset_t *pollset,
00146                                            apr_interval_time_t timeout,
00147                                            apr_int32_t *num,
00148                                            const apr_pollfd_t **descriptors);
00149 
00150 <span class="comment"></span>
00151 <span class="comment">/**</span>
00152 <span class="comment"> * Poll the sockets in the poll structure</span>
00153 <span class="comment"> * @param aprset The poll structure we will be using. </span>
00154 <span class="comment"> * @param numsock The number of sockets we are polling</span>
00155 <span class="comment"> * @param nsds The number of sockets signalled.</span>
00156 <span class="comment"> * @param timeout The amount of time in microseconds to wait.  This is </span>
00157 <span class="comment"> *                a maximum, not a minimum.  If a socket is signalled, we </span>
00158 <span class="comment"> *                will wake up before this time.  A negative number means </span>
00159 <span class="comment"> *                wait until a socket is signalled.</span>
00160 <span class="comment"> * @remark The number of sockets signalled is returned in the third argument. </span>
00161 <span class="comment"> *         This is a blocking call, and it will not return until either a </span>
00162 <span class="comment"> *         socket has been signalled, or the timeout has expired. </span>
00163 <span class="comment"> */</span>
00164 APR_DECLARE(apr_status_t) apr_poll(apr_pollfd_t *aprset, apr_int32_t numsock,
00165                                    apr_int32_t *nsds, 
00166                                    apr_interval_time_t timeout);
00167 <span class="comment"></span>
00168 <span class="comment">/** @} */</span>
00169 
00170 
00171 #ifdef __cplusplus
00172 }
00173 #endif
00174 
00175 #endif  <span class="comment">/* ! APR_POLL_H */</span>
00176 
</div></pre><hr size="1"><address style="align: right;"><small>Generated on Mon Feb 7 13:18:25 2005 for Apache Portable Runtime by
<a href="../../../www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.7 </small></address>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -