Lines Matching +full:wake +full:- +full:up

48 	if ((so)->so_rcv_wakeup) {			\
49 (so)->so_rcv_wakeup = B_FALSE; \
50 cv_signal(&(so)->so_rcv_cv); \
55 if ((so)->so_snd_wakeup) { \
56 (so)->so_snd_wakeup = B_FALSE; \
57 cv_broadcast(&(so)->so_snd_cv); \
70 * Wake up anyone waiting for the connection to be established.
75 ASSERT(MUTEX_HELD(&so->so_lock)); in so_notify_connected()
79 mutex_exit(&so->so_lock); in so_notify_connected()
82 mutex_exit(&so->so_lock); in so_notify_connected()
83 pollwakeup(&so->so_poll_list, POLLOUT); in so_notify_connected()
87 ASSERT(MUTEX_NOT_HELD(&so->so_lock)); in so_notify_connected()
91 * The socket is disconnecting, so no more data can be sent. Wake up
100 ASSERT(MUTEX_HELD(&so->so_lock)); in so_notify_disconnecting()
105 mutex_exit(&so->so_lock); in so_notify_disconnecting()
109 mutex_exit(&so->so_lock); in so_notify_disconnecting()
112 pollwakeup(&so->so_poll_list, pollev); in so_notify_disconnecting()
116 ASSERT(MUTEX_NOT_HELD(&so->so_lock)); in so_notify_disconnecting()
121 * Wake up anyone that is waiting to send or receive data.
129 ASSERT(MUTEX_HELD(&so->so_lock)); in so_notify_disconnected()
140 mutex_exit(&so->so_lock); in so_notify_disconnected()
144 mutex_exit(&so->so_lock); in so_notify_disconnected()
156 pollwakeup(&so->so_poll_list, pollev); in so_notify_disconnected()
161 ASSERT(MUTEX_NOT_HELD(&so->so_lock)); in so_notify_disconnected()
165 * The socket is writeable. Wake up anyone waiting to send data.
170 ASSERT(MUTEX_HELD(&so->so_lock)); in so_notify_writable()
176 mutex_exit(&so->so_lock); in so_notify_writable()
179 mutex_exit(&so->so_lock); in so_notify_writable()
180 pollwakeup(&so->so_poll_list, POLLOUT); in so_notify_writable()
183 ASSERT(MUTEX_NOT_HELD(&so->so_lock)); in so_notify_writable()
186 if (so->so_filter_active > 0) in so_notify_writable()
191 * Data is available, so wake up anyone waiting for data.
196 ASSERT(MUTEX_HELD(&so->so_lock)); in so_notify_data()
202 mutex_exit(&so->so_lock); in so_notify_data()
205 if (so->so_pollev & (SO_POLLEV_IN|SO_POLLEV_ALWAYS)) { in so_notify_data()
206 so->so_pollev &= ~SO_POLLEV_IN; in so_notify_data()
207 mutex_exit(&so->so_lock); in so_notify_data()
208 pollwakeup(&so->so_poll_list, POLLIN|POLLRDNORM); in so_notify_data()
210 mutex_exit(&so->so_lock); in so_notify_data()
214 ASSERT(MUTEX_NOT_HELD(&so->so_lock)); in so_notify_data()
218 * Transient error. Wake up anyone waiting to send or receive data.
223 ASSERT(MUTEX_HELD(&so->so_lock)); in so_notify_error()
230 mutex_exit(&so->so_lock); in so_notify_error()
233 so->so_pollev &= ~SO_POLLEV_IN; in so_notify_error()
234 mutex_exit(&so->so_lock); in so_notify_error()
235 pollwakeup(&so->so_poll_list, POLLOUT|POLLIN|POLLRDNORM); in so_notify_error()
238 ASSERT(MUTEX_NOT_HELD(&so->so_lock)); in so_notify_error()
242 * Out-of-band data is incoming, notify any interested parties.
248 mutex_exit(&so->so_lock); in so_notify_oobsig()
249 pollwakeup(&so->so_poll_list, POLLRDBAND); in so_notify_oobsig()
253 * Received out-of-band data. If the OOB data is delivered inline, then
260 ASSERT(MUTEX_HELD(&so->so_lock)); in so_notify_oobdata()
261 if (so->so_direct != NULL) in so_notify_oobdata()
262 SOD_UIOAFINI(so->so_direct); in so_notify_oobdata()
268 mutex_exit(&so->so_lock); in so_notify_oobdata()
272 so->so_pollev &= ~SO_POLLEV_IN; in so_notify_oobdata()
273 mutex_exit(&so->so_lock); in so_notify_oobdata()
274 pollwakeup(&so->so_poll_list, in so_notify_oobdata()
277 mutex_exit(&so->so_lock); in so_notify_oobdata()
278 pollwakeup(&so->so_poll_list, POLLRDBAND); in so_notify_oobdata()
282 ASSERT(MUTEX_NOT_HELD(&so->so_lock)); in so_notify_oobdata()
286 * End-of-file has been reach, so peer will send no new data. Wake up
295 ASSERT(MUTEX_HELD(&so->so_lock)); in so_notify_eof()
301 mutex_exit(&so->so_lock); in so_notify_eof()
305 mutex_exit(&so->so_lock); in so_notify_eof()
307 pollwakeup(&so->so_poll_list, pollev); in so_notify_eof()
312 ASSERT(MUTEX_NOT_HELD(&so->so_lock)); in so_notify_eof()
316 * Wake up anyone waiting for a new connection.
321 ASSERT(MUTEX_HELD(&so->so_lock)); in so_notify_newconn()
325 mutex_exit(&so->so_lock); in so_notify_newconn()
328 if (so->so_pollev & (SO_POLLEV_IN|SO_POLLEV_ALWAYS)) { in so_notify_newconn()
329 so->so_pollev &= ~SO_POLLEV_IN; in so_notify_newconn()
330 mutex_exit(&so->so_lock); in so_notify_newconn()
331 pollwakeup(&so->so_poll_list, POLLIN|POLLRDNORM); in so_notify_newconn()
333 mutex_exit(&so->so_lock); in so_notify_newconn()
337 ASSERT(MUTEX_NOT_HELD(&so->so_lock)); in so_notify_newconn()
341 * User initated shutdown/close, wake anyone that is trying to do
350 ASSERT(MUTEX_HELD(&so->so_lock)); in so_notify_shutdown()
351 ASSERT(so->so_state & (SS_CANTSENDMORE|SS_CANTRCVMORE)); in so_notify_shutdown()
353 if (so->so_state & SS_CANTSENDMORE) in so_notify_shutdown()
355 if (so->so_state & SS_CANTRCVMORE) in so_notify_shutdown()
360 mutex_exit(&so->so_lock); in so_notify_shutdown()
362 pollwakeup(&so->so_poll_list, pollev); in so_notify_shutdown()
364 ASSERT(MUTEX_NOT_HELD(&so->so_lock)); in so_notify_shutdown()
374 if (!(so->so_state & SS_SENTLASTREADSIG)) { in i_so_notify_last_rx()
377 so->so_state |= SS_SENTLASTREADSIG; in i_so_notify_last_rx()
378 so->so_pollev &= ~SO_POLLEV_IN; in i_so_notify_last_rx()
390 * The socket is un-writeable. Make one last notification.
395 if (!(so->so_state & SS_SENTLASTWRITESIG)) { in i_so_notify_last_tx()
397 so->so_state |= SS_SENTLASTWRITESIG; in i_so_notify_last_tx()