Can calls to non-blocking SSL_read() and SSL_write() be interleaved? I'm doing select() / event driven IO, and using a BIO pair to handle the underlying socket IO myself.
A typical sequence might be: SSL_read(ssl, read_buf, read_size); /* returns e.g. SSL_ERROR_WANT_READ */ select(); /* woken up by an unrelated event which triggers: */ SSL_write(ssl, write_buf, write_size); /* which causes data to be appended to the BIO slave, then returns SSL_ERROR_NONE. We read the data from BIO master and schedule it to be writtenl then: */ select(); /* data available; read() and append to BIO master, then: */ SSL_read(ssl, read_buf, read_size); /* returns SSL_ERROR_NONE */ select(); Is that call to SSL_write() legitimate while the SSL_read() isn't finished? -- Any [programming] language that doesn't occasionally surprise the novice will pay for it by continually surprising the expert. -- Larry Wall ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager majord...@openssl.org