Seems to always be zero, Matt, as it should be.  This gives some idea of what is going on:

<pre>
Breakpoint 4, dcb_basic_read_SSL (dcb=0x7fffdc0158d0,
    nsingleread=0x7fffffff86fc) at /root/MaxScale/server/core/dcb.c:1218
1218        switch (SSL_get_error(dcb->ssl, *nsingleread))
$352 = 16384

Breakpoint 5, dcb_basic_read_SSL (dcb=0x7fffdc0158d0,
    nsingleread=0x7fffffff86fc) at /root/MaxScale/server/core/dcb.c:1222
1222            MXS_DEBUG("%lu [%s] Read %d bytes from dcb %p in state %s "
Fri May 27 16:47:12 BST 2016
$353 = "Successful SSL read"

Breakpoint 1, dcb_read_SSL (dcb=0x7fffdc0158d0, head=0x7fffffff87d0)
    at /root/MaxScale/server/core/dcb.c:1191
1191        ss_dassert(gwbuf_length(*head) == (start_length + nreadtotal));
$354 = 0

Breakpoint 9, dcb_write (dcb=0x678ef0, queue=0x67d300)
    at /root/MaxScale/server/core/dcb.c:1370
1370        below_water = (dcb->high_water && dcb->writeqlen < dcb->high_water);
Fri May 27 16:47:12 BST 2016
$355 = 16384
$356 = "Writing to the client"
</pre>

Breakpoint 4 shows the number of bytes read.

Breakpoint 5 shows the case for analysis of the return code from the read.

Breakpoint 1 shows the value of s->s3->rbuf.left

Breakpoint 9 shows the number of bytes being passed to the write function.

        
        
        
<br/><hr align="left" width="300" />
View this message in context: <a href="http://openssl.6102.n7.nabble.com/OpenSSL-non-blocking-epoll-hanging-on-data-receiving-tp66355p66394.html">Re: OpenSSL non-blocking epoll hanging on data receiving</a><br/>
Sent from the <a href="http://openssl.6102.n7.nabble.com/OpenSSL-User-f3.html">OpenSSL - User mailing list archive</a> at Nabble.com.<br/>