Commit 68423b14 authored by Richard Levitte's avatar Richard Levitte
Browse files

Fix BIO_set_nbio_accept()



The code that implements this control would work when enabling nbio,
but the disabling code needed fixing.

Reviewed-by: default avatarMatt Caswell <matt@openssl.org>
parent b3bd3d5a
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -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;
            } 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: