mirror of
https://github.com/libevent/libevent.git
synced 2025-01-31 09:12:55 +08:00
Fix bug in SSL bufferevents backed by a bev with a write high-watermarks
Original mail: the logic that handles write watermarks in "bio_bufferevent_write" is not working. It currently doesn't write any data if the high watermark is *above* the amount of data to write (i.e. when there is actually enough room available).
This commit is contained in:
parent
8ee9f9c1cf
commit
e050703d47
@ -170,8 +170,8 @@ bio_bufferevent_write(BIO *b, const char *in, int inlen)
|
||||
|
||||
/* Copy only as much data onto the output buffer as can fit under the
|
||||
* high-water mark. */
|
||||
if (bufev->wm_write.high && bufev->wm_write.high >= (outlen+inlen)) {
|
||||
if (bufev->wm_write.high >= outlen) {
|
||||
if (bufev->wm_write.high && bufev->wm_write.high <= (outlen+inlen)) {
|
||||
if (bufev->wm_write.high <= outlen) {
|
||||
/* If no data can fit, we'll need to retry later. */
|
||||
BIO_set_retry_write(b);
|
||||
return -1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user