ipc: add a non-blocking send function.

Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
This commit is contained in:
Angus Salkeld 2010-04-29 14:28:44 +10:00
parent e163121d02
commit 74a7a49354
2 changed files with 34 additions and 0 deletions

View File

@ -79,6 +79,12 @@ qb_ipcc_dispatch_flow_control_get (
qb_hdb_handle_t handle,
unsigned int *flow_control_state);
extern int32_t
qb_ipcc_msg_send (
qb_hdb_handle_t handle,
const struct iovec *iov,
unsigned int iov_len);
extern int32_t
qb_ipcc_msg_send_reply_receive (
qb_hdb_handle_t handle,

View File

@ -998,6 +998,34 @@ error_exit:
return (res);
}
int32_t
qb_ipcc_msg_send (
qb_hdb_handle_t handle,
const struct iovec *iov,
unsigned int iov_len)
{
int32_t res;
struct ipc_instance *ipc_instance;
res = qb_hdb_handle_get (&ipc_hdb, handle, (void **)&ipc_instance);
if (res != 0) {
return (res);
}
pthread_mutex_lock (&ipc_instance->mutex);
res = msg_send (ipc_instance, iov, iov_len);
if (res != 0) {
goto error_exit;
}
error_exit:
qb_hdb_handle_put (&ipc_hdb, handle);
pthread_mutex_unlock (&ipc_instance->mutex);
return (res);
}
int32_t
qb_ipcc_msg_send_reply_receive (
qb_hdb_handle_t handle,