diff options
Diffstat (limited to 'src/ccapi/server/ccs_callback.c')
-rw-r--r-- | src/ccapi/server/ccs_callback.c | 92 |
1 files changed, 46 insertions, 46 deletions
diff --git a/src/ccapi/server/ccs_callback.c b/src/ccapi/server/ccs_callback.c index 94e9d9b4be..499ba30de4 100644 --- a/src/ccapi/server/ccs_callback.c +++ b/src/ccapi/server/ccs_callback.c @@ -49,52 +49,52 @@ cc_int32 ccs_callback_new (ccs_callback_t *out_callback, cc_int32 err = ccNoError; ccs_callback_t callback = NULL; ccs_client_t client = NULL; - + if (!out_callback ) { err = cci_check_error (ccErrBadParam); } if (!ccs_pipe_valid (in_client_pipe)) { err = cci_check_error (ccErrBadParam); } if (!ccs_pipe_valid (in_reply_pipe) ) { err = cci_check_error (ccErrBadParam); } if (!in_owner ) { err = cci_check_error (ccErrBadParam); } if (!in_owner_invalidate_function ) { err = cci_check_error (ccErrBadParam); } - + if (!err) { callback = malloc (sizeof (*callback)); - if (callback) { + if (callback) { *callback = ccs_callback_initializer; } else { - err = cci_check_error (ccErrNoMem); + err = cci_check_error (ccErrNoMem); } } - + if (!err) { err = ccs_server_client_for_pipe (in_client_pipe, &client); } - + if (!err) { err = ccs_pipe_copy (&callback->client_pipe, in_client_pipe); } - + if (!err) { err = ccs_pipe_copy (&callback->reply_pipe, in_reply_pipe); } - + if (!err) { callback->client_pipe = in_client_pipe; callback->reply_pipe = in_reply_pipe; callback->invalid_object_err = in_invalid_object_err; callback->owner = in_owner; callback->owner_invalidate = in_owner_invalidate_function; - + err = ccs_client_add_callback (client, callback); } - + if (!err) { *out_callback = callback; callback = NULL; } - + ccs_callback_release (callback); - - return cci_check_error (err); + + return cci_check_error (err); } /* ------------------------------------------------------------------------ */ @@ -102,34 +102,34 @@ cc_int32 ccs_callback_new (ccs_callback_t *out_callback, cc_int32 ccs_callback_release (ccs_callback_t io_callback) { cc_int32 err = ccNoError; - + if (!err && io_callback) { ccs_client_t client = NULL; if (io_callback->pending) { - err = ccs_server_send_reply (io_callback->reply_pipe, + err = ccs_server_send_reply (io_callback->reply_pipe, io_callback->invalid_object_err, NULL); - + io_callback->pending = 0; } - + if (!err) { err = ccs_server_client_for_pipe (io_callback->client_pipe, &client); } - + if (!err && client) { /* if client object still has a reference to us, remove it */ err = ccs_client_remove_callback (client, io_callback); } - + if (!err) { ccs_pipe_release (io_callback->client_pipe); ccs_pipe_release (io_callback->reply_pipe); free (io_callback); } } - - return cci_check_error (err); + + return cci_check_error (err); } /* ------------------------------------------------------------------------ */ @@ -137,19 +137,19 @@ cc_int32 ccs_callback_release (ccs_callback_t io_callback) cc_int32 ccs_callback_invalidate (ccs_callback_t io_callback) { cc_int32 err = ccNoError; - + if (!io_callback) { err = cci_check_error (ccErrBadParam); } - + if (!err) { io_callback->pending = 0; /* client is dead, don't try to talk to it */ if (io_callback->owner_invalidate) { err = io_callback->owner_invalidate (io_callback->owner, io_callback); } else { - cci_debug_printf ("WARNING %s() unable to notify callback owner!", + cci_debug_printf ("WARNING %s() unable to notify callback owner!", __FUNCTION__); } } - + return cci_check_error (err); } @@ -159,28 +159,28 @@ cc_int32 ccs_callback_reply_to_client (ccs_callback_t io_callback, k5_ipc_stream in_stream) { cc_int32 err = ccNoError; - + if (!io_callback) { err = cci_check_error (ccErrBadParam); } - + if (!err) { if (io_callback->pending) { cci_debug_printf ("%s: callback %p replying to client.", __FUNCTION__, io_callback); err = ccs_server_send_reply (io_callback->reply_pipe, err, in_stream); - + if (err) { - cci_debug_printf ("WARNING %s() called on a lock belonging to a dead client!", + cci_debug_printf ("WARNING %s() called on a lock belonging to a dead client!", __FUNCTION__); } - + io_callback->pending = 0; } else { - cci_debug_printf ("WARNING %s() called on non-pending callback!", + cci_debug_printf ("WARNING %s() called on non-pending callback!", __FUNCTION__); } } - - return cci_check_error (err); + + return cci_check_error (err); } /* ------------------------------------------------------------------------ */ @@ -189,15 +189,15 @@ cc_uint32 ccs_callback_is_pending (ccs_callback_t in_callback, cc_uint32 *out_pending) { cc_int32 err = ccNoError; - + if (!in_callback) { err = cci_check_error (ccErrBadParam); } if (!out_pending) { err = cci_check_error (ccErrBadParam); } - + if (!err) { *out_pending = in_callback->pending; } - - return cci_check_error (err); + + return cci_check_error (err); } /* ------------------------------------------------------------------------ */ @@ -207,17 +207,17 @@ cc_int32 ccs_callback_is_for_client_pipe (ccs_callback_t in_callback, cc_uint32 *out_is_for_client_pipe) { cc_int32 err = ccNoError; - + if (!in_callback ) { err = cci_check_error (ccErrBadParam); } if (!ccs_pipe_valid (in_client_pipe)) { err = cci_check_error (ccErrBadParam); } if (!out_is_for_client_pipe ) { err = cci_check_error (ccErrBadParam); } - + if (!err) { - err = ccs_pipe_compare (in_callback->client_pipe, in_client_pipe, + err = ccs_pipe_compare (in_callback->client_pipe, in_client_pipe, out_is_for_client_pipe); } - - return cci_check_error (err); + + return cci_check_error (err); } @@ -227,13 +227,13 @@ cc_int32 ccs_callback_client_pipe (ccs_callback_t in_callback, ccs_pipe_t *out_client_pipe) { cc_int32 err = ccNoError; - + if (!in_callback ) { err = cci_check_error (ccErrBadParam); } if (!out_client_pipe) { err = cci_check_error (ccErrBadParam); } - + if (!err) { *out_client_pipe = in_callback->client_pipe; } - - return cci_check_error (err); + + return cci_check_error (err); } |