Fix BIO_set_nbio_accept()
The code that implements this control would work when enabling nbio, but the disabling code needed fixing. Reviewed-by: Matt Caswell <matt@openssl.org>
This commit is contained in:
parent
b3bd3d5af8
commit
68423b1461
1 changed files with 5 additions and 4 deletions
|
@ -474,16 +474,17 @@ static long acpt_ctrl(BIO *b, int cmd, long num, void *ptr)
|
|||
data->param_serv = BUF_strdup(ptr);
|
||||
b->init = 1;
|
||||
} else if (num == 2) {
|
||||
if (ptr != NULL)
|
||||
data->bind_mode |= BIO_SOCK_NONBLOCK;
|
||||
else
|
||||
data->bind_mode &= ~BIO_SOCK_NONBLOCK;
|
||||
data->bind_mode |= BIO_SOCK_NONBLOCK;
|
||||
} else if (num == 3) {
|
||||
BIO_free(data->bio_chain);
|
||||
data->bio_chain = (BIO *)ptr;
|
||||
} else if (num == 4) {
|
||||
data->accept_family = *(int *)ptr;
|
||||
}
|
||||
} else {
|
||||
if (num == 2) {
|
||||
data->bind_mode &= ~BIO_SOCK_NONBLOCK;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case BIO_C_SET_NBIO:
|
||||
|
|
Loading…
Reference in a new issue