On 5/7/25 3:41 PM, Martin Morgenstern via dev wrote:
> Refactor jsonrpc_session_recv_until() to return the results of the
> jsonrpc_recv()/jsonrpc_recv_until() calls, making it possible to detect
> blocking calls (EAGAIN) in upper layers.

As per review of the first patch, I don't think this should be done.

IIUC, the reason for passing up the status is the echo messages that
while received are not passed up to the caller.  If that's the case,
I'd suggest we just keep trying to receive the message that can be
actually passed to the caller until the deadline is reached.  E.g.,
wrap the body of jsonrpc_session_recv_until() into a loop as the
jsonrpc_recv_until() does.  We may also just do the same thing for the
regular non-deadline version of the function and keep trying to recv
the message until we have something to return to the caller, use the
same 50 as a limit and the same do {} while (); loop that I suggested
int the review of the first patch.  WDYT?

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to