diff options
| author | Alexandra Ellwood <lxs@mit.edu> | 2007-06-12 21:07:16 +0000 |
|---|---|---|
| committer | Alexandra Ellwood <lxs@mit.edu> | 2007-06-12 21:07:16 +0000 |
| commit | 05b0fe74bb6eb10a49333d42f9f1677235863f85 (patch) | |
| tree | bbf3ca5514c49c0ac7d4f70073cb3208607cc05d /src/ccapi/server/ccs_pipe.c | |
| parent | fd7e3b884d0fa19a4d9b1f1965e656b62beb7351 (diff) | |
| download | krb5-05b0fe74bb6eb10a49333d42f9f1677235863f85.tar.gz krb5-05b0fe74bb6eb10a49333d42f9f1677235863f85.tar.xz krb5-05b0fe74bb6eb10a49333d42f9f1677235863f85.zip | |
Add advisory locking to CCAPI
Added code to trash client crashes. Reorganized server launch to make
it easier to implement platform specific code.
ticket: new
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19573 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/ccapi/server/ccs_pipe.c')
| -rw-r--r-- | src/ccapi/server/ccs_pipe.c | 130 |
1 files changed, 1 insertions, 129 deletions
diff --git a/src/ccapi/server/ccs_pipe.c b/src/ccapi/server/ccs_pipe.c index 2b33f92a0..a7a547f17 100644 --- a/src/ccapi/server/ccs_pipe.c +++ b/src/ccapi/server/ccs_pipe.c @@ -27,137 +27,9 @@ #include "ccs_common.h" #include "ccs_os_pipe.h" -struct ccs_pipe_d { - ccs_os_pipe_t os_pipe; -}; - -struct ccs_pipe_d ccs_pipe_initializer = { CCS_OS_PIPE_NULL }; - -/* ------------------------------------------------------------------------ */ - -cc_int32 ccs_pipe_new (ccs_pipe_t *out_pipe, - ccs_os_pipe_t in_os_pipe) -{ - cc_int32 err = ccNoError; - ccs_pipe_t new_pipe = NULL; - - if (!out_pipe ) { err = cci_check_error (ccErrBadParam); } - if (!ccs_os_pipe_valid (in_os_pipe)) { err = cci_check_error (ccErrBadParam); } - - if (!err) { - new_pipe = malloc (sizeof (*new_pipe)); - if (new_pipe) { - *new_pipe = ccs_pipe_initializer; - } else { - err = cci_check_error (ccErrNoMem); - } - } - - if (!err) { - err = ccs_os_pipe_copy (&new_pipe->os_pipe, in_os_pipe); - } - - if (!err) { - *out_pipe = new_pipe; - new_pipe = NULL; - } - - ccs_pipe_release (new_pipe); - return cci_check_error (err); -} - -/* ------------------------------------------------------------------------ */ - -cc_int32 ccs_pipe_release (ccs_pipe_t io_pipe) -{ - cc_int32 err = ccNoError; - - if (!io_pipe) { err = ccErrBadParam; } - - if (!err) { - ccs_os_pipe_release (io_pipe->os_pipe); - free (io_pipe); - } - - return cci_check_error (err); -} - -/* ------------------------------------------------------------------------ */ - -cc_int32 ccs_pipe_copy (ccs_pipe_t *out_pipe, - ccs_pipe_t in_pipe) -{ - cc_int32 err = ccNoError; - - if (!out_pipe) { err = cci_check_error (ccErrBadParam); } - if (!in_pipe ) { err = cci_check_error (ccErrBadParam); } - - if (!err) { - err = ccs_pipe_new (out_pipe, in_pipe->os_pipe); - } - - return cci_check_error (err); -} - -/* ------------------------------------------------------------------------ */ - -cc_int32 ccs_pipe_compare (ccs_pipe_t in_pipe, - ccs_pipe_t in_compare_to_pipe, - cc_uint32 *out_equal) -{ - cc_int32 err = ccNoError; - - if (!in_pipe ) { err = cci_check_error (ccErrBadParam); } - if (!in_compare_to_pipe) { err = cci_check_error (ccErrBadParam); } - if (!out_equal ) { err = cci_check_error (ccErrBadParam); } - - if (!err) { - err = ccs_os_pipe_compare (in_pipe->os_pipe, - in_compare_to_pipe->os_pipe, - out_equal); - } - - return cci_check_error (err); -} - -/* ------------------------------------------------------------------------ */ - -cc_int32 ccs_pipe_compare_to_os_pipe (ccs_pipe_t in_pipe, - ccs_os_pipe_t in_compare_to_os_pipe, - cc_uint32 *out_equal) -{ - cc_int32 err = ccNoError; - - if (in_pipe) { err = cci_check_error (ccErrBadParam); } - - if (!err) { - err = ccs_os_pipe_compare (in_pipe->os_pipe, - in_compare_to_os_pipe, - out_equal); - } - - return cci_check_error (err); -} - /* ------------------------------------------------------------------------ */ cc_int32 ccs_pipe_valid (ccs_pipe_t in_pipe) { - if (in_pipe) { - return ccs_os_pipe_valid (in_pipe->os_pipe); - } else { - return 0; - } -} - - -/* ------------------------------------------------------------------------ */ - -ccs_os_pipe_t ccs_pipe_os (ccs_pipe_t in_pipe) -{ - if (in_pipe) { - return in_pipe->os_pipe; - } else { - return CCS_OS_PIPE_NULL; - } + return ccs_os_pipe_valid (in_pipe); } |
