MEDIUM: stream-int: replace channel_alloc_buffer() with si_alloc_ibuf() everywhere
Well that's only 3 places (applet.c, stream_interface.c, hlua.c). This
ensures we always clear SI_FL_WAIT_ROOM before setting it on failure,
so that it is granted that SI_FL_WAIT_ROOM always indicates a lack of
room for doing an operation, including the inability to allocate a
buffer for this.
diff --git a/src/applet.c b/src/applet.c
index d7fbb53..6911ab4 100644
--- a/src/applet.c
+++ b/src/applet.c
@@ -36,7 +36,7 @@
* applet in all cases. So this is the applet responsibility to
* check if this buffer was allocated or not. This let a chance
* for applets to do some other processing if needed. */
- if (!channel_alloc_buffer(si_ic(si), &app->buffer_wait))
+ if (!si_alloc_ibuf(si, &app->buffer_wait))
si_applet_cant_put(si);
/* We always pretend the applet can't get and doesn't want to
diff --git a/src/hlua.c b/src/hlua.c
index 44fb04a..6ad3c82 100644
--- a/src/hlua.c
+++ b/src/hlua.c
@@ -2030,7 +2030,7 @@
* the request buffer if its not required.
*/
if (s->req.buf.size == 0) {
- if (!channel_alloc_buffer(&s->req, &appctx->buffer_wait))
+ if (!si_alloc_ibuf(si, &appctx->buffer_wait))
goto hlua_socket_write_yield_return;
}
diff --git a/src/stream_interface.c b/src/stream_interface.c
index e585b1f..8574b4c 100644
--- a/src/stream_interface.c
+++ b/src/stream_interface.c
@@ -1150,10 +1150,8 @@
}
/* now we'll need a input buffer for the stream */
- if (!channel_alloc_buffer(ic, &(si_strm(si)->buffer_wait))) {
- si->flags |= SI_FL_WAIT_ROOM;
+ if (!si_alloc_ibuf(si, &(si_strm(si)->buffer_wait)))
goto end_recv;
- }
/* Important note : if we're called with POLL_IN|POLL_HUP, it means the read polling
* was enabled, which implies that the recv buffer was not full. So we have a guarantee