- /* Read read_buffer_size bytes at a time to the buffer (usually 128k) */
- readresult = read(fd, read_buffer, read_buffer_size);
+ if (session->inbuf.length())
+ {
+ /* Our input buffer is filling up. This is *BAD*.
+ * We can't return more data than fits into buffer
+ * (count bytes), so we will generate another read
+ * event on purpose by *NOT* reading from 'fd' at all
+ * for now.
+ */
+ readresult = 0;
+ }
+ else
+ {
+ /* Read read_buffer_size bytes at a time to the buffer (usually 2.5k) */
+ readresult = read(fd, net_buffer, net_buffer_size);