diff options
Diffstat (limited to 'ext/satellite/corba.c')
-rw-r--r-- | ext/satellite/corba.c | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/ext/satellite/corba.c b/ext/satellite/corba.c deleted file mode 100644 index 267c26a835..0000000000 --- a/ext/satellite/corba.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - +----------------------------------------------------------------------+ - | PHP version 4.0 | - +----------------------------------------------------------------------+ - | Copyright (c) 1997-2001 The PHP Group | - +----------------------------------------------------------------------+ - | This source file is subject to version 2.02 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is | - | available at through the world-wide-web at | - | http://www.php.net/license/2_02.txt. | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@php.net so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Author: David Eriksson <david@2good.com> | - +----------------------------------------------------------------------+ - */ - -/* - * $Id$ - * vim: syntax=c tabstop=2 shiftwidth=2 - */ - -/* ----------------------------------------------------------------------- - * - * Control access to CORBA_ORB and CORBA_Environment objects - * Adjust these functions to get thread safety! - * - * ----------------------------------------------------------------------- - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "corba.h" - -#include "php_config.h" /* for COMPILE_DL_ORBIT */ - -/* ZTS = thread-safe Zend */ -#ifdef ZTS -#error ORBit support not thread-safe, you should at least modify corba.c -#endif - -static CORBA_ORB corba_orb = NULL; -static CORBA_Environment corba_environment; -static CORBA_boolean corba_initialized = FALSE; - -CORBA_boolean orbit_corba_init() -{ - int argc = 1; - char * argv[2] = { "dummy", NULL }; - - -#if COMPILE_DL_SATELLITE - /* - IIOP normally registers a function with atexit, but that's pretty stupid - when it is called from a dynamic module that is unloaded before exit() - is called... - - "In addition, for David Eriksson (I think), added: - int giop_skip_atexit; - to IIOP. Applications may set this TRUE prior to invoking any - CORBA_ORB_init() calls, and it will not invoke atexit. This is - perhaps an ugly way of doing this, but I'm assuming this feature - will only be used from within specialized sharedlib applications - that know what they are doing... - - Kennard" - */ - - giop_skip_atexit = TRUE; -#endif - - CORBA_exception_init(&corba_environment); - corba_orb = CORBA_ORB_init( - &argc, argv, "orbit-local-orb", &corba_environment); - - /* check return value */ - if (corba_orb == NULL || orbit_caught_exception()) - { -/* printf("orbit_corba_init failed\n");*/ - return FALSE; - } - - corba_initialized = TRUE; - - return TRUE; -} - -CORBA_boolean orbit_corba_shutdown() -{ - if (corba_initialized) - { - /* the orb's reference count is two.. what to do? */ - CORBA_Object_release((CORBA_Object)corba_orb, &corba_environment); - CORBA_Object_release((CORBA_Object)corba_orb, &corba_environment); - /*CORBA_ORB_destroy(corba_orb, &corba_environment); */ - - CORBA_exception_free(orbit_get_environment()); - - corba_initialized = FALSE; - corba_orb = NULL; - return TRUE; - } - else - return FALSE; -} - -CORBA_ORB orbit_get_orb() -{ - return corba_orb; -} - -CORBA_Environment * orbit_get_environment() -{ - return &corba_environment; -} - -CORBA_boolean orbit_caught_exception() -{ -#if 0 /*debug*/ - if (orbit_get_environment()->_major != CORBA_NO_EXCEPTION) - { - printf("Caught exception %s\n", - CORBA_exception_id(orbit_get_environment())); - } -#endif - return orbit_get_environment()->_major != CORBA_NO_EXCEPTION; -} - |