More SNtp debug 5

This commit is contained in:
Sergey Lyubka 2022-05-27 21:44:03 +01:00
parent b9d1d4a94f
commit 4aad859e20
3 changed files with 18 additions and 6 deletions

View File

@ -4413,8 +4413,9 @@ static void mg_iotest(struct mg_mgr *mgr, int ms) {
}
}
MG_DEBUG(("n=%d ms=%d", n, ms));
if (poll(fds, n, ms) < 0) {
int res = poll(fds, n, ms);
MG_DEBUG(("n=%d ms=%d res=%d errno=%d", n, ms, res, errno));
if (res < 0) {
MG_ERROR(("poll failed, errno: %d", MG_SOCK_ERRNO));
} else {
i = 0;
@ -4426,6 +4427,8 @@ static void mg_iotest(struct mg_mgr *mgr, int ms) {
c->is_writable = (unsigned) (fds[i].revents & POLLOUT ? 1 : 0);
fds[i].revents = 0;
if (mg_tls_pending(c) > 0) c->is_readable = 1;
MG_DEBUG((" fd=%d events=%d revents=%d", fds[i].fd, fds[i].events,
fds[i].revents));
}
}
}

View File

@ -494,8 +494,9 @@ static void mg_iotest(struct mg_mgr *mgr, int ms) {
}
}
MG_DEBUG(("n=%d ms=%d", n, ms));
if (poll(fds, n, ms) < 0) {
int res = poll(fds, n, ms);
MG_DEBUG(("n=%d ms=%d res=%d errno=%d", n, ms, res, errno));
if (res < 0) {
MG_ERROR(("poll failed, errno: %d", MG_SOCK_ERRNO));
} else {
i = 0;
@ -507,6 +508,8 @@ static void mg_iotest(struct mg_mgr *mgr, int ms) {
c->is_writable = (unsigned) (fds[i].revents & POLLOUT ? 1 : 0);
fds[i].revents = 0;
if (mg_tls_pending(c) > 0) c->is_readable = 1;
MG_DEBUG((" fd=%d events=%d revents=%d", fds[i].fd, fds[i].events,
fds[i].revents));
}
}
}

View File

@ -13,6 +13,12 @@ static int s_num_tests = 0;
#define FETCH_BUF_SIZE (256 * 1024)
#define POLL_UNTIL(_mgr, _timeout, _condition) \
do { \
uint64_t until = mg_millis() + _timeout; \
while (mg_millis() < until && (_condition)) mg_mgr_poll(_mgr, 5); \
} while (0)
// Important: we use different port numbers for the Windows bug workaround. See
// https://support.microsoft.com/en-ae/help/3039044/error-10013-wsaeacces-is-returned-when-a-second-bind-to-a-excluded-por
@ -296,13 +302,12 @@ static void test_sntp_server(const char *url) {
int64_t ms = 0;
struct mg_mgr mgr;
struct mg_connection *c = NULL;
int i;
mg_mgr_init(&mgr);
c = mg_sntp_connect(&mgr, url, sntp_cb, &ms);
ASSERT(c != NULL);
ASSERT(c->is_udp == 1);
for (i = 0; i < 60 && ms == 0; i++) mg_mgr_poll(&mgr, 50);
POLL_UNTIL(&mgr, 3000, ms == 0);
MG_DEBUG(("server: %s, ms: %lld", url ? url : "(default)", ms));
ASSERT(ms > 0);
mg_mgr_free(&mgr);
@ -311,6 +316,7 @@ static void test_sntp_server(const char *url) {
static void test_sntp(void) {
test_sntp_server("udp://time.windows.com:123");
test_sntp_server(NULL);
exit(0);
{
int64_t ms;