| 793 | } |
| 794 | |
| 795 | void updateSSLEventCore(tls_connection *conn) { |
| 796 | int mask = aeGetFileEvents(serverTL->el, conn->c.fd); |
| 797 | int need_read = conn->c.read_handler || (conn->flags & TLS_CONN_FLAG_WRITE_WANT_READ); |
| 798 | int need_write = conn->c.write_handler || (conn->flags & TLS_CONN_FLAG_READ_WANT_WRITE); |
| 799 | |
| 800 | serverAssert(conn->el == serverTL->el); |
| 801 | |
| 802 | if (need_read && !(mask & AE_READABLE)) |
| 803 | aeCreateFileEvent(serverTL->el, conn->c.fd, AE_READABLE|AE_READ_THREADSAFE, tlsEventHandler, conn); |
| 804 | if (!need_read && (mask & AE_READABLE)) |
| 805 | aeDeleteFileEvent(serverTL->el, conn->c.fd, AE_READABLE); |
| 806 | |
| 807 | if (need_write && !(mask & AE_WRITABLE)) |
| 808 | aeCreateFileEvent(serverTL->el, conn->c.fd, AE_WRITABLE|AE_WRITE_THREADSAFE, tlsEventHandler, conn); |
| 809 | if (!need_write && (mask & AE_WRITABLE)) |
| 810 | aeDeleteFileEvent(serverTL->el, conn->c.fd, AE_WRITABLE); |
| 811 | } |
| 812 | |
| 813 | void updateSSLEvent(tls_connection *conn) { |
| 814 | if (conn->el != serverTL->el) { |
no test coverage detected