HomeClusterLabs Projects

Feature: libcrmcommon: crm_ipc_read can receive large IPC messages.

Description

Feature: libcrmcommon: crm_ipc_read can receive large IPC messages.

This function is used on the receive end of an IPC connection to read
server events. These are async, out-of-band messages from the IPC
server in response to some request.

Everywhere that crm_ipc_read is called, it's called in a loop to read
events until there are none left to read. This works well for split up
IPC messages - crm_ipc_read can be extended to just examine the event it
read and append it to the in-progress buffer if it's a multipart IPC
message.

This also means that callers should be handling the possibility of
receiving EAGAIN from crm_ipc_read, which is definitely not the case
everywhere in our IPC code.

Details

Provenance
clumensAuthored on Thu, May 1, 10:06 AM
Parents
rPc431eb0bfd0f: Feature: libcrmcommon: Add pcmk__ipc_msg_append.
Branches
Unknown
Tags
Unknown