/* Check if the input buffer is avalaible. */
if (res->buf.size == 0) {
- si_cant_put(si);
+ /* buf.size==0 means we failed to get a buffer and were
+ * already subscribed to a wait list to get a buffer.
+ */
goto out;
}
/* Check if the input buffer is avalaible. */
if (res->buf.size == 0) {
- si_cant_put(si);
+ /* buf.size==0 means we failed to get a buffer and were
+ * already subscribed to a wait list to get a buffer.
+ */
goto out;
}
* the request buffer if its not required.
*/
if (chn->buf.size == 0) {
- si_cant_put(chn_prod(chn));
+ si_rx_buff_blk(chn_prod(chn));
MAY_LJMP(hlua_yieldk(L, 0, 0, hlua_channel_append_yield, TICK_ETERNITY, 0));
}
* the request buffer if its not required.
*/
if (chn->buf.size == 0) {
- si_cant_put(chn_prod(chn));
+ si_rx_buff_blk(chn_prod(chn));
MAY_LJMP(hlua_yieldk(L, 0, 0, hlua_channel_send_yield, TICK_ETERNITY, 0));
}
/* Check if the input buffer is avalaible. */
if (res->buf.size == 0) {
- si_cant_put(si);
+ /* already subscribed, we'll be called later once the buffer is
+ * available.
+ */
goto out;
}