diff --git a/legacy/ecore/src/lib/ecore_con/ecore_con.c b/legacy/ecore/src/lib/ecore_con/ecore_con.c index 6699fe69c9..400d384a45 100644 --- a/legacy/ecore/src/lib/ecore_con/ecore_con.c +++ b/legacy/ecore/src/lib/ecore_con/ecore_con.c @@ -620,7 +620,7 @@ ecore_con_server_connected_get(Ecore_Con_Server *svr) * @return The list of clients on this server. * @ingroup Ecore_Con_Server_Group */ -EAPI Ecore_List* +EAPI Ecore_List * ecore_con_server_clients_get(Ecore_Con_Server *svr) { if (!ECORE_MAGIC_CHECK(svr, ECORE_MAGIC_CON_SERVER)) @@ -1333,6 +1333,8 @@ _ecore_con_cl_handler(void *data, Ecore_Fd_Handler *fd_handler) lost_server = (ssl_err == SSL_ERROR_ZERO_RETURN); if (ssl_err == SSL_ERROR_SYSCALL) { + perror("SSL read"); + printf("SSL_ERROR_SYSCALL: num = %d, errno = %d\n", num, errno); if (num == 0) lost_server = 1; else { @@ -1522,6 +1524,21 @@ _ecore_con_server_flush(Ecore_Con_Server *svr) { ssl_err = SSL_get_error(svr->ssl, count); lost_server = (ssl_err == SSL_ERROR_ZERO_RETURN); + if (ssl_err == SSL_ERROR_SYSCALL) + { + perror("SSL write"); + printf("SSL_ERROR_SYSCALL: num = %d, errno = %d\n", num, errno); + if (num == 0) lost_server = 1; + else + { + lost_server = ((errno == EIO) || + (errno == EBADF) || + (errno == EPIPE) || + (errno == EINVAL) || + (errno == ENOSPC) || + (errno == ECONNRESET)); + } + } } } #endif