diff --git a/lib/lrmd/lrmd_client.c b/lib/lrmd/lrmd_client.c index 2a2406c0ca8..11d5ee043b6 100644 --- a/lib/lrmd/lrmd_client.c +++ b/lib/lrmd/lrmd_client.c @@ -495,27 +495,53 @@ lrmd_tls_dispatch_async(gpointer userdata) process_pending_notifies(lrmd); /* Next read the current buffer and see if there are any messages to handle. */ + crm_info("BEFORE REMOTE READY"); rc = pcmk__remote_ready(native->remote, 0); - if (rc == pcmk_rc_ok) { - rc = pcmk__read_available_remote_data(native->remote); + crm_info("AFTER REMOTE READY"); + switch (rc) { + case pcmk_rc_ok: + crm_info("READY SAID OK"); + break; + + case ETIME: + /* No message available to read */ + crm_info("READY SAID AGAIN"); + return 1; + + default: + /* Error */ + crm_info("Lost %s executor connection while reading data", + (native->remote_nodename? native->remote_nodename : "local")); + lrmd_tls_disconnect(lrmd); + return 0; } - if (rc == EAGAIN) { - /* We haven't read the whole message yet */ - return 1; - } else if (rc != pcmk_rc_ok && rc != ETIME) { - crm_info("Lost %s executor connection while reading data", - (native->remote_nodename? native->remote_nodename : "local")); - lrmd_tls_disconnect(lrmd); - return 0; + crm_info("BEFORE READ AVAIL"); + rc = pcmk__read_available_remote_data(native->remote); + crm_info("AFTER READ AVAIL"); + switch (rc) { + case pcmk_rc_ok: + crm_info("READ SAID OK"); + break; + + case EAGAIN: + /* We haven't read the whole message yet */ + crm_info("READ SAID AGAIN"); + return 1; + + default: + /* Error */ + crm_info("Lost %s executor connection while reading data", + (native->remote_nodename? native->remote_nodename : "local")); + lrmd_tls_disconnect(lrmd); + return 0; } - /* If rc is ETIME, there was nothing to read but we may already have a - * full message in the buffer - */ + crm_info("BEFORE REMOTE MSG"); xml = pcmk__remote_message_xml(native->remote); - + crm_info("AFTER REMOTE MSG"); if (xml == NULL) { + crm_info("REMOTE MSG IS NULL"); return 1; }