ipcc: Fix ERR_LIBRARY error if finalise called inside dispatch
In some instances it's possible for cpg_dispatch() to return
CS_ERR_LIBRARY if cpg_finalise() is called from the callback routine.
The error isn't a problem but it can cause calling applications to log
an error where there is no actual problem (this has been seen in
cmirrord)
The trouble is caused because control_buffer->ipc_closed is (correctly)
set in this situation which causes ipc_sem_wait() to return
CS_ERR_LIBRARY.
My solution is to check for control_buffer->ipc_closed in coroipcc_put()
and instead of simply passing CS_ERR_LIBRARY up the stack, change it to
a benign CS_OK as it is quite reasonable behaviour when shutting down.
Signed-Off-By: Christine Caulfield <ccaulfie@redhat.com>
Reviewed-by: Jan Friesse <jfriesse@redhat.com>