2006-03-14 Gustavo J. A. M. Carneiro * configure.in: Version 2.14.0. * acinclude.m4: Missing #include in AC_CHECK_ALIGNOF due to usage of the exit() function. * NEWS: Update. 2006-02-17 Tor Lillqvist Fix build on Cygwin, patch by "Cygwin Ports maintainer" (#331487) * configure.in: Check for winsock2.h only on Windows. * include/orbit/orb-core/orbit-object.h: Need to #define ORBIT2_MAYBE_CONST as empty also on Cygwin. 2006-02-14 Tor Lillqvist * test/test-giop.c: Make global variables static. (test_spoofing): Fix crash: Keep an extra reference to the connection so that it won't be disposed too early. Unref only after checking that its status is disconnected. 2006-02-06 Kjartan Maraas * configure.in: Release 2.13.3. 2006-02-01 Tor Lillqvist Improve configury on Win32, patch by Georg Steffers: * configure.in: Set MINGW_LDFLAGS to -Wl,--enable-runtime-pseudo-reloc on Win32. AC_SUBST it. That GNU ld flag is needed when building software that uses DLLs containing code produced by the ORBit2 IDL compiler, because of the way variables imported from DLLs are used. Add MINGW_LDFLAGS to the LDFLAGS used when building ORBit2 itself, too. * ORBit-2.0.pc.in: Add @MINGW_LDFLAGS@ (empty on Unix) to Libs . * ORBit2.m4: If no orbit2-config script is found, use pkg-config. 2006-01-13 Kjartan Maraas * src/orb/GIOP/giop-recv-buffer.c: Fix a compiler warning about unused result. (giop_recv_buffer_handle_fragmented): * src/orb/poa/orbit-adaptor.c: (ORBit_adaptor_find): Guard against NULL adaptor. (Michael). Closes bug #326283. Seen as an invalid read on startup of the drivemount applet. 2005-11-11 Jens Granseuer * src/idl-compiler/orbit-idl-c-skelimpl.c (prev_char_is_nl): fix // comment. 2005-11-08 Richard Hult * Release 2.13.2. * configure.in (LT_VERSION): Set back to 2.13.2, the version was already bumped. 2005-11-08 Anders Carlsson * configure.in: Up version to 2.13.3 2005-11-08 Anders Carlsson * src/orb/orb-core/corba-object.c (CORBA_Object_release_cb): Allow releasing objects even if orb is NULL. (ORBit_object_get_connection): Make sure to remove and re-add the object from the objref hash table so we won't be left with dangling references which will lead to crashes when trying to shut down the ORB. * src/orb/orb-core/corba-orb.c (strip_object_profiles): Set object's orb to NULL. * src/orb/poa/poa.c (ORBit_POA_deactivate_object_T): Write out an error message here instead of "assertion failed". 2005-09-26 Martin Blom * src/orb/orb-core/allocators.c (ORBit_realloc_tcval): realloc should update the length/tracking information. #316393# 2005-09-24 Tor Lillqvist * orbit2-zip.in: Add share/aclocal/ORBit2.m4 to the developer package. 2005-09-20 Jules Colding * configure.in (CFLAGS): Stricter coding style checks by adding "-Werror-implicit-function-declaration -std=gnu89" to CFLAGS. 2005-09-16 Jules Colding * include/orbit/orb-core/corba-orb.h: Added ORBit_proto_use() to ORBIT2_EXTENSIONS section. This is needed to deduce protocol capabilities if you are not the fortunate first thread to invoke CORBA_ORB_init(). 2005-09-07 Jules Colding * configure.in (LT_VERSION): Version 2.13.2. This is needed as the change below actually makes some programs run when they would otherwise not. * src/orb/GIOP/giop.c (giop_main_run): Remove g_assert(). 2005-09-06 Mark McLoughlin * configure.in: Version 2.13.1 2005-08-28 Tor Lillqvist * README.win32: New file. * Makefile.am (EXTRA_DIST): Add README.win32. * orbit2-zip.in: Include also lib/libname-server-2.a in the developer package. 2005-08-26 Brian Cameron * configure.in: Bumping minor LT_VERSION since interfaces have changed since the initial ORBit2 release and it has never been bumped, but interfaces have been added since that time. Sorry for commiting this twice, but I didn't read the comments closely to see that you modify it to C+1:0:A+1 to indicate interfaces have been added but binary compatibility has been preserved. 2005-08-15 Michael Meeks * configure.in: add threading libraries to ORBIT_NAME pkg-config check: #313403 2005-08-12 Michael Meeks * configure.in: AC_PREREQ(2.54) not 2.12 for Gustavo Gama, #313274. 2005-08-13 Davyd Madeley * configure.in: * linc2/src/linc-protocols.c: Check for sys/sockio.h, required for building on Solaris 9. Patch from James Andrewartha . 2005-08-11 Michael Meeks * src/orb/orb-core/corba-any.c (ORBit_demarshal_arg): propagate the error condition we laboured hard to get right to our caller. (ORBit_demarshal_value): when sequence de-marshalling dies, nail the length as well as freeing the buffer. Fixes #310270# 2005-08-08 Kjartan Maraas * src/orb/orb-core/corba-orb.c: (CORBA_ORB_destroy): Release the lock here. Patch from Aivars Kalvans. Closes bug #153897. 2005-07-28 Tor Lillqvist * configure.in: Include ws2tcpip.h on Win32 when looking for socklen_t. 2005-07-25 Jules Colding * src/orb/orb-core/corba-orb.c: Added new ORB_init option, ORBNetID. Valid values for a hypothetical local host (FQDN:thor.test.com, IP:10.0.3.2): "local": all attempts to resolve the local host will be done using "localhost" "short": all attempts to resolve the local host will be done using "thor". "fqdn" : all attempts to resolve the local host will be done using "thor.test.com". "ipaddr: all attempts to resolve the local host will be done using "10.0.3.2". The new option will be evaluated after ORBLocalOnly but ORBLocalOnly will always take precedence. 2005-06-20 Fernando Herrera * include/orbit/orb-core/corba-orb-type.h: * src/orb/orb-core/corba-orb.c: (CORBA_ORB_init), (CORBA_ORB_destroy), (ORBit_ORB_forw_bind): * src/orb/poa/orbit-adaptor.c: (ORBit_forw_bind_find), (ORBit_handle_request): implement forward binding. Patch by Alejandro García Castro reviewed by: Michael Meeks 2005-06-03 Jules Colding * docs/README: Added pointers to documentation and sample code for developers using ORBit2, not ORBit2 hackers. 2005-06-02 Sandie Vanderme * configure.in: add missing AC_CHECK_HEADERS(netdb.h) 2005-04-18 Tor Lillqvist * src/orb/orb-core/corba-orb.c (DllMain): As we reguire GLib 2.6, no need to use GLIB_CHECK_VERSION(). And anyway, what we really should have used here was the run-time glib_check_version() and not compile-time GLIB_CHECK_VERSION()... Also, only check for a "bin" subfolder. DLLs are always installed in "bin" and not "lib" nowadays. * src/orb/orb-core/orb-core-private.h: As we require GLib 2.6, G_IS_DIR_SEPARATOR() is always present. 2005-04-16 Kjartan Maraas * linc2/test/test-linc.c: Make some variables static. * src/idl-compiler/orbit-idl-c-skelimpl.c: Same * src/orb/orb-core/corba-orb.c: (CORBA_ORB_create_list): Don't use the C++ reserved word 'new' for variables. * test/echo-client-t.c: Make vars static. * test/echo-client.c: Same * test/echo-srv.c: Same * test/empty-client.c: Same * test/empty-server.c: Same * test/poa/poatest-basic01.c: Again * test/poa/poatest-basic05.c: Again * test/poa/poatest-basic11.c: Again * test/test-any-server.c: Again * test/test-corbaloc.c: Again * test/test-giop-frag.h: Again * test/test-performance.c: And again 2005-04-14 Arvind Samptur * src/orb/orb-core/corba-object.c : (ORBit_object_get_connection): if we have failed on the unix socket, have IPv4 or IPv6 connections enabled and are on localhost, then don't connect on the corresponding port from the profiles. Patch reviewed by Michael Meeks. 2005-04-13 Tor Lillqvist * src/orb/util/genrand.c: Use the Win32 crypto API. * src/orb/GIOP/giop.c * src/idl-compiler/orbit-idl-c-backend.c: Use gstdio wrappers for better localized filename support on Win32. Use GLib directory and filename API. Don't bother with the rather useless utime() setting on the GIOP tmpdir on Win32. Use g_strerror() instead of strerror(). * src/orb/util/orbit-options.c: As we reguire GLib 2.6, no need to use GLIB_CHECK_VERSION. 2005-04-12 Mark McLoughlin * ORBit-2.0.pc.in: require gmodule-no-export-2.0 rather than gmodule-2.0 so we don't -export-dynamic on our link line. 2005-04-11 Tor Lillqvist * test/everything/Makefile.am (Everything_module_la_LIBADD): Need to link with ORBIT_LIBS thanks to a recent change for Win32 in HEAD GLib. 2005-04-11 James Henstridge * configure.in: rename PKG_CONFIG_MIN_VERSION variable to xPKG_CONFIG_MIN_VERSION, to work with pkg-config >= 0.16.0. 2005-04-06 Anders Carlsson * src/orb/orb-core/corba-orb.c: (ORBit_initial_references_by_user): Release objects. (ORBit_set_initial_reference): Release existing objects. 2005-04-06 Anders Carlsson * src/orb/orb-core/corba-object.c: (ORBit_handle_location_forward): Reset the connection since the forwarded object has a new connection. 2005-03-29 Brian Cameron * docs/internals/orbitrc.txt: Docs file explaining how to make use of the ORBit2 Resource File and how the options work. 2005-03-11 Tor Lillqvist * include/orbit/orb-core/orbit-object.h: Add macro ORBIT2_MAYBE_CONST which expands to "const" on Unix, empty on Win32. * src/orb/orb-core/corba-typecode.c * include/orbit/orb-core/corba-orb-type.h * include/orbit/orb-core/corba-typecode.h * src/idl-compiler/orbit-idl-c-headers.c (ch_type_alloc_and_tc) * src/idl-compiler/orbit-idl-c-typecode.c (orbit_output_tcstruct_anon_subtypes_array, orbit_output_tcstruct_anon_sublabels_array, cbe_tc_generate): Use ORBIT2_MAYBE_CONST. This reintroduces constness on Unix, saving some memory. (#169428) 2005-03-10 Tor Lillqvist * configure.in: Bump version to 2.13.0 to distinguish from the gnome-2-10 branch. Call AC_CANONICAL_HOST before the Win32 test to make sure $host is set up. Require GLib 2.6. * src/idl-compiler/orbit-idl-main.c: Make the default not to show CPP errors, so that --showcpperrors actually changes the behaviour. * src/orb/orb-core/corba-any.c (ORBit_demarshal_value) * src/services/imodule/orbit-imodule.c (build_cpp_args): Minor const correctness fixes. * src/orb/orb-core/corba-orb.c: Drop inclusion of , we get it through in linc-protocol.h anyway. Add prototype for DllMain() to silence gcc. 2005-02-23 Tor Lillqvist * orbit2-zip.in: Include also etc/orbitrc (even if it is empty). Don't include lib/orbit-2.0, just the Everything_module gets installed there by ORBit2, and that's just for testing. * configure.in: Drop the -DPOPT_STATIC. The version of popt that we recommend is used on Windows doesn't cause import of variables from libpopt. Using a libpopt DLL works fine. * test/test-giop.c (run_test): Use IPv4 instead of UNIX domain sockets on Win32. * src/idl-compiler/orbit-idl-c-skels.c (cbe_skel_interface_print_relayers): It's the temporary pointer that should be declared volatile, not what it's pointing to. Now auto-import actually works also from optimized code. 2005-02-21 Tor Lillqvist * configure.in: Use -DPOPT_STATIC on Win32 when building the IDL compiler and name server, so that we avoid the problems with referring to variables imported from a DLL in static initializers. In newer libpopt distributions the headers have dllimport decorations for the variables exported from libpopt unless one defines POPT_STATIC. To actually then link with the static libpopt.a you might also have to move the import library libpopt.dll.a away so that the linker won't find it, and perhaps edit libpopt.la. Remove leftover AC_MSG_WARN([host is $host]). 2005-02-14 Tor Lillqvist * configure.in: New autoconf variable LIBM, set to -lm on Unix, empty on Windows. * ORBit-2.0.pc.in (Libs): Use @LIBM@. The dummy -lm in mingw prevents libtool from creating DLLs. (orbit_idl): Append @EXEEXT@. * src/idl-compiler/Makefile.am * test/Makefile.am: Use $(LIBM) here, less verbiage than if using an automake ifdef. * src/orb/orb-core/orb-core-private.h * src/orb/util/orbit-options.c: On Win32, #undef the compile-time pathnames from the Makefiles, instead use run-time strings set up by DllMain(), see below. * src/orb/orb-core/corba-orb.c (DllMain): New function. When ORBit2 is built as a DLL on Win32 (as it should be), this function is called automatically when the DLL is loaded. It fetches the full path of the DLL, and deduces the ORBit2 installation folder from that. Then it forms the type library directory and system orbitrc path names. Some complexity needed by it having to work both when built with GLib 2.4 or 2.6. * src/orb/orb-core/orbit-typelib.c (ORBit_small_load_typelib): Use GLib API to check pathnames, for improved Win32 portability. * src/orb/util/orbit-options.c (ORBit_option_rc_parse): When built against GLib 2.6, use g_fopen(). (ORBit_option_parse): Guard against g_get_home_dir() returning NULL. * src/orb/util/genrand.c (ORBit_genuid_init): Bypass the attempts to use /dev/urandom on Win32. * src/orb/orb-core/corba-any.c (ORBit_marshal_value): Don't do any post-realignment for array elements. We don't do that for array elements in ORBit_demarshal_value() either, and the marshalling of structs and unions already takes care of their post-alignment. * src/idl-compiler/orbit-idl-c-utils.c: Revert the change from 2005-02-01. It's unnecessary now with the alignment fixes in the marshalling code. (The changes were not sufficient anyway; without the alignment fixes in the marshalling code, even more sillyness in the IDL compiler generated code would have been necessary to make it work on Win32.) 2005-02-13 Arvind Samptur * src/orb/orb-core/orbit-trace.c (ORBit_trace_value): Print also long long values, using G_GINT64_FORMAT. Ditto unsigned long long and G_GUINT64_FORMAT. 2005-02-11 Michael Meeks * src/orb/dynamic/dynany.c (DynamicAny_DynStruct_get_members), (DynamicAny_DynStruct_set_members): add field alignment logic now missing from ORBit_copy_value etc. 2005-02-11 Tor Lillqvist * src/orb/orb-core/corba-any.c (ORBit_marshal_value, ORBit_demarshal_value), (ORBit_copy_value_core, ORBit_value_equivalent): re-work, bin pre-align: assume incoming ABI walking data is aligned, do alignment only on outgoing data & during struct/union walking. * test/everything/arrayServer.c (ArrayServer_opAlignHoleStructArray), (ArrayServer_opStrArray): add. * test/everything/unionServer.c (UnionServer_opFixedLengthUnionArray): add * test/everything/client.c (testUnionArray, testStrArray), (testFixedLengthStructArray, testAlignHoleStructArray), (testVariableLengthArray): add more beef to the regression test suite. 2005-02-08 Tor Lillqvist * orbit2-zip.in: New file, expands to a script to be used for packaging ORBit2 distributions as zipfiles for Windows. * configure.in * Makefile.am: Generate and distribute it. 2005-02-07 Tor Lillqvist * test/Makefile.am (check_PROGRAMS): Must use check_PROGRAMS as the name for the list of test programs in order for Automake to properly use EXEEXT on Windows. 2005-02-02 Hans Petter Jansson * configure.in: Check for res_9_init() in -lresolv. This will pull in libresolv on Darwin, where the actual symbol's name is different from the one used by programs. 2005-02-02 Tor Lillqvist Make test-dynany work on Windows: * src/orb/dynamic/dynany.c (MAKE_DYNANY_INSERT): For identical reasons as the below change to the IDL compiler, take a local copy of function parameter before passing its address to dynany_insert(). (dynany_get_value): Take the alignment of preceding fields and the field itself into account when calculating the address of a field in a CORBA_tk_struct or except. 2005-02-01 Tor Lillqvist * src/idl-compiler/orbit-idl-c-utils.c (orbit_cbe_flatten_ref): Take output file as parameter, output directly there instead of returning a string. Don't take the address of function parameters and pass it on to the marshalling layers. Function parameters are not necessarily aligned according to the alinments in orbit-config.h. Case in point: long long on the x86. ORBIT_ALIGNOF_CORBA_LONG_LONG is 8, but as function parameters on the stack, long longs only have 4-byte alignment. The lower levels will realign the address, meaning long long IN parameters might have a completely wrong value marshalled. The same presumably holds for doubles and long doubles. Why this problem hasn't occured on Linux on x86, no idea. I noticed it on Windows. Instead, copy IN parameters to a field in a local struct variable, and pass on the address of that field. In theory, the above could hold on exotic architectures also for OUT parameters, where the address of a parameter is also passed on. But in that case the parameter is a pointer, and at least on the x86, a pointer's alignment as parameter matches expectation in orbit-config.h (4). (orbit_cbe_maybe_copy_of_data_in): New helper function that outputs the definition and initialization of the local copy of IN parameters mentioned above. (orbit_cbe_flatten_args): Modify accordingly. 2005-01-28 Tor Lillqvist * src/orb/orbit-init.c * src/orb/orb-core/orbit-trace.c: Use g_get_current_time() instead of gettimeofday(). * src/orb/GIOP/giop.c * src/orb/GIOP/giop-send-buffer.c * src/orb/orb-core/orbhttp.c: Conditionalize includes as necessary. * src/orb/GIOP/giop.c: Don't check owner on Win32 either. Add newline to dprintf() calls. Use socket API for wakeup pipe on Win32. Create it using link_pipe(). * src/orb/orb-core/corba-orb.c: Use IPv4 and not Unix domain sockets on Win32. * src/orb/orb-core/corba-typecode.c: Drop the const from the typecode struct definitions, for Win32 DLL import/export reasons (see yesterday's ChangeLog entries). * src/orb/orb-core/orbhttp.c (orbHTTPConnectAttempt): Drop an unused variable in the WinSock part. * src/orb/orb-core/orbit-typelib.c: Use G_SEARCHPATH_SEPARATOR_S. * src/orb/util/genrand.c: No getuid() on Win32. * src/services/name/Makefile.am: No -lm on Win32. * src/services/name/boot.c: Conditionalize use of syslog and sigaction. * src/services/name/orbit-name-server.c: Remove a couple of unneeded includes. * test/echo-client.c: Make debugging easier: If argv[1] starts with a dollar, fetch it with getenv(). * test/echo-server.c * test/empty-server.c * test/any-server.c: Output the IOR: string to a file, too, to avoid having to copy-paste long strings when runnning these tests. * test/typelib-dump.c: Small workaround for Win32 DLL variable import restriction. * test/everything/test.sh: Don't run the Unix domain socket tests on Windows. Don't exit after a failed test if $DONT_EXIT is set. * test/everything/client.c (main) * test/everything/server.c (main): Small const correctness fix. 2005-01-27 Tor Lillqvist * src/idl-compiler/Makefile.am * test/Makefile.am: No separate -lm on Win32. * src/idl-compiler/orbit-idl-c-backend.c: mkdir() has different prototype in Microsoft's C library. Below changes from Cygwin port of ORBit2 by Gerrit P. Haase, see www.cygwin.com/ml/cygwin-apps/2004-10/msg00030.html. They also apply to native Win32. * include/orbit/orb-core/corba-orb-type.h * include/orbit/orb-core/corba-typecode.h: Drop the constness of extern structs as it causes problems when building libORBit-2 as a DLL on Win32 and Cygwin. * src/idl-compiler/orbit-idl-c-headers.c (ch_type_alloc_and_tc) * src/idl-compiler/orbit-idl-c-typecode.c (orbit_output_tcstruct_anon_subtypes_array, orbit_output_tcstruct_anon_sublabels_array, cbe_tc_generate): Drop constness from generated code, for Win32 DLL reasons as above. * src/idl-compiler/orbit-idl-c-skels.c (cbe_skel_interface_print_relayers): Workaround Win32 restriction, use a temporary variable. (See ld documentation for --enable-auto-import, and for instance http://sources.redhat.com/ml/binutils/2001-09/msg00130.html) * src/idl-compiler/orbit-idl-main.c: Drop constness from a poptOption array, for obscure Win32 DLL reasons. 2005-01-26 Tor Lillqvist * configure.in: Check also for utime.h, and sys/utime.h (where MSVC keeps it, in case we some day want to be compileable by it). 2005-01-26 Tor Lillqvist * configure.in: Changes for Win32: Set automake conditional OS_WIN32. Check for more headers and functions. Add WinSock library to LIBS. * include/orbit/GIOP/giop-connection.h: Don't include netdb.h on Win32. Is it even needed on Unix? 2005-01-13 Jules Colding * src/idl-compiler/orbit-idl-c-skelimpl.c (prev_char_is_nl): New function that implements check of previously written character to the output file. Excessive output of newline characters are fixed by checking the last character written: If it is '\n' then do not write another '\n'. (cbe_ski_do_list): The correct fix for exessive newline output. Generation of skelimpl files has been fixed by protecting definitions and declarations with #ifdef blocks. This is *not* the right fix. The right fix would be to generate header files with the proper extern declarations. The current "fix" has the drawback of forcing the developer to include the skelimpl files in inheritance order: Most common ancestor first, then progressively later descendants. The right fix requires more redesign of the code than I would like to do now, so this hack must suffice for the time being. * src/idl-compiler/orbit-idl-c-backend.c (out_for_pass): Change the opening mode of output files to "w+". This is needed to support the correct fix for excessive newline output in skelimpl files. * src/idl-compiler/orbit-idl-c-skelimpl.c: I had a really hard time parsing the code with the former indentation level of 2, so I changed it to a more reasonable 8. 2005-01-12 Jules Colding * src/idl-compiler/orbit-idl-main.c (main): Fix print of passes. 2005-01-01 Jules Colding * src/idl-compiler/orbit-idl-c-skelimpl.c (cbe_ski_do_list): Fix the former fix for excessive newline output (integer overflow bug fixed). 2004-12-28 Jules Colding * src/idl-compiler/orbit-idl-c-skelimpl.c (cbe_ski_do_list): Prevent excessive output of newlines for skelimpl files. 2004-12-27 Jules Colding * configure.in: Remove support for external indentation command. * src/idl-compiler/orbit-idl-main.c: Removed all traces of the output formatter command line option but leave a warning. * src/idl-compiler/orbit-idl-c-backend.c (out_for_pass): "popen ==> fopen" for all output files. The reason is to avoid opening a pipe as we don't want to use an externally invoked indentation process. * src/idl-compiler/orbit-idl3-types.h: Removed output_formatter. 2004-12-22 Jules Colding * test/everything/everything.idl: Added test for bug#161879. * src/idl-compiler/orbit-idl-c-utils.c (orbit_cbe_get_const): Fix IDL compilation of "const char N = '\x0A';" definitions (bug#161879). * src/idl-compiler/orbit-idl3-types.h: Added output_directory to OIDL_Run_Info. * src/idl-compiler/orbit-idl-c-backend.c: Prefixed output file with output directory. * src/idl-compiler/orbit-idl-main.c: Added 'output-dir' command line option. 2004-12-17 Michael Meeks * src/orb/orb-core/corba-any.c (ORBit_demarshal_value): don't fail de-marshalling null & void - just do nothing. (ORBit_copy_value_core): just copy nothing for void & null - instead of breaking the val pointer. 2004-10-02 Gustavo J. A. M. Carneiro * test/everything/client.c (testAnySequence), * test/everything/server.c (SequenceServer_opAnySeq): implement test for TC_void bug. 2004-12-13 Joe McCann * configure.in: bump libIDL dep to 0.8.2. 2004-11-12 Sandie Vanderme * include/orbit/orb-core/Makefile.am (IDL_FLAGS_NO_DEFS): add src/orb/orb-core. 2004-10-19 Paolo Borelli * src/idl-compiler/Makefile.am: fix linking, patch by Jimmy Do. 2004-10-02 Gustavo J. A. M. Carneiro * src/orb/orb-core/corba-env.c (CORBA_exception_set): Before overwriting an exception, free any previous value contained by it. Patch by Michael Meeks. Fixes #153299. 2004-09-13 Mark McLoughlin * configure.in: Version 2.12.0. 2004-08-25 Michael Haubenwallner * src/orb/orb-core/allocators.c (ORBit_freekids_via_TypeCode_T): Step over align-holes at the end of structures (bug#151023) * src/orb/orb-core/corba-any.c (ORBit_marshal_value) (ORBit_demarshal_value) (ORBit_copy_value_core) (ORBit_value_equivalent): Ditto. * test/everything/everything.idl test/everything/client.c test/everything/structServer.c: Added testcase for bug#151023, align-holes at the end of structures. * test/everything/constants.h: Ditto. Added constants for CHAR and OCTET. 2004-08-19 Michael Meeks * Version 2.11.2 * src/orb/GIOP/giop-recv-buffer.c (giop_recv_list_destroy_queue_entry): unref the ent's connection without the message queue lock held. * test/everything/client.c: bin stderr printfs during thread tests, to avoid unhelpful rescheduling. * src/orb/orb-core/orbit-small.c (ORBit_small_unlisten_for_broken_full): use the peek method, no need to try re-connecting just to disconnect the 'broken' signal. * src/orb/orb-core/corba-object.c (CORBA_Object_release_cb): after a long audit; unlock / lock around the giop connection unref; this avoids the final connection release deadlocking vs. a pending call in the I/O thread needing this lock. (ORBit_object_peek_connection): impl. 2004-08-19 Magnus Therning * src/idl-compiler/orbit-idl-backend.c: fix bit-field assignments. 2004-08-10 Michael Meeks * test/everything/basicServer.c (BasicServer_testBoolString): impl. 2004-08-11 Kjartan Maraas * src/idl-compiler/orbit-idl-c-backend.c: (orbit_idl_output_c): 0 vs NULL. * src/idl-compiler/orbit-idl-c-common.c: (cc_output_typecodes):i Same here. * src/idl-compiler/orbit-idl-c-utils.c: (orbit_cbe_get_typespec_str): Same here too. * src/orb/dynamic/dynany.c: (DynamicAny_DynUnion_member_name): 0 vs NULL and add some casts. * src/orb/orb-core/allocators.c: (ORBit_freekids_via_TypeCode_T): 0 vs NULL fixes. * src/orb/orb-core/corba-object.c: (ORBit_objref_find): Same again. * src/services/name/boot.c: (main): And again. * test/echo-srv.c: (echo_srv_finish_object), (echo_srv_finish_poa): And again. 2004-08-10 Mark McLoughlin * src/orb/orb-core/iop-profiles.c: (IOP_start_profiles), (IOP_TAG_CODE_SETS_demarshal): don't initialize the sequence using structure initialization, but rather zero the structure contents. Fixes bug #147255, which admittedly is really a gcc on powerpc bug, but this code is nicer anyway. 2004-08-08 Gustavo J. A. M. Carneiro * src/orb/orb-core/corba-any.c (ORBit_sequence_remove): Impl. method to remove a single element in an ORBit sequence. * include/orbit/orb-core/orbit-small.h: Add ORBit_sequence_remove prototype. * test/everything/client.c (testSequenceHelpers): Test ORBit_sequence_remove. 2004-07-30 Mark McLoughlin * test/test-corbaloc.c: "\%" isn't a valid escape sequence, so just use "%". From d.binderman@virgin.net. 2004-07-07 Frank Rehberger * Revert to Version 2.11.x and Add Version ORBit2-2.11.1 (developer release only) 2004-07-07 Frank Rehberger * Add Version ORBit2-2.12.0 2004-06-22 Chris Landrieu * src/orb/orb-core/allocators.c (ORBit_freekids_via_TypeCode_T): add missing pre-align for struct/except types. Complicate the union alignment rules. 2004-05-30 Christophe Saout * src/orb/orb-core/corba-any.c: (ORBit_marshal_value, ORBit_demarshal_value): Fix broken wstring support. Marshal/demarshal the correct number of bytes on the wire and negotiate the UTF-16 byte ordering using an optional endianess marker. Also works now with JacORB. 2004-05-30 Christophe Saout * src/services/imodule/orbit-imodule-utils.c (ORBit_imodule_get_typecode): set c_align in nested array typecodes that are not handled by ORBit_imodule_find_c_align. 2004-05-17 Michael Meeks * ORBit-2.0.pc.in: prune pkgconfig cruft. 2004-05-14 Fernando Herrera * src/idl-compiler/orbit-idl-c-backend.c: (out_for_pass): clobber LC_ALL because cpp tranlates some strings in some locales during dep files generation that makes compilation fails. Fixes bug #142546. 2004-05-08 Frank Rehberger * src/orb/orb-core/iop-profiles.c (IOP_start_profiles): orbit generated profiles contain full codeset data structures (IOP_component_free): freeing codeset structures (CodeSetComponent_marshal): marshal codeset structures (CodeSetComponent_demarshal): demarshal codeset structures * src/orb/orb-core/iop-profiles.h (IOP_PROFILES_CODE_SET_*): declare known code-sets, but UTF8 and UTF16 supported only. (struct IOP_TAG_CODE_SETS_info): complete CodeSet data structure using CONV_FRAME_CodeSetComponentInfo. * src/orb/orb-core/corba-orb.c: variable orbit_use_corbaloc must be of type gboolean. 2004-05-07 Michael Meeks * configure.in: bump version to 2.11.0 (after branch), update configure message to point to gnome-2-6 branch. 2004-05-02 Frank Rehberger * src/orb/orb-core/corba-loc.c (corbaloc_profile_iiop): reference constants defined for CSSIOP * src/orb/orb-core/iop-defs.idl: add IIOP.idl and CORBA Security Ineterop. attributes in files CSI.idl and CSIIOP.idl 2004-05-01 Frank Rehberger * src/idl: upgrade to CORBA-3.0 IDL files cause of security attributes defined in there * include/orbit/orb-core/orb-types.h: comment typedef being defined in generated include/orbit/orb-core/corba-defs.h now. 2004-05-07 Michael Meeks * Branch for Gnome 2.6 2004-04-24 Dan Winship * src/services/imodule/Makefile.am (LDADD): Remove $(LOCAL_LINC_LIBS). (Only libORBit-2 itself should be linking against it.) * src/services/name/Makefile.am (libORBitCosNaming_2_la_LDFLAGS): Likewise 2004-04-24 Frank Rehberger * MAINTAINERS: maintainer-ship handed over to frehberg@gnome-de.org 2004-04-21 Michael Meeks * Version 2.10.1 2004-04-21 Michael Meeks * src/orb/orb-core/iop-profiles.c (CodeSetComponent_demarshal): don't spew a g_warning, just a dprintf. (IOP_UnknownComponent_marshal): actually marshal the length of the sequence as well as the data. 2004-04-21 Bill Haneman * test/everything/basicServer.c (TestFactory_getObjectCount, TestFactory_getObject): hammer on some JavaORB stuff. * test/everything/client.c (testIOR): impl. (run_tests): upd. 2004-04-13 Joe Marcus Clarke * ORBit-2.0.pc.in: add gthread dep. 2004-03-19 Mark McLoughlin * orbit2-config.in: return -lORBitCosNaming-2 with --use-service=name rather than -lORBitCosNaming. This script is still deprecated old cruft, though. 2004-03-04 Michael Meeks * Version 2.10.0 * src/orb/orb-core/corba-orb.c (CORBA_ORB_init): add 'orbit-io-thread' initializer to force I/O thread usage. * src/orb/GIOP/giop.c (giop_init): s/threaded/thread_safe/ 2004-02-12 Chris Toshok * Version 2.9.8 2004-02-12 Chris Toshok * src/orb/orb-core/Makefile.am (INCLUDES): change the order so that top_builddir is always listed first. This keeps heads in top_srcdir from ending up in the .dep files and causing make distcheck to fail. 2004-02-10 Tomasz Kłoczko * acinclude.m4: added missing [] quotation first parameter of AC_DEFUN(). This fix is for aclocal from automake 1.8.x and is backward compatible with older auto tools. 2004-02-10 Michael Meeks * src/orb/orb-core/Makefile.am: always dist. HTTP_FILES. 2004-02-06 Chris Toshok * src/orb/poa/poa.c (push_request_idle): add an @on_context arg, so callers can specify the GMainContext to use. Also, NULL out pcl->pobj and pcl->recv_buffer. (poa_destroy_idle_closure): new function. free up the PoaIdleClosure here, and release/unuse the POAObject/buffer if we haven't hit the idle handler yet. (ORBit_POA_handle_request): implement ORBIT_THREAD_HINT_ON_CONTEXT case, and pass NULL to push_request_idle for the normal IDLE cases. (ORBit_poa_allow_cross_thread_call): add ON_CONTEXT where the other idle poa policies are, and add a FIXME comment about needing something along the lines of g_main_context_get_owner to implement it properly. * src/orb/poa/object-adaptor.c (ORBit_ObjectAdaptor_set_thread_hintv): extract the GMainContext out of the arg list in the ON_CONTEXT case. * include/orbit/poa/orbit-adaptor.h (ORBit_ObjectAdaptor_type): add context slot. 2004-02-06 Michael Meeks * src/orb/orb-core/Makefile.am (IDL_DIR): set this so we're not vunerable to environment problems. 2004-02-05 Michael Meeks * test/test-giop.c (run_test): upd. tests. 2004-02-04 Michael Meeks * Version 2.9.7 2004-02-04 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (giop_recv_list_zap): signal the wait condition on threads when a connection dies. 2004-02-04 Michael Meeks * src/orb/GIOP/giop.c (wakeup_mainloop): handle EAGAIN on wakeup pipe more elegantly, downgrade g_error. 2004-02-02 Kjartan Maraas * src/services/imodule/orbit-imodule.c: (build_cpp_args): Don't use deprecated function. Closes bug #133168. 2004-02-02 Michael Meeks * docs/internals/Makefile.am: add misc. bits. * docs/internals/interface-indirection.xls: switch from .gnumeric, and tag -kb. 2004-01-25 Alexander Winston * ORBit2.m4: quote it properly 2004-01-16 Michael Meeks * Version 2.9.6 2004-01-16 Michael Meeks * src/orb/orb-core/corba-any.c (ORBit_copy_value_core): fetch the union tag only after pre-aligning correctly, vicious PPC snafu; thanks to Jeroen Zwartepoorte for his patience. * test/everything/everything.idl: add a double to the VariableLengthUnion - causing grief on PPC. 2004-01-15 Mark McLoughlin * Version 2.9.5 2004-01-15 Mark McLoughlin * src/orb/orb-core/corba-env.c: (CORBA_exception_free), (CORBA_exception_set_system), (CORBA_exception_set), (CORBA_exception_init): add pre-conditions so as to warn people that passing NULL for the environment to CORBA methods is not allowed, without changing the existing behaviour. 2004-01-14 Michael Meeks * Version 2.9.4 2004-01-14 Michael Meeks * test/everything/client.c (testWithException): add. * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_stub): always clean Environment as it enters - otherwise there's no way of telling if the return value is valid. * src/orb/poa/poa.c (ORBit_c_stub_invoke): init ev. here too; same reason; upd. locking comments. 2004-01-14 Albert Chin-A-Young * include/orbit/GIOP/giop-recv-buffer.h: guint for single bitfield. * src/orb/orb-core/corba-object.c (CORBA_Object_is_a), * src/orb/poa/poa.c (ORBit_POA_setup_root): fix array assigment portability. 2004-01-09 Michael Meeks * Version 2.9.3 2004-01-09 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_stub): add performance comment and pass method flags in. * src/orb/poa/poa.c (get_c_method), (ORBit_c_stub_invoke): extract / pass on the method flags to: (ORBit_poa_allow_cross_thread_call): if we have an non-std. threading policy, then do a 'true' oneway call. 2004-01-06 Michael Meeks * configure.in: fix 'if !' bug for Morten. 2003-12-10 Michael Meeks * src/orb/GIOP/giop.c (giop_init): make the write pipe non-blocking. (giop_thread_queue_process): fix printf. (giop_thread_push_recv): kill. (giop_incoming_signal_T): add 'type' param; we know people are waiting for replies and don't need wakeup. (giop_invoke_async, giop_thread_request_push): annotate as requests not replies. * src/orb/GIOP/giop-recv-buffer.c (handle_reply): in-line giop_thread_push_recv for simplicity & mark as a reply type. 2003-12-10 Alexander Larsson * src/orb/GIOP/giop.c (first_valid_request): Really look up the policy 2003-12-08 Michael Meeks * Version 2.9.2 2003-12-08 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_stub): bin double unuse in MARSHAL_RETRY loop; add more exception handling. 2003-12-06 Michael Meeks * src/orb/GIOP/giop.c (wakeup_mainloop): don't spin on EAGAIN, if the buffer is full we're sure of waking the mainloop. Warn on EAGAIN - someone isn't running the glib mainloop. 2003-11-17 Frank Rehberger * src/orb/GIOP/giop.c (giop_mainloop_handle_input): invoke giop_thread_queue_process with specific GIOPThread object instead NULL. 2003-11-15 Frank Rehberger * src/idl-compiler/orbit-idl-c-skelimpl.c (cbe_ski_do_interface): fix mem-leak in generated code: g_free (servant) in destructor impl_*__destroy() by default 2003-11-13 Michael Meeks * Version 2.9.1 * src/orb/orb-core/Makefile.am: fix include. 2003-11-10 Justin Schoeman * src/orb/GIOP/giop-recv-buffer.c (giop_recv_buffer_use_buf, giop_recv_buffer_unuse): Add a reference to the connection on giop_recv_buffer_use_buf, and remove it on giop_recv_buffer_unuse. Prevents a connection shutdown while a request is being handled. 2003-11-06 Padraig O'Briain * linc2/src/linc-server.c (link_server_handle_io): Change g_error to g_warning to avoid crash if revents field reset between check() and dispatch(). Fixes bug #126209. 2003-11-03 Frank Rehberger * src/orb/poa/poa.c (ORBit_POA_invocation_stack_pop) (ORBit_POA_invocation_stack_push) (ORBit_POA_invocation_stack_lookup_objid) (ORBit_POA_invocation_stack_lookup_objref) (ORBit_POA_invocation_stack_peek): refactore code managing invocation stack; done for later thread aware management of stack. 2003-11-03 Justin Schoeman * src/orb/orb-core/corba-orb.c (ORBit_initial_references_by_user): Destroy the NameService object after calling ORBit_set_initial_reference on it, as ORBit_set_initial_reference dup's the object. 2003-10-31 Michael Meeks * src/orb/GIOP/giop.c (giop_thread_free): only free policy queue if we have one. * src/orb/GIOP/giop-recv-buffer.c (giop_connection_handle_input): on HUP goto msg_error so we don't leave the cnx->incoming_msg hanging around. 2003-10-30 Michael Meeks * test/everything/lifeCycle.c (LifeCycleServer_deactivateUnrefOnReturn): a nasty in-proc hack that unreferences our CORBA_Object handle. * test/everything/client.c (testLifeCycle): use the ORBit_small_invoke_stub_n path, used by older stubs. 2003-10-29 Justin Schoeman * src/orb/orb-core/orbit-object.c (ORBit_RootObject_shutdown): fix declaration of valid_running when G_ENABLE_DEBUG is defined. * src/orb/GIOP/giop.c (giop_thread_request_push_key): make sure tdata is set before calling giop_thread_key_add_T. 2003-10-27 Michael Meeks * test/everything/client.c (testPolicy): impl. * src/orb/orb-core/orbit-policy.c (ORBit_object_get_policy, ORBit_object_set_policy): impl. * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_stub): push/pop the policy if there is one associated with an object. * src/orb/GIOP/giop.c (giop_thread_queue_process): move it here, rename, re-hash, fix leak. (giop_thread_queue_empty_T): implement. (giop_thread_request_process): move into process_queue. (giop_mainloop_handle_input): upd. (giop_invoke_async): push the async reply to the right thread, cleanly. (giop_thread_queue_tail_wakeup): impl. (giop_list_pop): re-implement, bin GQueue - it's more bloated, and sucks harder than GList. (giop_thread_free): free policy queue. * src/orb/GIOP/giop-recv-buffer.c (giop_recv_buffer_get): handle switch to threaded IO in mid wait properly. (giop_recv_handle_queued_input): move this to giop.c (handle_reply): bin process_now 2003-10-24 Michael Meeks * src/orb/GIOP/giop.c (giop_shutdown): allow shutdown from any thread - this looks safe enough, at least here. 2003-10-23 Mark McLoughlin * configure.in: release version 2.9.0. 2003-10-23 Mark McLoughlin * test/everything/lifeCycle.c: add this from the 2.8.2 tarball. Michael must have forgotten to CVS add it. 2003-10-14 Michael Meeks * src/orb/poa/poa.c (ORBit_POA_destroy_T_R): rename to this; fix nasty deadlock with child poas. 2003-10-10 Michael Meeks * configure.in: switch to 2.9.0 * ORBit.spec.in: fix from Joe Pranevich. * src/orb/GIOP/giop-recv-buffer.c (giop_recv_thread_fn): prune cruft. * src/orb/GIOP/giop-connection.c (giop_connections_shutdown): axe. * src/orb/GIOP/giop.c (giop_shutdown): call linc_connections_close. * src/orb/poa/poa.c (get_c_method): re-order check for ORBIT_ADAPTOR_POA to pre the cast, check that we're not walking over the end of vepvmap_cache. (ORBit_skel_class_register): setup VEPV_CACHE_SIZE using the 0'th element of vepvcache. 2003-10-01 Michael Meeks * src/orb/poa/poa.c (ORBit_POA_destroy_T): make the adaptor array walk slightly faster. * test/everything/client.c (test_time_noop): fix timer leak. 2003-10-08 Olivier Andrieu * src/orb/orb-core/corba-typecode.c: (CORBA_TypeCode_id), (CORBA_TypeCode_name), (CORBA_TypeCode_member_name), (CORBA_TypeCode_member_type), (CORBA_TypeCode_discriminator_type), (CORBA_TypeCode_content_type): duplicate return values of type string or TypeCode in CORBA_TypeCode_* functions for spec conformance. 2003-10-07 Ian McKellar * src/services/imodule/orbit-imodule.c: (ORBit_iinterface_fill_iargs): I suck - Olivier just made a better version of my change. I'm reverting it. 2003-10-07 Ian McKellar reviewed by: Michael Meeks * src/services/imodule/orbit-imodule.c: (ORBit_iinterface_fill_iargs): Fill in the iarg->name from the IDL. 2003-10-06 Olivier Andrieu * src/services/imodule/orbit-imodule.c: (ORBit_iinterface_fill_iargs): fill the name field of ORBit::IArg struct 2003-10-02 Alexander Larsson * include/orbit/GIOP/giop-types.h: * include/orbit/GIOP/giop.h: * src/orb/GIOP/giop.c: (giop_thread_new), (giop_thread_key_add_T), (giop_thread_key_release_T), (giop_thread_free), (giop_thread_self), (giop_thread_key_add), (giop_thread_key_release), (giop_thread_request_push_key), (giop_request_handler_fn), (giop_init): Allow GIOPThreads to have several keys. Don't leak some GIOPThread contents. * src/orb/poa/orbit-adaptor.c: * include/orbit/poa/orbit-adaptor.h: Add ORBIT_THREAD_HINT_ON_CONTEXT to case to fix warning. Fix recursion in ORBit_ObjectAdaptor_set_thread_hint Implement ORBit_ObjectAdaptor_object_bind_to_current_thread. * src/orb/poa/poa.c: (ORBit_POA_handle_request): Add comment about thread binding. 2003-09-30 Michael Meeks * src/orb/poa/poa.c (ORBit_POAObject_handle_request): get the pobj->use_cnt tracking right. * src/orb/GIOP/giop.c (scan_socket_dir): actually use the string comparison to use the sort order, not the directory order. * test/everything/server.c (TestFactory_createLifeCycleServer): impl * test/everything/lifeCycle.c: add module. * test/everything/client.c (testLifeCycle): impl. (run_tests): upd. - try to catch Ettore's bug - to no avail. * src/idl-compiler/orbit-idl-main.c: at least return error status on an error ... 2003-09-29 Michael Meeks * test/test-mem.c (main_func): release refs we own. * test/test-performance.c (test_activation): destroy the child poa nicely. * src/orb/poa/poa.c (PortableServer_POA_destroy): hold the POA lock, re-flow. (ORBit_POA_destroy_T): upd. lock/unlock children. * src/orb/orb-core/corba-object.c (ORBit_try_connection_T): clean warnings. * src/orb/poa/poa.c (ORBit_POA_deactivate_object_T): rename to this. (ORBit_POAObject_handle_request): upd, hold a poa ref. for longer. * src/orb/orb-core/corba-orb.c (CORBA_ORB_destroy, shutdown_orb): stop the g_atexit case from moaning about leaked references, if we have to do work here, then someone didn't do a debug_shutdown properly anyway, so it will always moan annoyingly. * src/orb/orb-core/orbit-object.c (ORBit_RootObject_shutdown): add non-moaning option 2003-09-29 Olivier Andrieu * src/orb/orb-core/orbit-typelib.c (add_if_unique) (ORBit_get_typelib_paths): update typelib_path semantics to be more sane. 2003-09-22 Kjartan Maraas * acconfig.h: Removed. * configure.in: Added templates from acconfig.h here.. * src/orb/orb-core/corba-any.c: (ORBit_sequence_concat): * src/orb/orb-core/corba-orb.c: (CORBA_ORB_resolve_initial_references): * src/services/imodule/orbit-imodule.c: (build_cpp_args): * test/test-corbaloc.c: (main): Remove compiler warnings. Thu Sep 18 09:09:39 2003 George Lebl * src/orb/util/genrand.c: when seeding from time shift the seconds up as we don't really care much about the high order bits (they're not interesting). Achieve almost 32 bits of entropy within an hour of uncertainty this way rather then a century. Only affects places without /dev/urandom 2003-09-16 Michael Meeks * configure.in: add $(top_builddir)/linc2/include to LOCAL_LINC_CFLAGS - how did distcheck not pick this up ? 2003-09-09 Michael Meeks * Version 2.8.1 2003-09-08 Padraig O'Briain * linc2/src/linc-private.h: Add field was_disconnected in order to deal with the case where connecting after disconnection returns EINPROGRESS. * linc2/src/linc-connection.c: (linc_connection_state_changed_T_R): Do not emit "broken" signal if disconnected field is set. (linc_connection_try_disconnect): Set was_disconnected field before calling link_connection_wait_connected_T. (link_connection_init): Initialize was_disconnected to FALSE. This fixes bug #121246. 2003-09-05 Frank Rehberger * test/test-mem.c: autmatic memory verification based on 'ps' command, added POA test 2003-08-26 Michael Meeks * Version 2.8.0 2003-08-21 Frank Rehberger * src/orb/orb-core/corba-any.c (ORBit_sequence_concat): initial implementaion 2003-08-19 Frank Rehberger * src/orb/orb-core/corba-loc.c (ORBit_corbaloc_from): encode giop-version in corbaloc * src/orb/orb-core/corba-object.c (ORBit_object_to_corbaloc): representation for empty object reference (ORBit_object_by_corbaloc): accept corbaloc representation for empty object * src/orb/orb-core/corba-orb.c (CORBA_ORB_object_to_string): if corbaloc fails, fallback to common marshalling 2003-08-11 Michael Meeks * Version 2.7.6 2003-08-08 Michael Meeks * src/orb/orb-core/corba-object.c (ORBit_try_connection_T): rename to this, return the correct state, and handle the result. (ORBit_object_get_connection): in here. (ORBit_try_connection_T): drop the lock over the [re-]connection phase - it's possibly re-enterant. #117970 * src/orb/GIOP/giop-connection.c (giop_connection_try_reconnect): return the status. 2003-08-07 Michael Meeks * src/orb/orb-core/corba-orb.c (shutdown_orb): set init_level to 1, so our g_atexit handler actually does clean-up the ORB bits. 2003-08-06 Michael Meeks * configure.in: don't link libIDL into the name service; thanks Morten. 2003-08-04 James Henstridge * src/services/imodule/orbit-imodule.c (build_cpp_args): add function to build up a full set of cpp args (adds __ORBIT_IDL__ and __basename_COMPILATION). Makes many Gnome IDL files just work. (ORBit_iinterfaces_from_file): use build_cpp_args() to build the full set of CPP args. 2003-07-31 Michael Meeks * Version 2.7.5 * src/orb/orb-core/corba-object.c: by-pass invoke_stub in-proc, since we may have a transient policy on our object; and we want an answer now. * test/everything/server.c (TestFactory_getDerivedServer): impl. (test_TestFactory__init): upd. * test/everything/derivedServer.c: add. * src/orb/orb-core/corba-loc.c (ORBit_corbaloc_from): invert ssl_info NULL check's sense, remove redundant braces / inits. Add a 'break' so we don't drop through to the next case by mistake. * test/everything/client.c (testIsA): hammer _is_a on the 'diamond of death'. 2003-07-30 Frank Rehberger * src/orb/orb-core/corba-object.c (g_CORBA_Object_hash): use object key for calculation, remove commented code * src/orb/orb-core/corba-loc.c (ORBit_corbaloc_from): if ssl port given create ssliop-profile instead of iiop-profile. 2003-07-30 Michael Meeks * test/everything/server.c, client.c: upd. to "orbit-local-non-threaded-orb". * src/orb/orb-core/corba-orb.c (CORBA_ORB_init): default to a thread-safe ORB, since we can't have GConf initializing without threads, and then libbonobo requiring that we have them later; and (it seems) GConf won't change. * Makefile.shared: parallel build messing. * src/orb/orb-core/Makefile.am: parallel build fixage. 2003-07-29 Michael Meeks * configure.in: disable linux/irda.h check / include, causing misc. problems, and the code is unused anyway. #118495. 2003-07-29 Frank Rehberger * src/orb/orb-core/corba-loc.c (corbaloc_profile_iiop_parse): polishing comments and layout (true K&R) (corbaloc_profile_iiop): target supports full security features, target requires at least integrity and confidentiality * src/orb/orb-core/corba-object.c (g_CORBA_Object_hash): polishing comments 2003-07-28 Frank Rehberger * test/everything/test.sh (SAMPLE_NAME): regression test for corbaloc * src/orb/orb-core/corba-orb.c (CORBA_ORB_object_to_string): feature allows stringified represantation in corbaloc syntax 2003-07-28 Frank Rehberger * test/Makefile.am (noinst_PROGRAMS): add target test-corbaloc * test/test-corbaloc.c: test verifies string->object transformation from corbaloc strings * src/orb/orb-core/corba-orb.c (CORBA_ORB_string_to_object): provide corbaloc parsing * src/orb/orb-core/Makefile.am (main_src): add corba-loc.c * src/orb/orb-core/corba-loc.c: new module, provides OMG corbaloc support * src/orb/orb-core/corba-object.c (ORBit_object_to_corbaloc): thread safe invocation of corbaloc functions (ORBit_object_by_corbaloc): thread safe creation of object from corbaloc string 2003-07-28 Frank Rehberger * src/orb/orb-core/iop-profiles.c (IOP_ObjectKey_dump): zero padding in hex object key * src/orb/orb-core/iop-profiles.c (IOP_profile_dump): free temporary 'key' * src/orb/orb-core/corba-orb.c (ORBit_initial_references_by_user): protect initial references "RootPOA" and "POACurrent" from being set by user 2003-07-25 Dan Winship * src/idl-compiler/orbit-idl-main.c (main): Don't print version info / flags to stderr. They're not errors. 2003-07-15 Michael Meeks * src/orb/util/orbit-options.c (ORBit_option_command_line_parse): fix warning, bin redundant commenting. * Version 2.7.3 2003-07-15 Michael Meeks * src/orb/orb-core/corba-object.c (ORBit_try_connection): bin the TESTME g_warning. 2003-07-14 Mark McLoughlin Fix for bug #103159. Patiently tracked down by Brian Cameron * src/orb/orb-core/corba-any.c: (ORBit_value_equivalent): align to the discriminator before figure out the members typecode based on the discriminator value. 2003-07-14 Michael Meeks * test/everything/client.c (testSegv): fix silly - amazing that gcc didn't catch this for me (!?) * src/orb/GIOP/giop-recv-buffer.c: bin execinfo, thanks Morten. 2003-07-11 Michael Meeks * src/orb/orb-core/corba-orb.c (ORBit_initial_references_by_user): fix iterator type. * src/orb/orb-core/corba-object.c (ORBit_try_connection): use the (now) thread safe linc_connection_wait_connected [ although not re-enterant sadly ], if we've connected in the past, always return the same connection - but have a go at reviving it if it dropped. 2003-07-09 Michael Meeks * test/everything/client.c (testNonExistent): impl. * src/orb/orb-core/corba-object.c (CORBA_Object_non_existent): wait until it's connected before giving a verdict. 2003-07-08 Michael Meeks * src/orb/orb-core/corba-orb.c: bin popt.h include. 2003-07-07 Michael Meeks * test/everything/client.c (testPingPong): reset max_buffer on the cnx to 0 afterwards the test - ie. don't poison other stuff. * src/orb/orb-core/orbit-small.c (async_recv_cb): call destroy_queue_entry on the mqe. * src/orb/GIOP/giop-recv-buffer.c (giop_recv_list_setup_queue_entry) (giop_recv_list_destroy_queue_entry): hold a ref. on the cnx. (giop_recv_destroy_queue_entry_T): split out. * src/orb/dynamic/dynany.c (ORBit_DynAnyFactory_new): impl. * src/orb/orbit-init.c (ORBit_init_internals): register DynAnyFactory - a completely bogus object to satisfy the spec. * src/orb/orb-core/corba-orb.c (ORBit_initial_references_by_user): cleanup. 2003-07-07 Michael Meeks * test/everything/test.sh: put the failures first. * src/orb/GIOP/giop-send-buffer.c (giop_send_buffer_unuse): shrink indirect chunk size, so we don't keep vast buffers kicking around. * src/orb/orb-core/corba-any.c (ORBit_sequence_append): prune comments. * src/orb/orb-core/allocators.c (ORBit_realloc_tcval): bin comments / extra braces - nice otherwise. 2003-07-03 Frank Rehberger * src/orb/orb-core/corba-any.c (ORBit_sequence_alloc): undo previous change, now sequence length initially seq->_length=length * test/everything/client.c (testSequenceHelpers): undo previous changes to client.c 2003-07-03 Frank Rehberger * src/orb/orb-core/corba-context.c (ORBit_Context_demarshal): fix for #116338 2003-07-02 Frank Rehberger * src/orb/orb-core/allocators.c (ORBit_realloc_tcval): prevent SEGV on empty sequences; if(old_num_elements==0 && !old_buffer) return ORBit_alloc_tcval(tc,num_elements); 2003-07-01 Frank Rehberger * src/orb/orb-core/corba-any.c (ORBit_sequence_alloc): invoke CORBA_sequence_set_release (seq, CORBA_TRUE) on new sequence, otherwise _buffer wouldn't be CORBA_free'd! Length of new sequence is 0 instead of _length==_maximum. (ORBit_sequence_append): calculate resized seq-length by new_len = MAX (2, (seq->_maximum * 2)); * test/everything/client.c (testSequenceHelpers): extend ORBit_sequence* tests 2003-06-30 Padraig O'Briain * linc2/src/linc-connection.c: Move link_source_remove and link_source_add to before link_connection_state_changed_T_R. This fixes bug #116350. 2003-06-28 Gustavo J. A. M. Carneiro * docs/api/Makefile.am (DOC_SOURCE_DIR): indicate a source dir, so that gtk-doc can scan for inline docs. * src/orb/orb-core/allocators.c: Added an extra asterisk to the comment block in the beginning of the file, to prevent gtk-doc from thinking this is an inline documentation comment. 2003-06-27 Frank Rehberger * src/orb/orb-core/corba-orb.c (CORBA_ORB_resolve_initial_references): feature-disabled: disabled exceptions that broke GNOME in bonobo_arg_new(). Feature should be re-enabled for later release. 2003-06-24 Michael Meeks * test/everything/client.c (testUnboundedSequence): fix silly. * src/orb/orb-core/orbit-small.c (ORBit_small_listen_for_broken) (ORBit_small_unlisten_for_broken_full): upd. 2003-06-22 Frank Rehberger * src/orb/util/orbit_optionss.h: introducing type ORBit_OptionKeyValue * src/orb/orb-core/corba-orb.c: bugfix in CORBA_init() of initial -ORBInitRef and -ORBNamingIOR option parsing 2003-06-22 Gustavo J. A. M. Carneiro * docs/api/ORBit2-sections.txt: Created the orbit2-small section. * docs/api/Makefile.am: Instead of specifying an include directory for gtkdoc-scan, indicate a specific set of files to scan instead, via the variable EXTRA_HFILES. * docs/api/ORBit2-docs.sgml: Added the orbit2-small section. * docs/api/tmpl/orbit2-small.sgml: New template file for the orbit-small.h header. * docs/api/tmpl/orbit2-allocators.sgml: Added some documention for this section. 2003-06-19 Gustavo J. A. M. Carneiro * Makefile.shared: Moved the target 'distclean-local' out of the MAINTAINER_MODE conditional because, since the deps are always generated (regardless of maintainer mode), they should be always be deleted too; This avoids the "files left in build directory after distclean" automake 1.7 error. * test/Makefile.am (DYNANY_IDLOUT): Added skels and stubs sources. * docs/api/ORBit2-sections.txt: New file, ORBit2 API sections. * docs/api/ORBit2-docs.sgml: New file, main ORBit2 API docbook source. * docs/api/Makefile.am: New makefile, to build ORBit2 API docs. * linc2/configure.in, linc2/acconfig.h, linc2/autogen.sh: Removed these files: they're no longer used, and are getting in the way. * autogen.sh: Use (include) generic gnome autogen; Require automake >= 1.6 because of gtk-doc. * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Added --enable-gtk-doc, to make distcheck work. * configure.in: Write linc2/include/linc/linc-config.h; gtk-doc detection. Write docs/api/Makefile. * test/poa/Makefile.am: Avoid "blank line following trailing backslash" automake warning. * test/everything/Makefile.am (BUILT_SOURCES): Removed duplicate definition. (CLEANFILES): Also removed this duplicate definition. * src/orb/dynamic/Makefile.am: Removed duplicate definition of DYNAMIC_IDLOUT. * src/orb/orb-core/Makefile.am (IDL_COMPILER): Removed, twice; already defined in Makefile.shared. 2003-06-19 Michael Meeks * configure.in: add gthread to ORBIT_LIBS etc. 2003-06-19 Bowie Owens * test/everything/sequenceServer.c (SequenceServer_opMassiveSeq): impl. & hook it up. * test/everything/client.c (testUnboundedSequence): invoke opMassiveSeq. 2003-06-18 Frank Rehberger * src/orb/util/orbit-options.c: enable parsing of command line options * src/orb/util/orbit-options.h: declare ORBIT_OPTION_KEY_VALUE * src/orb/util/orbit-options.c: code for option ORBIT_OPTION_KEY_VALUE * src/orb/orb-core/corba-orb.c: support for -ORBNamingIOR, -ORBInitRef 2003-06-11 Michael Meeks * test/everything/client.c (test_time_noop): fix. 2003-06-11 Frank Rehberger * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_adaptor): ensure we free temporarily allocated fixed size struct/union return & out values. 2003-06-11 Michael Meeks * src/orb/poa/poa.c: bin dupped set_classinfo macro. * include/orbit/poa/poa.h (ORBIT_SERVANT_SET_CLASSINFO): add back to please old/stale stubs. 2003-06-09 Michael Meeks * src/orb/GIOP/giop.c (giop_init): bin terrifying warning; hey-ho. 2003-06-09 Michael Meeks * Version 2.7.2 2003-06-09 Michael Meeks * include/orbit/orb-core/corba-object-type.h: internalize the CORBA_Object layout. * src/orb/poa/orbit-adaptor.c (ORBit_ObjectAdaptor_set_thread_hintv): split (ORBit_ObjectAdaptor_set_thread_hint): impl. * src/idl-compiler/orbit-idl-c-common.c (orbit_idl_output_c_common): guard the skel marshallers so they arn't built in the imodule. * configure.in (ORBIT_SERIAL): bump it. * include/orbit/poa/orbit-adaptor.h: internalize everything except the thread hint bits. * include/orbit/poa/poa-types.h: internalize ORBit_POAObejct_type, drastically prune the macros / ABI exposure. * src/orb/orb-core/orbit-small.c: disable ORBIT_SMALL_FAST_LOCALS to hugely prune our ABI. * src/orb/poa/poa.c (ORBit_c_stub_invoke): add pre/post call macro values in comments here. 2003-06-06 Michael Meeks * src/orb/Makefile.am: poke at deps again [!] * src/orb/GIOP/giop-connection.c (giop_connections_shutdown): warn hackers only, an old problem. * test/poa/test-poa.c: make the test effective & pass. * src/orb/Makefile.am: fix deps again (?) * src/orb/orb-core/orbit-small.c (ORBit_small_unlisten_for_broken_full): split from (ORBit_small_unlisten_for_broken): here, and allow a 'user_data' to be specified ie. make the method actually useful. (ORBit_small_invoke_stub_n): fix warning. 2003-06-06 Michael Meeks * test/poa/test-poa.c: add. * src/orb/poa/poa.c (ORBit_POA_copy_policies): impl. (ORBit_POA_new_from): impl. 2003-06-05 Michael Meeks * include/orbit/orb-core/corba-object.h: fix include. * src/orb/orb-core/orbit-policy.[ch]: stub. 2003-06-05 Michael Meeks * test/everything/Makefile.am: use check_PROGRAMS instead of noinst_PROGRAMS - Mac people have problems with their static libraries it seems. * test/everything/client.c (test_time_noop): upd for FORCE_GENERIC_MARSHAL etc. * src/orb/poa/poa.c (get_c_method): in-line ORBIT_STUB_IsBypass (and the epv lookups) add ORBIT_SMALL_FORCE_GENERIC_MARSHAL (ORBit_POA_activate_object_T): tolerate a NULL vepvmap. 2003-06-04 Michael Meeks * src/orb/Makefile.am: add dep on linc lib. * test/everything/test.sh, * test/everything/client.c: run more tests. * src/orb/GIOP/giop.c (giop_thread_new_check): impl. * src/orb/poa/orbit-adaptor.c (ORBit_ObjectAdaptor_set_thread_hint): spawn the I/O thread when we set an interesting hint * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_stub): ensure we check to see if we're in another thread. * src/orb/poa/poa.c (ORBit_poa_allow_cross_thread_call): add check to invoke switch to threaded io for XT case. * src/orb/GIOP/giop-recv-buffer.c (giop_recv_buffer_get): use giop_thread_io instead of tdata != NULL. * src/orb/poa/poa.c (pool_push_request_for_T) (ORBit_POA_handle_request, ORBit_POA_handle_request): use giop_thread_io. (ORBit_POA_handle_request): invoke_incoming_req outside the poa lock. * src/orb/orb-core/corba-object.c (ORBit_try_connection): use giop_thread_safe (?), we don't want to drop into link_connection_wait_connected via re-enterancy. * src/orb/GIOP/giop-recv-buffer.c (handle_reply): switch on giop_thread_io. * src/orb/GIOP/giop.c (giop_threaded): rename to (giop_thread_safe): this, (giop_thread_io): add. (giop_shutdown, giop_thread_set_main_handler), (giop_thread_self, giop_thread_key_release), (giop_invoke_async, giop_main_run): upd. * src/orb/Makefile.am (libORBit_2_la_LIBADD): libadd the link library. 2003-06-03 Michael Meeks * src/orb/orb-core/corba-orb.c (CORBA_ORB_init): move genuid_init lower than giop_init (which does a linc_init). 2003-06-03 Alexander Larsson * src/orb/GIOP/giop.c (giop_request_handler_fn): use data as tdata instead of user_data 2003-06-03 Michael Meeks * src/orb/GIOP/giop-connection.c (giop_connection_initiate): upd. 2003-05-31 Michael Meeks * ORBit-2.0.pc.in: remove 'linc' in Requires, thanks oGalaxyo. 2003-05-30 Michael Meeks * src/orb/GIOP/giop.c (giop_tmpdir_init): guard against double init. (ORBit_get_safe_tmp): impl. for hp/others. * */Makefile.am: add LOCAL_LINC_LIBS/CFLAGS * include/orbit/orbit.h: only include GIOP if we need to. * include/orbit/GIOP/Makefile.am: don't install the GIOP headers - they're private. * configure.in: include linc2/include in the include path. * Updated *.[ch] with: #!/usr/bin/perl -w -pi.bak s/linc_/link_/g; s/LINC([^_])/Link$1/g; s/LINC/LINK/g; * configure.in: merge a chunk of checks in for linc2 2003-05-30 * test/everything/Makefile.am (Everything_module_la_LDFLAGS): avoid version. 2003-05-29 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_stub_n): validate the index into the sequence. 2003-05-29 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_stub): check cross-thread calls, and generate an in-proc proxy for non-allowed xt cases. * src/orb/poa/poa.c (ORBit_poa_allow_cross_thread_call): impl. (get_c_method): use it. * src/orb/GIOP/giop.c (giop_thread_same_key): impl. 2003-05-28 Michael Meeks * src/idl-compiler/orbit-idl-c-skels.c: move ck_output_skels (and deps) into: * src/idl-compiler/orbit-idl-c-common.c: here. (orbit_idl_output_c_common): hook in, but only on stub/skelish builds. * src/orb/poa/poa.c (ORBit_stub_post_invoke): kill. (ORBit_stub_pre_get_epv): rename to (get_c_method): this and re-hash. (ORBit_c_stub_invoke): impl. - a new plan. * include/orbit/poa/poa-basics.h: bin old/stale ORBitSkeleton typedef. 2003-05-27 Michael Meeks * src/orb/poa/poa.c (ORBit_stub_pre_get_epv) (ORBit_stub_post_invoke): impl. to get this out of the stubs. * src/idl-compiler/orbit-idl-c-stubs.c (cs_output_stub): use the new stub methods. 2003-05-23 Michael Meeks * src/orb/GIOP/giop-server.c (giop_server_handle_create_connection): upd. cnx instantiaton. * src/orb/GIOP/giop-connection.c (giop_connection_get_property, giop_connection_set_property): impl. (giop_connection_class_init): upd. (giop_connection_set_orb_n_ver): kill. * src/orb/orb-core/corba-object.c, * src/orb/orb-core/orbit-small.c: sed: s/linc_object_ref/giop_connection_ref/ s/linc_object_unref/giop_connection_unref/ 2003-05-22 Michael Meeks * src/orb/GIOP/giop-connection.c (giop_connection_initiate): use new linc API. (giop_connection_list_lookup_T): bin. (giop_connection_list_add, giop_connection_list_init), (giop_connection_list_remove): bin. * src/orb/GIOP/giop.c (giop_init): upd. * src/orb/GIOP/giop.c (giop_thread_request_push_key): fix HINT_PER_REQUEST policy by not inserting NULL into the hash table (thanks to AlexL). * src/orb/orb-core/corba-orb.c (CORBA_ORB_init): fix non-debugging build; thanks to Christophe. 2003-05-21 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (handle_reply): re-work the code for a simpler, more readable flow, and fix async/ent ownership silly. * src/orb/orb-core/corba-orb.c (ORBit_setup_debug_flags): add 'force_threaded' debug option. (CORBA_ORB_init): do the dirty bits. 2003-05-14 Michael Meeks * src/orb/orb-core/orbit-small.c (orbit_small_demarshal): split out giop_recv_buffer_get, and pass the recv buffer in, remove the recv release argument. (ORBit_small_demarshal_async): pass the buffer straight in. (ORBit_small_invoke_stub): unref the recv buffer here. * src/orb/GIOP/giop.c (giop_thread_request_process) (giop_thread_request_push): use a GQueue for request_queue. (giop_incoming_signal_T, giop_incoming_signal): impl. * src/orb/GIOP/giop-recv-buffer.c (giop_recv_handle_queued_input): bin the return value, and re-hash. (giop_recv_buffer_get): use a GQueue for request_queue. * src/orb/GIOP/giop.c (giop_thread_free): impl. (giop_invoke_async): re-factor bits into here. (giop_request_handler_fn): free the giop thread after use. * src/orb/GIOP/giop-recv-buffer.c (handle_reply): bin process_now distinction. (giop_recv_list_zap): use giop_invoke_async so we work across threads. * include/orbit/GIOP/giop-recv-buffer.h: make free_body a guchar not a (signed) gboolean; thanks to Morten. 2003-05-13 Michael Meeks * test/everything/client.c (testDerivedServer): impl. (run_tests): call it. * src/idl-compiler/orbit-idl-c-skels.c (cbe_skel_interface_print_vepvmap_offsets), (cbe_skel_do_interface): pass parent id through. * src/idl-compiler/orbit-idl-utils.c (IDL_tree_traverse_helper): re-hash self inclusion; This bug was _really_ screwing up libbonobo. 2003-05-12 Michael Meeks * src/idl-compiler/orbit-idl-utils.c (IDL_tree_traverse_parents_full): split from (IDL_tree_traverse_parents): here. * include/orbit/poa/poa-types.h (ORBIT_VEPV_OFFSET): impl. * src/idl-compiler/orbit-idl-c-skels.c (cbe_skel_interface_print_vepvmap_offsets): impl. (cbe_skel_do_interface): upd to call skel_class_register. * src/orb/poa/poa.c (ORBit_classinfo_lookup): hold lock. (ORBit_skel_class_register): impl. for thread-safe skels (ORBit_poa_init): init lock. * src/orb/poa/poa.c (ORBit_POAObject_handle_request): bin current_invocations->data assertion; we can get here without pushing the current invocation; was hurting libbonoboui. 2003-05-12 Gustavo J. A. M. Carneiro * MAINTAINERS: Declare myself as documentation maintainer. 2003-05-09 Michael Meeks * test/everything/*.c: large scale servant re-factor. 2003-05-08 Michael Meeks * test/everything/server.c (simple_finalize): impl. (test_TestFactory__fini, create_TestFactory): allocate servant. (simple_servant, TestFactory_createDeadReferenceObj) (test_TestFactory__init): allocate the servants, so we're thread-safe. * test/everything/*.c: use Simple_base_epv to finalize the servant where appropriate. 2003-05-07 Michael Meeks * src/orb/GIOP/giop-connection.c (giop_connection_dispose): release thread key. * src/orb/poa/poa.c (pool_push_request_for_T): impl. (ORBit_POA_handle_request): implement PER_OBJECT,POA,CONNECTION,REQUEST policies. (ORBit_POA_free_fn, ORBit_POAObject_release_cb): de-register threading keys. * src/orb/GIOP/giop.c (giop_thread_key_release_T) (giop_request_handler_fn, giop_thread_key_release) (giop_thread_request_push_for): impl. (giop_init): create the thread pool. 2003-05-06 Michael Meeks * src/orb/orb-core/corba-object.c (ORBit_demarshal_object): add precondition. * src/orb/orb-core/orbit-small.c (ORBit_small_get_connection_status): add pre-condition. 2003-05-03 Michael Meeks * Version 2.7.1 2003-04-29 Michael Meeks * test/everything/client.c (main, run_tests): pull out testSegv. * src/orb/orb-core/corba-object.c (ORBit_try_connection): bin some type-checked casts. * test/everything/client.c (run_threaded_tests), (test_thread): impl. * src/orb/util/genrand.c (genuid_rand_openssl), (genuid_glib_pseudo, genuid_simple): take lock for static incrementing foo. (ORBit_genuid_fini, ORBit_genuid_init): setup lock. * src/orb/orb-core/corba-object.c (ORBit_objref_new): setup the adaptor_obj explicitely at construct time. * src/orb/poa/poa.c (ORBit_POA_obj_to_ref): upd. * test/everything/client.c (testAsync): upd. * src/orb/orb-core/orbit-small.c (ORBit_small_get_connection): don't take a ref, for b/w compatibility. (ORBit_small_get_connection_ref): add separate method. 2003-04-25 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_stub, ORBit_small_invoke_async) (ORBit_small_get_connection_status) (ORBit_small_unlisten_for_broken, get_status) (ORBit_small_get_connection): update to handle cnx. reference correctly. (ORBit_small_connection_unref): impl. * src/orb/orb-core/corba-object.c (ORBit_objref_get_proxy, ORBit_marshal_object): register objref after generating profiles, hold lock, refactor slightly. (ORBit_object_get_connection): return an incremented ref. (CORBA_Object_non_existent): handle ref. * src/orb/orb-core/iop-profiles.c (IOP_generate_profiles): remove object registration. 2003-04-24 Michael Meeks * test/everything/test.sh: add threaded tests into the default run: too bold perhaps. * src/orb/orb-core/corba-object.c (_ORBit_object_init): impl. (ORBit_try_connection): re-hash; add locking. (CORBA_Object_release_cb): bin giop_connection_unref. (ORBit_object_get_connection): hold the lock while we're working on the object. * src/orb/GIOP/giop-connection.c (giop_connection_unref): bin it. * src/orb/orb-core/corba-orb.c (CORBA_ORB_init): add init. 2003-04-23 Michael Meeks * src/orb/orb-core/corba-object.c (ORBit_try_connection): here lurketh much grief. * src/orb/GIOP/giop-recv-buffer.c (giop_recv_msg_reading_body): add comment on 0 length message for CLOSECONNECTION. (giop_connection_handle_input): handle 0 length bodies properly. 2003-04-21 Herbert Valerio Riedel * src/orb/poa/orbit-adaptor.c (ORBit_handle_locate_request): impl. a stub (checks for POA, but not object itself so far). * src/orb/orb-core/orbit-small.c (orbit_small_marshal): set the response_expected flag correctly for oneways. * src/orb/GIOP/giop-send-buffer.c (giop_send_buffer_use_request): fix request id bits. (giop_send_buffer_write): don't tail align send buffers, we only want to do that (elsewhere) for fragments (it seems) * src/orb/GIOP/giop-recv-buffer.c (giop_GIOP_TargetAddress_demarshal): clean it up. (giop_recv_buffer_demarshal_locate_request_1_2): fix id demarshal (giop_recv_buffer_get_request_id, giop_recv_buffer_demarshal): add "close connection" stub. (giop_recv_buffer_get_objkey): make it work fully for more msg types & versions. (giop_connection_handle_input): handle locate request. 2003-04-21 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (giop_recv_set_limit): impl. (giop_recv_buffer_handle_fragmented, giop_recv_msg_reading_body): use the dynamic limit instead. * src/orb/orb-core/corba-orb.c (CORBA_ORB_init): set the limit, add an "ORBInitialMsgLimit" option. * src/orb/GIOP/giop.c (wakeup_mainloop): handle EINTR. 2003-04-19 Michael Meeks * src/orb/GIOP/giop.c (giop_init, giop_shutdown): bin incoming thread bits. * src/orb/orb-core/orbit-small.c (get_status): use linc_connection_get_status. * src/orb/GIOP/giop-connection.c (giop_connection_close): use linc_connection_disconnect instead of a dubious forced state change. 2003-04-18 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (giop_connection_handle_input): hold neither ref nor lock, linc does it. * src/orb/GIOP/giop-connection.c (giop_connection_real_state_changed) (giop_connection_dispose, giop_connection_init): bin locking action. * include/orbit/GIOP/giop-connection.h: bin incoming and outgoing mutex; all locking is in linc-connection now. 2003-04-18 Gustavo J. A. M. Carneiro * src/orb/poa/orbit-adaptor.c (ORBit_ObjectAdaptor_set_thread_hint): Update debugging check to consider the new _IDLE thread hints. 2003-04-17 Michael Meeks * test/everything/client.c (test_basic_server): re-factor this out so we can apply it to different remote POA policies later. * src/orb/poa/poa.c (push_request_idle, poa_invoke_at_idle), (ORBit_POA_handle_request): impl both. both idle policies. (poa_recv_is_oneway): impl. 2003-04-15 Masahiro Sakai * Makefile.shared: append $(EXEEXT) to IDL_COMPILER. * configure.in: call AC_LIBTOOL_WIN32_DLL. * configure.in: call AC_PROG_CC earlier. because AM_PROG_LIBTOOL needs it. * src/orb/GIOP/giop.c (test_safe_socket_dir): disable permission checking on Cygwin. * src/orb/Makefile.am: add -no-undefined to libORBit_2_la_LDFLAGS. * src/services/imodule/Makefile.am: add -no-undefined to libORBit_imodule_2_la_LDFLAGS and write dependency libraries in libORBit_imodule_2_la_LIBADD explicitly. * src/services/name/Makefile.am: add -no-undefined to libORBitCosNaming_2_la_LDFLAGS and write dependency libraries in libORBitCosNaming_2_la_LIBADD explicitly. * test/everything/Makefile.am: add -no-undefined to Everything_module_la_LDFLAGS. 2003-04-10 Michael Meeks * docs/FAQ: update threading bits. 2003-04-08 Michael Meeks * configure.in: check for a slew of sys headers. * src/orb/orb-core/orbhttp.c: only include headers we have. 2003-04-04 Michael Meeks * test/poa/poatest-basic11.c (poatest_run): test the ObjectId <-> string methods. This test fails. * src/orb/poa/poa.c (PortableServer_ObjectId_to_wstring) (PortableServer_ObjectId_to_string): don't trample on bits off the end of the string terminating it. * src/orb/GIOP/giop-recv-buffer.c (giop_recv_thread_fn): remove shutdown warning. * src/orb/GIOP/giop.c (giop_shutdown): guard against double invocation. * src/orb/orb-core/corba-orb.c (ORBit_ORB_shutdown_servers): remove warning. (CORBA_ORB_shutdown): delay server shutdown until giop worker thread is joined. * src/orb/orb-core/iop-profiles.c (IOP_delete_profiles): NULL ORB profiles pointer. 2003-04-03 Michael Meeks * src/orb/orb-core/corba-object.c (ORBit_register_objref): take the ORB lock, and work on the ORB. (ORBit_lookup_objref, CORBA_Object_release_cb): ditto. (ORBit_objref_find): set the orb before lookup. * src/orb/orb-core/corba-orb.c (CORBA_ORB_shutdown): don't do an init_level check, don't barf half way on 'wait for completion', but actually do a full shutdown (doh). (strip_object_profiles): do this on the objects. * test/everything/server.c (TestFactory_segv): do a shutdown, not a dodgy loop kill. 2003-04-02 Richard Kinder * configure.in: fix for #108932 - warning spat out for linux/irda.h. Also fix up error case when no pkg-config script exists - exit with AC_MSG_ERROR rather than letting the script die by coincidence. 2003-04-01 Michael Meeks * src/orb/GIOP/giop.c (giop_shutdown, giop_main_run): add shared seperate 'main-thread' glib mainloop, If you are running your own loop, you get to quit that yourself on CORBA_ORB_shutdown, we only break out of CORBA_ORB_run's loop, if it's going. * src/orb/poa/poa-private.h: add. * src/orb/poa/poa.c (ORBit_POA_free_fn, ORBit_POA_new): add a per poa lock, add '_T' suffixes to things that take / release no locks. Push POA_[UN]LOCK throught, need some work on pre-conditions though. (ORBit_POAObject_handle_request): do some ref holding over invocation & re-factor exception processing. * src/orb/poa/poa-manager.c (PortableServer_POAManager_get_state): lock sprinkling. * src/orb/poa/poa.c (ORBit_POACurrent_get_object): hold the orb lock while poking at current_invocations. (ORBit_POAObject_handle_request), (PortableServer_POA_servant_to_reference): ditto. (push_request): split out * src/orb/orb-core/orbit-small.c (orbit_small_demarshal): add comment for Rich Burridge. 2003-03-31 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (giop_recv_buffer_get): integrate the request processing into the same condition. * src/orb/GIOP/giop.c (giop_thread_get_main): impl. * test/everything/client.c (run_tests): shunt testMisc belong pingPong. * src/orb/GIOP/giop.c: massive threading re-hash, realised a seprate GIOPQueue to the GIOPThread was a painful waste of time. * src/orb/poa/poa.c (queue_request, local_main_handle) (LocalClosure): kill old hacks. (ORBit_POA_handle_request): use new external hacks. * src/orb/poa/poa.c (ORBit_poa_init): add. * src/orb/orb-core/corba-orb.c (CORBA_ORB_init): do the poa_init. * src/orb/GIOP/giop.c (scan_socket_dir): handle non-existant directories gracefully. * test/everything/test.sh: stop 'make check' destroying the system socket directory - and causing all manner of grief. * src/orb/GIOP/giop-connection.c (giop_connection_initiate): bin last ORBIT_THREADED conditionals. * include/orbit/GIOP/giop-basics.h, * src/orb/GIOP/giop-server.c (giop_server_new): ditto 2003-03-29 Michael Meeks * src/orb/orb-core/corba-orb.c (CORBA_ORB_run): add a nasty hack to not do a linc_mainloop in the threaded case, since that causes acute problems. * test/everything/test.sh: add --threaded test. * src/orb/GIOP/giop-connection.c (giop_connection_dispose): (giop_connection_init): bin outgoing_mutex, move this into linc for easier cross thread output task transfer. * src/orb/GIOP/giop-send-buffer.c (giop_send_buffer_write): ditto. 2003-03-30 Richard Kinder * src/orb/orb-core/corba-context.c: Code cleanups. Remove gboolean return value from free_child since it is never used. Clean up some unused user_data arguments to g_slist_foreach and g_hash_table_foreach_remove. Fixes #109358. 2003-03-28 Michael Meeks * src/orb/GIOP/giop-send-buffer.c (giop_send_buffer_write): do the nasty re-entering connection wait phase here instead of in linc, so we can make it thread safe later. 2003-03-28 Michael Haubenwallner * src/orb/orb-core/corba-any.c (ORBit_marshal_value): fix silly marshalling packed types. 2003-03-28 Michael Meeks * test/everything/client.c (testFixedLengthArray): split into (testLongArray) add (testOctetArray). * test/everything/arrayServer.c (ArrayServer_opOctetArray): add. 2003-03-27 Michael Meeks * src/orb/GIOP/giop-send-buffer.c (giop_send_buffer_init): always enable wire data wiping if ORBIT_PURIFY. * src/orb/GIOP/giop.c (giop_tmpdir_init): use g_get_tmp_dir instead of hard-coding "/tmp". 2003-03-25 Michael Meeks * Version 2.7.0 2003-03-25 Richard Kinder * src/services/name/orbit-name-server.c: return CORBA_OBJECT_NIL rather than NULL, clean up rn_unref functions. Fixes #109125. 2003-03-24 Richard Kinder * src/orb/poa/poa.c: Change return values for ORBit_POA_is_inuse and ORBit_POA_destroy to gboolean's, not CORBA_boolean's. Fixes #109066 2003-03-18 Archana Shah * /configure.in: Put a check to read the argument for, whether to enable orbhttp compilation. * /src/orb/orb-core/Makefile.am: Changed so that orbhttp.c and orbhttp.h will be compiled only if mentioned. * /src/orb/orb-core/corba-orb.c (CORBA_ORB_init): Put checks for compilation of http-ior segment. 2003-03-18 Shailesh Mittal * src/orb/orb-core/iop-profiles.c (IOP_start_profiles): Fixed the bug, now it works for IPv6 options without having unix option set, by eliminating the requirement of osi profile for IPv6. Fixed sense of string comparision which check for duplicate profiles. 2003-03-17 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_adaptor): memset scratch, args to 0. (ORBit_small_invoke_adaptor, orbit_small_demarshal): handle de-marshalling overruns with an exception, rather a goto spaghetitfication. * src/orb/include/Makefile.am: check and install rules depend on 'all', hopefully fixes brokenness with 'make install' * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_adaptor): use g_alloca now we have it. * src/orb/GIOP/giop-recv-buffer.c (giop_connection_handle_input): debug dump the correct body offset instead of starting at 0, use 12. * src/orb/GIOP/giop.c (giop_dump): print --- delimiter after dumping the full block. 2003-03-15 Christophe Merlet * ORBit-imodule-2.0.pc.in: Fix a typo. 2003-03-14 Michael Meeks * src/orb/orb-core/corba-any.c (ORBit_demarshal_value): optimize zero length sequences. * src/orb/orb-core/corba-orb.c (CORBA_ORB_destroy): give a different warning if people unref but don't destroy the ORB. 2003-03-11 Michael Meeks * src/orb/orb-core/corba-any.c (ORBit_sequence_alloc) (ORBit_sequence_append, ORBit_sequence_set_size) (ORBit_sequence_concat): impl & stub sequence helpers. (SKIP_ALIAS): use this throught. * src/orb/orb-core/allocators.c (ORBit_alloc_get_tcval): impl. * src/orb/poa/poa.c (ORBit_POAObject_handle_request): only lookup CORBA_Object small skels in-proc. 2003-03-03 Michael Meeks * src/orb/poa/poa.c (ORBit_POA_handle_request): add HINT_ONEWAY_AT_IDLE and HINT_ALL_AT_IDLE thread hints - currently ONEWAY doesn't distinguish. 2003-02-14 Mark McLoughlin * include/orbit/poa/orbit-adaptor.h: add ORBit_ObjectAdaptor_(get|set)_thread_hint. * src/idl/misc/PortableServer.idl: kill non spec compliant ThreadPolicy enum values. * src/orb/poa/orbit-adaptor.c: (ORBit_ObjectAdaptor_set_thread_hint), (ORBit_ObjectAdaptor_get_thread_hint): impl. (ORBit_adaptor_setup): init the hint. * src/orb/poa/poa.c: (queue_request): split out from handle_request(). (ORBit_POA_handle_request): upd and treat ORB_CTRL mode with no hint just like single threaded mode. 2003-02-11 Mark McLoughlin * Makefile.am, ORBit-imodule-2.0.pc.in, configure.in: build and install a pkg-config file for the imodule service. * src/services/imodule/Makefile.am: actually install the damn thing. Doh. 2003-02-10 Michael Meeks * src/orb/GIOP/giop.c (wakeup_mainloop): spew errors on error. * src/orb/GIOP/giop-recv-buffer.c (giop_connection_handle_input): add more helpful messages. * configure.in: make the "can't link" message more generally helpful. 2003-01-26 Michael Meeks * test/everything/client.c (wait_till_done): split out, and add thread safe path. * src/orb/poa/poa.c (ORBit_POA_handle_request): free the recv buffer if we've handled it immediately in this thread. (ORBit_POA_object_id_lookup): return a ref. (PortableServer_POA_create_reference_with_id), (PortableServer_POA_activate_object_with_id), (PortableServer_POA_id_to_reference), (PortableServer_POA_id_to_servant): tool up with matching releases. (ORBit_POA_handle_request): hold the pobj during the scope. (ORBit_POA_set_policies): init threading type to STM by default. * src/orb/GIOP/giop-recv-buffer.c (giop_connection_handle_input): let ORBit_handle_request free the recv buffer when convenient. * src/orb/poa/orbit-adaptor.c (ORBit_adaptor_find): dup the returned ref, and hold lifecycle lock over orb->adaptors manipulation. (ORBit_handle_request): release the ref. (ORBit_adaptor_setup): hold lifecycle lock over adaptor setup. 2002-11-29 Michael Meeks * src/orb/GIOP/giop-connection.c (giop_connection_list_lookup), (giop_connection_initiate), (giop_connections_shutdown): use linc_object_[un]ref. * src/orb/GIOP/giop-recv-buffer.c (giop_connection_handle_input): ditto. 2002-10-31 Michael Meeks * src/orb/orb-core/corba-orb.c (ORBit_ORB_start_servers): lock the ORB while setting up the profiles. (ORBit_ORB_shutdown_servers): guard with locks. * src/orb/GIOP/giop.c (giop_shutdown): impl. * src/orb/GIOP/giop-connection.c (giop_connection_remove_by_orb): rename to (giop_connections_shutdown): this & upd. (giop_connection_unref): use linc_object_unref. * src/orb/GIOP/giop.c (giop_init): actually start the IO thread ;-) 2002-10-31 Michael Meeks * test/echo-client-t.c (main): init mt orb. * src/orb/GIOP/giop-recv-buffer.c (giop_recv_list_destroy_queue_entry): kill bogus thread stuff. (handle_reply): queue up reply recv's on the right thread for processing elsewhere. (giop_recv_buffer_get): kill unused non-blocking mode, substantially re-write. (giop_recv_list_zap): use locking. * src/orb/GIOP/giop.c (giop_thread_push_recv): impl. 2002-10-30 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (giop_recv_list_setup_queue_entry_async), (giop_recv_list_setup_queue_entry): upd. (giop_connection_handle_input): upd. * include/orbit/GIOP/giop-recv-buffer.h (GIOPMessageQueueEntry): bin bogus thread bits, add thread id. * src/orb/GIOP/giop.c (giop_init): pass threaded, setup main thread / context wakeup. (giop_thread_new, giop_thread_self): impl. * src/orb/orb-core/corba-orb.c (CORBA_ORB_init): check for orbit-local-mt-orb profile. 2003-01-26 Michael Meeks * test/everything/server.c (main), * test/everything/client.c (main): add --threaded option to enable threading. 2002-12-20 Michael Meeks * src/orb/poa/poa.c (ORBit_POAObject_handle_request): upd. * include/orbit/poa/poa-types.h: make the first element a 'dummy' - reflecting reality. * include/orbit/poa/poa-basics.h: bin the old relay_call. Rename the impl_finder. 2003-01-09 Mark McLoughlin * src/orb/orb-core/corba-orb.c: (CORBA_ORB_create_struct_tc), (CORBA_ORB_create_union_tc), (CORBA_ORB_create_enum_tc), (CORBA_ORB_create_alias_tc), (CORBA_ORB_create_exception_tc), (CORBA_ORB_create_interface_tc), (CORBA_ORB_create_string_tc), (CORBA_ORB_create_wstring_tc), (CORBA_ORB_create_fixed_tc), (CORBA_ORB_create_sequence_tc), (CORBA_ORB_create_recursive_sequence_tc), (CORBA_ORB_create_array_tc): remove malloc return value checks - its all through glib. 2003-01-09 Michael Meeks * configure.in: bump version to 2.7.0, require linc >= 1.1.0 * Branch for gnome-2-2 2003-01-06 Michael Meeks * test/everything/server.c (CLOBBER_SYM): actually clobber the symbol. 2002-12-28 Michael Meeks * Version 2.5.1 2002-12-28 Michael Meeks * test/everything/Makefile.am: define TEST_SRCDIR * test/everything/server.c (init_interfaces): re-write. (main): use TEST_SRCDIR. * src/services/imodule/orbit-imodule-utils.c (ORBit_imodule_jam_int): split out of (ORBit_imodule_setup_label_any): here, fix memory corrupting nasties with using '0', '1' for booleans, and wrong 'node' for binops. Handle 'short' tc's. 2002-12-17 Michael Meeks * src/idl-compiler/orbit-idl-c-typecode.c (orbit_add_align): impl. (orbit_find_c_align): re-write to use a string list of the ALIGNOF defines. (orbit_output_tcstruct_c_align): build a MAX statement, where appropriate. 2002-12-26 James Henstridge * src/orb/orb-core/Makefile.am (IDL_FLAGS): add -I. to IDL_FLAGS. This gets rid of the multiple symbol definition errors with newer autoconf and/or automake (not sure which one is causing the problem). 2002-12-02 Michael Meeks * src/idl-compiler/orbit-idl-utils.c (oidl_param_info): bail out if we get an exception as a parameter. 2002-11-21 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_handle_exception_array): ensure we always exit with an exception set, even with odd wire data. 2002-11-05 Mark McLoughlin * test/everything/everything.idl: add simple regression test to catch the bug below. 2002-11-05 Mark McLoughlin * src/idl-compiler/orbit-idl-c-headers.c: (ch_prep): out enum types declared as part of a typedef. Fixes #97238. 2002-11-04 Thomas Vander Stichele * configure.in: - require pkg-config 0.14.0 - make AC_DEFINE* three-argument (someone might want to remove acconfig.h) * autogen.sh: - fail if configure failed 2002-10-28 Marion Schuenemann * src/services/name/boot.c (main): move ORB init up the heap, so we can use eg. ORBIIOPIPName 2002-10-24 Michael Meeks * test/echo-client-t.c (echo_client_thread): add a threaded test client, so we at least know where things break. 2002-10-18 Michael Meeks * Version 2.5.0 2002-10-18 Michael Meeks * test/everything/Makefile.am (INCLUDES): add IDL_CFLAGS for the imodule service; we need a new .pc.in file for that service I think, we don't want to pollute the include space with libIDL unnecessarily. 2002-10-18 Mark McLoughlin * src/services/imodule/orbit-imodule-utils.[ch]: (typecodes_hash_foreach), (ORBit_imodule_get_typecodes_seq): impl converting a typecode hash into a sequence. * src/services/imodule/orbit-imodule.[ch]: (ORBit_iinterface_from_tree): kill. Its useless. (ORBit_iinterfaces_from_tree): return a sequence of typecodes. Add docs. (ORBit_iinterfaces_from_file): ditto. * test/everything/client.c: (main): upd and test the typecodes sequence. * test/everything/server.c: (get_server): upd. 2002-10-18 Mark McLoughlin * src/services/imodule/orbit-imodule-utils.[ch]: * src/services/imodule/orbit-imodule.[ch]: Don't use a global has of TypeCodes. 2002-10-18 Mark McLoughlin * src/services/imodule/*: added runtime IDL->IInterfaces service. * configure.in, src/services/Makefile.am: added build for above. * test/everything/Makefile.am: build against libORBit-imodule. * test/everything/client.c: (main): * test/everything/server.c: (init_iinterfaces), (get_server): add --gen-imodule arg to run tests using runtime generated IInterfaces. * test/everything/test.sh: use it. 2002-10-17 Albert Chin * src/orb/orb-core/orbit-debug.h (dprintf): add ERRORS define for ugly non-varargs case. * test/everything/client.c (test_BasicServer_opStringA_cb), (test_BasicServer_opStringA): kill duff array inits in decl. 2002-10-16 James Henstridge * src/idl-compiler/orbit-idl-c-imodule.c (ci_build_types): handle types nested within structs, unions and exceptions. * test/everything/client.c (testIInterface): add a test to check that the subnames array of the FixedLengthUnion typecode is correct. * src/idl-compiler/orbit-idl-c-typecode.c (orbit_output_tcstruct_anon_subnames_array): when generating the subnames array for unions, repeat the name once for each label associated with the case statement. 2002-10-16 Michael Meeks * test/everything/client.c (testIInterface): add type regression tests for James' work. * src/idl-compiler/orbit-idl-c-utils.c (orbit_cbe_flatten_args): use _args[i] =...; initialization instead of array init, to make HP/UX happy. 2002-10-14 Mark McLoughlin * src/orb/poa/orbit-adaptor.c: (ORBit_handle_request): init and free the exception to stop crasher on exception. 2002-10-02 James Henstridge * src/idl-compiler/orbit-idl-c-typecode.c (cbe_tc_generate): same here. * src/idl-compiler/orbit-idl-c-common.c (cc_output_class_id): check for IMODULE symbol including file name. (cc_output_itypes): and here. * src/idl-compiler/orbit-idl-c-headers.c (ch_type_alloc_and_tc): only define typecode struct as static if the header matches the imodule we are compiling. (ch_output_itypes): and here too. * src/idl-compiler/orbit-idl-c-imodule.c (orbit_idl_output_c_imodule): only define ORBIT_IDL_C_IMODULE_filename. 2002-10-02 Mark McLoughlin * src/orb/orb-core/corba-typecode.c: (CORBA_TypeCode_get_compact_typecode), (CORBA_TypeCode_type_modifier), (CORBA_TypeCode_concrete_base_type): add stubs for these that just through a NO_IMPLEMENT exception. (CORBA_TypeCode_kind), (CORBA_TypeCode_id), (CORBA_TypeCode_name), (CORBA_TypeCode_member_count), (CORBA_TypeCode_member_name), (CORBA_TypeCode_member_type), (CORBA_TypeCode_member_label), (CORBA_TypeCode_discriminator_type), (CORBA_TypeCode_default_index), (CORBA_TypeCode_length), (CORBA_TypeCode_content_type), (CORBA_TypeCode_fixed_digits), (CORBA_TypeCode_fixed_scale), (CORBA_TypeCode_member_visibility): Add implementations for these. Based on original implementation by Tom Tromey which was merged into the cpp branch by Sam Couter. 2002-10-02 Mark McLoughlin * src/idl-compiler/orbit-idl-backend.c: (load_language_backend): kill bogus g_module_close. Thanks to Gergo for pointing it out. 2002-09-30 ERDI Gergo * src/idl-compiler/orbit-idl-c-stubs.c (cs_output_stub): Cast EPV to correct type before storing it 2002-09-30 Michael Meeks * test/everything/client.c (find_tc): return the typecode. (testIInterface): do some tests on StrSeq. * src/orb/orb-core/orbit-small.c (orbit_small_marshal, orbit_small_demarshal), (ORBit_small_invoke_adaptor): bin inefficient trailing TC_void business. 2002-09-24 Michael Meeks * src/orb/orb-core/corba-typecode.c: TC_void's kind should be tk_void. * configure.in: bump to 2.5.0, so it's clear this is the devel-branch. * src/idl-compiler/orbit-idl-c-common.c (cc_output_method): output TC_void not CORBA_OBJECT_NIL for no return value. * src/idl-compiler/orbit-idl-c-common.c (cc_output_iargs, cc_output_method): don't do silly things with the argument list length, fixes #93928 2002-09-24 Michael Meeks * configure.in: require linc >= 0.7.0 * src/orb/GIOP/giop-connection.c (giop_connection_real_state_changed): remove nasty locking silly workaround. 2002-09-20 Mark McLoughlin * ORBit.spec.in: remove name-client-2 and orbit-name-server-2 since they are no longer installed. Fixes #93643. 2002-09-20 Mark McLoughlin * test/Makefile.am: * test/poa/Makefile.am: * test/inhibit/Makefile.am: add $(ORBIT_LIBS) to LDADD. 2002-09-17 Murray Cumming * src/idl-compiler/orbit-idl-backend.c (orbit_idl_backend_output): Warn if the specified idl compliler backend could not be found. 2002-09-04 Mark McLoughlin Re-implement the idl-compiler language backend loading. * configure.in: add src/idl-compiler/ORBit-idl-2.0.pc. * src/idl-compiler/orbit-idl-backend.[ch]: implement. * src/idl-compiler/Makefile.am: remove orbit-idl-backends.c from the build and add orbit-idl-backend.[ch]. Install orbit-idl-backend.h into $(prefix)/include/orbit-2.0/orbit-idl, install the pkg-config file into $(prefix)/lib/pkgconfig. * src/idl-compiler/orbit-idl-backends.c: remove. * src/idl-compiler/orbit-idl-c-backend.[ch]: (orbit_idl_output_c): return a bool. * src/idl-compiler/orbit-idl-driver.c: (orbit_idl_to_backend): hardwire in the c backend and use the loader for anything else. Also return a bool. * src/idl-compiler/orbit-idl-main.c: don't define the backend directory here. * src/idl-compiler/orbit-idl2.h: kill OIDL_Backend_Info. * src/idl-compiler/orbit-idl3-types.h: upd. * src/idl-compiler/ORBit-idl-2.0.pc.in: add 2002-09-04 Mark McLoughlin Merged some stuff from orbit-cpp-cactus. * include/orbit/orb-core/corba-typecode.h: include giop-basics.h if we're using the headers internally. * src/idl-compiler/Makefile.am: don't define -DDEBUG. * src/orb/orb-core/corba-orb.c: (ORBit_TypeCode_allocate), (CORBA_ORB_create_struct_tc), (CORBA_ORB_create_union_tc), (CORBA_ORB_create_enum_tc), (CORBA_ORB_create_alias_tc), (CORBA_ORB_create_exception_tc), (CORBA_ORB_create_interface_tc), (CORBA_ORB_create_string_tc), (CORBA_ORB_create_wstring_tc), (CORBA_ORB_create_fixed_tc), (CORBA_ORB_create_sequence_tc), (CORBA_ORB_create_recursive_sequence_tc), (CORBA_ORB_create_array_tc): s/CORBA_TypeCode_allocate/ORBit_TypeCode_allocate/g 2002-09-04 Mark McLoughlin * src/idl-compiler/*: chop, chop - take 2: a year on, remove all the non-small code again, except this time a lot more cleanly. That's 6,000 lines of code we don't have to maintain anymore :-) 2002-08-23 Michael Meeks * Version 2.4.3 2002-08-23 Michael Meeks * src/orb/orb-core/corba-any.c (ORBit_demarshal_value): don't do expensive re-allocs on every sequence from length 1 upwards, re-assuring this works though, start with 4096 elements. 2002-08-18 Havoc Pennington * autogen.sh: hardcode aclocal-1.4/automake-1.4 so that users with both automake 1.6 and 1.4 installed get the right automake. Means compilation from CVS will now require the latest automake 1.4 release, or manually creating symlinks called "automake-1.4" and "aclocal-1.4" 2002-08-16 Michael Meeks * Version 2.4.2 * test/test-performance.c (test_copy): more tests. 2002-08-15 Darren Kenny * src/orb/orb-core/corba-object.c (get_small_skel_CORBA_Object): upd. to '_is_a' (CORBA_Object__imethods): update _is_a, get_interface->_interface, non_existent -> _non_existent to comply with the spec and interop with Java. 2002-08-07 Michael Meeks * src/idl-compiler/orbit-idl-c-headers.c (ch_type_alloc_and_tc): add missing '\n's spiking build, thanks Jody. 2002-08-05 Michael Meeks * src/orb/orb-core/orbit-object.c (object_hash_dump): fix output. 2002-08-05 Laurent Vivier * src/orb/orb-core/orbit-small.c (ORBit_handle_exception_array): char cast. (ORBit_small_unlisten_for_broken): add G_CALLBACK cast on fn. * src/orb/orb-core/orbit-debug.h: stubs for unsupported vararg types. * src/orb/orb-core/corba-orb.c: no static after extern. * src/orb/orb-core/allocators.c (ORBit_freekids_via_TypeCode_T): char * cast. * src/orb/dynamic/dynany.c (MAKE_DYNANY_INSERT): prune redundant ';'s (DynamicAny_DynSequence_get_elements_as_dyn_any): kill redundant cast. * src/orb/GIOP/giop-recv-buffer.c (giop_recv_buffer_demarshal_request_1_1), (giop_recv_buffer_demarshal_request_1_2): signedness string casts. * src/idl-compiler/orbit-idl-c-headers.c (ch_output_types): undefine before define. (ch_type_alloc_and_tc): improve imodule output. (ch_output_itypes): deal with empty imethods. * *.[ch]: remove trailing ','s at end of enums for AIX compiler. * src/idl-compiler/orbit-idl-c-common.c (cc_small_output_method): same - in compiler. (cc_small_output_itypes): only output an itype if it's non-empty (/used) 2002-08-05 Michael Meeks * src/idl-compiler/orbit-idl-c-backend.h: use guint instead of guint8 for bitfields. * src/orb/poa/poa.c (ORBit_POAObject_object_to_objkey): switch to guchar * pointer for arithmetic. 2002-08-05 Michael Meeks * Version 2.4.1 * src/services/name/Makefile.am: objects fix. 2002-07-24 Michael Meeks * test/test-giop.c (run_test): upd. * src/orb/orb-core/corba-object.c (ORBit_object_get_connection): pass the orb into cnx initiate. * src/orb/GIOP/giop-connection.c (giop_connection_initiate): upd. (giop_connection_set_orb_n_ver): impl. * src/orb/GIOP/giop-server.c (giop_server_handle_create_connection): upd. 2002-07-10 Brian Cameron * src/services/name/Makefile.am No longer install name-client-2 or orbit-name-server-2 since they are not used. 2002-07-10 Michael Meeks * configure.in: detect the dofus earlier and more explicitely. 2002-07-08 Martin Pool * src/services/name/Makefile.am: update build rules requiring CosNaming.h to be built first. 2002-07-01 Michael Meeks * src/orb/poa/orbit-adaptor.c (ORBit_handle_request): return a system exception if we can't find the method, so the remote end won't just hang forever. * src/orb/poa/poa.c (return_exception): split guts out. (ORBit_recv_buffer_return_sys_exception): into here 2002-07-01 Murray Cumming * src/idl-compiler/orbit-idl3-types.h: Applied Felix Breuer's "namespace -> ns" patch, and added comment to code so that it won't be reverted again. The C++ keyword "namespace" was being used as a struct field name. 2002-06-27 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (giop_recv_list_zap): always remove the stale ent from the list, and NULL the dying cnx. (giop_recv_buffer_get): check for a NULL ent's cnx. (giop_connection_destroy_frags): impl. (giop_recv_buffer_handle_fragmented): check that we don't have an inconsistant 'fragments_follow' state. * src/orb/GIOP/giop-connection.c (giop_connection_dispose): dispose the fragments. * src/orb/orb-core/orbit-small.c (async_recv_cb): treat a NULL cnx, like the disconnection it is. * src/orb/orb-core/corba-any.c (ORBit_demarshal_value): do exponential growing of sequences so we don't blow the memory - since we find it hard to do pre-alloc bounds checking on arbitrary sequence contents. Free the sequence on failing to de-marshal. * src/orb/orb-core/allocators.c (ORBit_realloc_tcval): impl. for the above scheme. 2002-06-27 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (giop_connection_handle_input): update reporting to make DEBUG=errors more useful. (handle_reply): don't dump the reply. * test/test-giop.c (test_mangling): impl. (main): upd. (test_incoming_mangler): randomly mangle passing data. * src/orb/GIOP/giop-server.c: conditionalize new_connection debug hook. 2002-06-26 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (concat_frags): propagate out of memory condition upwards. (giop_connection_remove_frag): move buffer unuse here. conditionalize debug hooks on a debug build. (giop_connection_handle_input): close the connection on out of bound input more aggressively. (concat_frags): make sure head->end points at the right bound. (giop_recv_buffer_handle_fragmented): build the overall length into the head message_size, and bounds check it against MSG_SIZE_LIMIT. * test/ior-decode.c (main): re-hash & expand. 2002-06-25 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (alloc_buffer): (giop_recv_msg_reading_body): handle the out of memory situation gracefully. 2002-06-25 Michael Meeks * src/orb/GIOP/giop.c (giop_tmpdir_init): update to new genuid API, how did this get missed (!), dependency problems it seems. * src/orb/GIOP/giop-send-buffer.c (giop_send_buffer_init): upd. (get_next_indirect): blank newly allocated memory if giop_blank_wire_data is set. (giop_send_buffer_use): blank indirects we have already used. * src/orb/GIOP/giop.c (giop_init): upd. * src/orb/orb-core/corba-orb.c (CORBA_ORB_init): pass flag to giop_init. * src/orb/poa/poa.c (PortableServer_POA__get_the_children): fix annoying typedef warning type thing, needs an IDL compiler fix really. 2002-06-25 Michael Meeks * src/orb/poa/orbit-adaptor.c (ORBit_adaptor_setup), (ORBit_adaptor_find): upd. * src/orb/poa/poa.c (ORBit_POA_new_system_objid), (ORBit_POA_create_object, ORBit_POA_object_key_lookup): upd. * src/orb/util/genrand.c (ORBit_genuid_init): always do simple init, fallback to /dev/random if we don't have /dev/urandom, return a status. (ORBit_genuid_fini): upd. (ORBit_genuid_buffer): update to pass a role in. (genuid_simple): upd. * src/orb/orb-core/corba-orb.c (CORBA_ORB_init): split out (genuid_init): this, and trap some of the more heinous error cases we can catch. * test/test-giop.c (test_cookie): add. 2002-06-24 Michael Meeks * src/orb/util/genrand.c (ORBit_genuid_init): prune bits out. * src/orb/poa/poa.c (ORBit_POA_new_system_objid): update arithmetic. 2002-06-24 Michael Meeks * test/test-giop.c: fix the non-debugging build. 2002-06-24 Gustavo Giráldez * src/orb/util/orbit-options.c (ORBit_option_command_line_parse): fix '\0' termination regression. 2002-06-21 Michael Meeks * test/test-giop.c (run_test): add symmetry test. (main): test things both ways around. 2002-06-21 Michael Meeks * test/test-giop.c (test_spoof_callback), (test_spoof_hook, test_spoofing): impl. (run_test): impl. (wait_for_disconnect): impl. (run_test_hook_new_connection): impl. (main): upd. * src/orb/GIOP/giop-server.c (giop_server_handle_create_connection): add a new connection debugging hook. * src/orb/GIOP/giop-recv-buffer.c (handle_reply): validate the reply came from the right connection, return TRUE/FALSE depending. (giop_connection_handle_input): terminate connections that do bad things to us. * src/orb/orbit-init.c (ORBit_init_internals): add a getuid to the srand. 2002-06-20 Michael Meeks * src/orb/orb-core/orbit-typelib.c (ORBit_get_typelib_paths): use GNOME2_PATH to be consistant with the rest of the platform. (ORBit_small_load_typelib): document. * src/orb/util/orbit-options.c (ORBit_option_command_line_parse): properly erase arguments we chew, instead of nulling them via argv [j++] = '\0' - odd indeed. We decrement argc anyway. * src/orb/orb-core/corba-orb.c (CORBA_ORB_string_to_object): only use the orbhttp code if it's explicitely enabled with --ORBHTTPIORs. * src/orb/orb-core/orbhttp.c: brief review and condemn as riddled with security holes, env. var buffer overflows, dubious un-integrated socket code etc. etc. 2002-06-19 jacob berkman * configure.in: fix obvious typo in debug cflags stuff 2002-06-18 Michael Meeks * test/everything/pingServer.c (PingPongServer_opOneWayCallback): kill warning. * src/orb/GIOP/giop-send-buffer.c (giop_send_buffer_use): paranoid checks on the giop version we are passed 2002-06-18 Alexander Larsson * test/everything/client.c (testPingPong): Initialize broken. 2002-06-18 Michael Meeks * src/orb/GIOP/giop-send-buffer.c (get_next_indirect): check the send buffer for 8 byte alignment, thanks to Alex Larsson 2002-06-17 Michael Meeks * src/orb/orb-core/corba-orb.c (ORBit_ORB_start_servers): pass local only create_options into linc_server_new add "ORBLocalOnly" option. 2002-06-13 Michael Meeks & * test/everything/client.c (testPingPong): disable this test - ultimately oneways suck. You can't block the event consumer, because you deadlock, you can't block the event client because you don't know when the server has a full stack. 2002-06-13 Michael Meeks & Bill Haneman * test/everything/client.c (testPingPong): add client limited stack smash test. * test/everything/pingServer.c (PingPongServer_opOneWayCallback): impl. (PingPongServer_opRoundTrip): impl. 2002-06-13 Bill Haneman * test/everything/Makefile.am: fix DEPENDENCIES typo. 2002-06-13 Mark McLoughlin * src/orb/GIOP/giop-recv-buffer.c: (handle_reply): don't use _orbit_debug_flags unles debugging is switched on. 2002-06-12 Michael Meeks * src/orb/GIOP/giop-connection.c (giop_connection_real_state_changed): fix a logic silly. 2002-06-11 Michael Meeks * src/orb/orb-core/corba-orb.c (CORBA_ORB_destroy): don't print out debug unless G_ENABLE_DEBUG is on. 2002-06-10 Michael Meeks * src/orb/GIOP/giop.c (giop_init): upd. (test_safe_socket_dir): impl. (scan_socket_dir): impl. (giop_tmpdir_init): impl. * src/orb/orb-core/corba-orb.c (CORBA_ORB_init): hoist random init up the file so we can use it in the giop init. 2002-06-09 Michael Meeks * src/orb/GIOP/giop.c (giop_init): g_strdup_printf instead of snprintf. 2002-06-07 Michael Meeks * src/orb/GIOP/giop-connection.c (giop_connection_list_add): remove bogus ref, we've been leaking connection objects a lot it seems. (giop_connection_real_state_changed): add broken lock handling, all because Mark added a status change notification to linc_connection_read [ that should go long term ]. * test/test-giop.c (test_fragments): upd. * test/Makefile.am (INCLUDES): add some internals. * src/orb/GIOP/giop-recv-buffer.c (handle_reply): add unexpected reply debug hook. (giop_connection_get_frag): calm printout. * src/orb/orb-core/corba-orb.c (ORBit_setup_debug_flags): add ORBIT_DEBUG_ERRORS, so we don't spew stuff all the time. 2002-06-07 Michael Meeks * src/orb/orb-core/corba-typecode.c (CDR_get): remove impossible signedness wise comparison. * src/orb/orb-core/iop-profiles.c (ORBit_demarshal_IOR): ditto. 2002-06-06 Michael Meeks * src/orb/orb-core/corba-typecode.c: update TC_null's name #84354 2002-06-05 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (giop_recv_buffer_handle_fragmented): GIOP_FRAGMENTs don't have message_id's we can get in the same way. (concat_frags): fix mem copying. 2002-06-05 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (giop_connection_handle_input): more re-arrangement, and death of sillies. 2002-06-05 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (giop_connection_handle_input): upd. frag_out to move onto the next incoming buffer properly. 2002-06-04 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (giop_connection_get_frag, giop_connection_add_frag), (giop_connection_remove_frag): impl. (alloc_buffer): split out of (giop_recv_msg_reading_body): here. (concat_frags): use it & impl. (giop_recv_buffer_handle_fragmented): impl. (giop_connection_handle_input): upd & fix nasty with locking / leaking & msg_error path. 2002-05-31 Mark McLoughlin * src/orb/orb-core/corba-orb.c: (copy_case_value): handle alias typecodes. * src/orb/orb-core/orbit-object.c: (object_hash_dump): print out helpful info on leaked TypeCodes. * src/orb/orb-core/orbit-small.c: (orbit_small_marshal), (orbit_small_demarshal): don't rely on the sequences _buffer to be null terminated. We have _length after all ... 2002-05-27 Michael Meeks * Version 2.4.0 2002-05-27 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (giop_recv_list_zap): unuse the buffer, don't print a message that we're leaking it. 2002-05-27 Michael Meeks * test/everything/client.c (main): re-instate run_tests [doh] (testIsA): impl. (run_tests): use it. * src/idl/CORBA/orb.idl: add #pragma prefix. * src/idl-compiler/orbit-idl-c-common.c (cc_small_output_itypes): upd. * src/orb/orb-core/corba-typecode.c (DEF_TC_BASIC): upd. (void): upd. * src/orb/orb-core/corba-object.c (CORBA_Object_is_a): handle omg.org/CORBA/Object 2002-05-27 Michael Meeks * test/everything/server.c (TestFactory_noOp): impl. 2002-05-24 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_stub_n): impl. to help bin-compat, we add this method, and leave 'ORBit_small_invoke_stub' * src/idl-compiler/orbit-idl-c-stubs.c (cs_small_output_stub): remove bulky system exception setting logic. (cs_small_output_stub): call invoke_stub_n instead, so we have the method index, so we could do strange, but index rather than name based associations on methods later. * include/orbit/poa/poa-types.h (ORBIT_STUB_GetEpv): cast to gpointer, to save huge & ugly cast in the stubs. * src/orb/orb-core/orbit-object.c (ORBit_RootObject_shutdown): only dump debug on exit if we have G_ENABLE_DEBUG. 2002-05-22 Michael Meeks * src/orb/orb-core/corba-orb.c (ORBit_setup_debug_flags): add inproc_traces, disable fast calls if flag is on. * include/orbit/orb-core/orbit-small.h: add ORBIT_SMALL_FAST_LOCALS. * src/idl-compiler/orbit-idl-marshal.c: update all the printed strings to 'orbit-idl-2' * src/idl-compiler/*.c: update all the auto-generated warnings to a standard define in * src/idl-compiler/orbit-idl-c-backend.h (OIDL_C_WARNING): here and version to orbit-idl-2 correctly. 2002-05-24 Richard Kinder * src/orb/orb-core/orbhttp.c: cleanup magic numbers, closes #78938 2002-05-22 Michael Meeks * src/orb/orb-core/corba-object.c (g_CORBA_Object_hash): don't bother hashing the profiles they're all the same, and it's theoretically wrong anyway (cf. equal), use the object key instead, for a huge reduction in hash collisions. * src/orb/orb-core/iop-profiles.c (IOP_ObjectKey_hash): impl. 2002-05-21 Michael Meeks * include/orbit/orb-core/corba-object-type.h: move 'orb' down the structure, so that the only bits the stubs could possibly use are at the end. 2002-05-20 Michael Meeks * Version 2.3.110 * prune cleanup from the build, will move to linc. 2002-05-16 Jacob Berkman * src/cleanup/Makefile.am (orbit_cleanup_sockets_LDADD): fix LDADD var name 2002-05-16 Michael Meeks * src/orb/orb-core/orbit-small.c (orbit_small_demarshal): add a parameter as to whether we should release the recv buffer. * src/orb/GIOP/giop-recv-buffer.c (handle_reply): unuse the async buffer here. * src/orb/GIOP/giop-connection.c (giop_connection_dispose): check we don't leak a pending msg on cnx close. 2002-05-16 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (giop_recv_buffer_unuse): free GIOP_1_0 service contexts in the same way as GIOP_1_1, that's how we de-marshal them in giop_recv_buffer_demarshal. * test/everything/client.c (testMisc): fix leak. (testMiscUnions): don't dup inArg's string. don't alloc the inSeq's _buffer, or dup it's string. 2002-05-15 Michael Meeks * src/cleanup/Makefile.am, * src/cleanup/cleanup.c: add. * configure.in, * src/Makefile.am: add cleanup. 2002-05-14 Sean Atkinson * src/orb/orb-core/orbit-trace.c (ORBit_trace_value): Replace middle of long strings with dots. (ORBit_trace_timestamp): Pad microseconds with zeros. 2002-05-13 Michael Meeks * Version 2.3.109 2002-05-07 Michael Meeks * src/services/name/orbit-name-server.c (impl_NamingContext_list): re-order to kill swathe of redundant forward prototypes. (ORBit_CosNaming_NamingContextExt_create), (impl_BindingIterator__create): dup the poa ref we hold. (impl_NamingContextExt__destroy), (impl_BindingIterator__destroy, impl_BindingIterator__destroy): don't de-activate ourselves in a finalize method. 2002-05-02 ERDI Gergo * src/idl-compiler/orbit-idl-c-headers.c (ch_prep_sequence): Cast return value of _allocbuf method to pointer to member type, to make typesafe C++ compilers happy 2002-04-23 Mark McLoughlin * src/orb/orb-core/iop-profiles.c: (CodeSetComponent_demarshal): fix off by one error manifesting itself with the Java ORB. 2002-04-18 Michael Meeks * src/orb/orb-core/orbit-small.c (async_recv_cb): handle a NULL callback. * test/everything/client.c (testMisc): fix ev mis-direction. * configure.in (DISABLE_DEPRECATED_CFLAGS): add. * */Makefile.am: add deprecated cflag guards. 2002-04-15 Michael Meeks * Version 2.3.108 2002-04-15 Michael Meeks * configure.in: require linc >= 0.1.21 * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_adaptor): fix the same bug just above Gergo's, and just below too - gack. * test/everything/*: update the sequence tests so we have longer runs. 2002-04-13 ERDI Gergo * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_adaptor): Check for FIXED flag on the argument type and not the method (as that would be silly:) 2002-04-10 Michael Meeks * configure.in: remove poll & basename checks, socklen_t check, inet_aton check, we don't need them. 2002-04-09 Michael Meeks * src/orb/orb-core/corba-typecode.c (tc_dec): fix #76777 warning issue. 2002-04-09 Michael Meeks * src/orb/util/genrand.c (genrand_openssl): rename to (genuid_rand_openssl): this to be consistant and work. [thanks to Colin Campbell]. 2002-04-02 Michael Meeks * src/orb/orb-core/corba-orb.c (shutdown_orb): impl. we need it to close floating UDS. 2002-04-01 Murray Cumming * Added --headerguardprefix option to orbit-idl-2. This allows the C++ bindings to use generated C bindings which in turn #include already-generated installed C bindings. This has already been applied to the cpp branch. Applying it here should simplify merging. 2002-03-30 ERDI Gergo * src/idl-compiler/orbit-idl-c-utils.c (cs_small_unflatten_ref): Explicitly cast array arguments to silence C++ compiler error messages 2002-03-28 Mark McLoughlin * src/services/name/Makefile.am: link against dependancies (75709) 2002-03-27 Michael Meeks * test/everything/client.c (testMisc): add IOR stringification roundtrip check. 2002-03-25 Mark McLoughlin * src/idl-compiler/orbit-idl-c-common.c: (cc_small_output_itypes): initialise the ORBit_IMethod array in a friendly way. 2002-03-04 Mark McLoughlin * configure.in: version 2.3.107 2002-03-09 Dou Wen * src/orb/GIOP/giop-recv-buffer.c (giop_recv_msg_reading_body): assert that the buffer is correctly aligned. 2002-03-20 Gregory Leblanc * ORBit.spec.in: Lots of re-writing and such. * configure.in: Added AC_SUBST for a couple of missing variables used in the spec file 2002-03-20 Mark McLoughlin * src/orb/orb-core/iop-profiles.c: (IOP_components_marshal): also marshal the CODE_SETS component in an encapsulated buffer. (IOP_TAG_CODE_SETS_demarshal): demarshal it from the encapsulated buffer. 2002-03-13 Laszlo Peter * include/orbit/orb-core/corba-typecode.h: change CORBA_tk_recursive to unsigned. * src/orb/orb-core/corba-typecode.c (tc_dec): test the unsigned lkind instead of kind that can be signed or unsigned on different platforms. 2002-03-04 Mark McLoughlin * configure.in: version 2.3.106 2002-03-01 jacob berkman * autogen.sh: pass --copy to automake, and pass --include-deps unless using gcc 2002-03-01 Mark McLoughlin * test/poa/poatest-basic*.c: don't use lovely C99 compliant structure initialisation .... just to keep forte happy. 2002-03-01 Mark McLoughlin * src/idl-compiler/orbit-idl-c-headers.c: (ch_output_type_union): output the enum decl here if need be. * src/idl-compiler/orbit-idl-c-imodule.c: (cc_small_build_types): ditto. * test/everything/everything.idl: add new soup constats and declare the colour enum in the union decl. * test/everything/client.c: (testConst): test the soup consts. (testIInterface): test the soup and colour typecodes. (testMiscUnions): update for colour scope change. * test/everything/unionServer.c: (UnionServer_opMisc): ditto. 2002-02-28 Mark McLoughlin * src/orb/orb-core/orbit-debug.h: fix typo. 2002-02-26 Michael Meeks * src/orb/orb-core/corba-orb.c (CORBA_ORB_list_initial_services): update assertion to not do an assignment. 2002-02-26 Yanko Kaneti * src/orb/orb-core/orbit-debug.h: handle different var-arg cases in the parser. 2002-02-24 Sam Couter * Add G_BEGIN_DECLS and G_END_DECLS to installed headers to allow exported interfaces to be used from C++ code. 2002-02-18 Mark McLoughlin * src/idl-compiler/orbit-idl-c-common.c: (cc_small_build_interfaces): don't initialise ai twice. * docs/FAQ: add bit about refs and giop debugging. 2002-02-11 Mark McLoughlin * configure.in: version 2.3.105 2002-02-08 Mark McLoughlin * src/idl-compiler/orbit-idl-c-typecode.c: (orbit_output_tcstruct_anon_sublabels_array): cleanup. 2002-02-06 Michael Meeks * src/orb/util/genrand.c (genuid_rand_device): handle EINTR, EAGAIN, and short reads. 2002-02-06 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_stub): make trace debugging more meaningfull in-proc. 2002-02-05 Michael Meeks * src/orb/orb-core/orbit-object.c (object_hash_dump): impl. (ORBit_RootObject_shutdown), (ORBit_RootObject_init, do_unref): add more verbose and powerful object debugging. * src/orb/orb-core/corba-orb.c (ORBit_setup_debug_flags): add 'refs' * src/orb/orb-core/orbit-debug.h: fix bitmask cockup. 2002-02-05 Mark McLoughlin * src/orb/orb-core/corba-any.c: (ORBit_value_equivalent): add union_size to the original pointers. * test/everything/client.c: (testAnyEquivalence): re-enable testing this. 2002-02-05 Mark McLoughlin * src/orb/orb-core/corba-any.c: (ORBit_get_union_switch): don't assume pointers are correctly alligned. * src/orb/util/genrand.c: (genuid_glib_pseudo): fix silly. 2002-02-04 Michael Meeks * src/orb/orb-core/corba-context.c (ORBit_Context_free_fn): remove ourselves correctly from the parent. * test/everything/client.c (testAnyEquivalence): knobble for now so we pass the tests. * src/orb/orb-core/corba-any.c: do a proper boolean compare. 2002-02-02 Michael Meeks * Makefile.am (EXTRA_DIST): add Makefile.shared. 2002-02-04 Mark McLoughlin * configure.in: version 2.3.104. 2002-02-04 Shivram U reviewed by: Mark McLoughlin * src/idl-compiler/orbit-idl-c-demarshal.c: * src/idl-compiler/orbit-idl-c-marshal.c: * src/idl-compiler/orbit-idl-c-skelimpl.c: * src/idl-compiler/orbit-idl-c-stubs.c: * src/idl-compiler/orbit-idl-c-typecode.c: * src/idl-compiler/orbit-idl-c-utils.c: * src/idl-compiler/orbit-idl-utils.c: * src/orb/orb-core/corba-object.c: Remove deprecated glib functions. s/g_string_sprintf/g_string_printf/ s/g_string_sprintfa/g_string_append_printf/ s/g_main_iteration/g_main_context_iteration/. 2002-01-31 Mark McLoughlin * src/orb/GIOP/giop-debug.h: make giop dumping a runtime debugging option. * src/orb/GIOP/giop-recv-buffer.c: (giop_recv_msg_reading_body): use dprintf (GIOP.. instead of giop_dprintf. * src/orb/orb-core/corba-orb.c: (ORBit_setup_debug_flags): add ORBIT_DEBUG_GIOP. * src/orb/orb-core/orbit-debug.h: ditto. 2002-01-30 Mark McLoughlin * include/orbit/orb-core/corba-any.h: kill dup_strings arg from demarshal funcs. Kill duplicated ORBit_demarshal_value. * src/orb/GIOP/giop-recv-buffer.c: (giop_IOP_ServiceContextList_demarshal): upd for dup_strings. * src/orb/orb-core/corba-any.c: (ORBit_get_union_tag): kill unused variable. (ORBit_demarshal_value), (ORBit_demarshal_arg), (ORBit_demarshal_any): kill dup_strings arg. * src/orb/orb-core/orbit-small.c: (ORBit_handle_exception_array): upd for dup_strings. (ORBit_small_marshal_context): move branch to (orbit_small_marshal): here. We rarely take this branch, so lets kill the fuction call overhead for the common case. (orbit_small_demarshal), (ORBit_small_invoke_adaptor): upd for dup_strings change. * test/everything/basicServer.c: (BasicServer_opString), (BasicServer_opFloat), (BasicServer_opDouble), (BasicServer_opLongDouble): implement floating point tests. * test/everything/unionServer.c: (UnionServer_opMisc): impl another union test. * test/everything/client.c: (testConst): test float, double and long double constants. (testFloat), (testDouble), (testLongDouble): use floating point tests. (testMiscUnions): use new union test. (testAnyException): add output. (testAnyEquivalence): test ORBit_any_equivalent and ORBit_copy_value code paths. (test_BasicServer_opExceptionA): update vtable offset. (run_tests): run new tests. * test/everything/constants.h: add floating point constants. * test/everything/everything.idl: add idl for new tests. 2002-01-29 Mark McLoughlin * src/orb/orb-core/corba-orb.c: clean up. 2002-01-28 Mark McLoughlin * configure.in: version 2.3.103. 2002-01-28 Mark McLoughlin * src/orb/util/genrand.c: (genuid_simple), (genuid_glib_pseudo): more tweaks. 2002-01-25 Michael Meeks * test/everything/client.c (main): upd. (test_init): test it. * src/orb/orb-core/corba-orb.c (CORBA_ORB_shutdown, CORBA_ORB_init), (CORBA_ORB_destroy): count init / destroy pairs and don't allow people to destroy if someone else has inited. 2002-01-25 Mark McLoughlin * acinclude.m4: (AC_CHECK_ALIGNOF): error out if an alignment is found to be zero. * test/everything/client.c: (make_large_str_seq): fix leak. 2002-01-24 Michael Meeks * src/orb/orb-core/corba-typecode.c (ORBit_TypeCode_free_fn): kill bogus typecode free. * src/orb/util/genrand.c (ORBit_genuid_init): seed the random number generator but once. (genuid_glib_pseudo): use rand more sensibly, use genuid_simple first. (genuid_simple): make inc a gulong. 2002-01-22 Mark McLoughlin * src/orb/orb-core/corba-typecode.c (ORBit_TypeCode_free_f): sublabels isn't an 'any' sequence anymore. 2002-01-22 Mark McLoughlin * include/orbit/orb-core/corba-typecode.h: change the sublabels member to a CORBA_long *. * src/idl-compiler/orbit-idl-c-typecode.c: (orbit_output_tcstruct_anon_sublabels_array), (orbit_output_tcstruct_sublabels), (cbe_tc_generate): output the array. * src/orb/orb-core/corba-any.c: (ORBit_get_union_tag): simplify the discrim compare. * src/orb/orb-core/corba-orb.c: (copy_case_value): impl. (CORBA_ORB_create_union_tc): don't copy the whole any, just the value. * src/orb/orb-core/corba-typecode.c: (tc_enc_tk_union), (tc_dec_tk_union), (typecode_equiv_internal): upd. 2002-01-22 Mark McLoughlin * src/idl-compiler/orbit-idl-utils.c: (orbit_idl_check_oneway_op): impl to check if oneways have returns or outs/inouts. * src/idl-compiler/orbit-idl-c-headers.c: (ch_output_stub_protos): use. * test/everything/everything.idl, test/everything/server.c, test/everything/client.c: make segv return void. 2002-01-21 Mark McLoughlin * src/orb/orb-core/corba-orb.c: (ORBit_setup_debug_flags): fix silly so that debug options in orbitrc works correctly. 2002-01-21 Michael Meeks * src/orb/orb-core/corba-any.c (ORBit_copy_value): tolerate NULL. * src/orb/orb-core/orbit-small.c (orbit_small_demarshal): kill warning. * test/everything/client.c (testMisc): add a check. 2002-01-21 Xiong Jiang * src/idl-compiler/orbit-idl-c-stubs.c (cs_small_output_stub): put the endif in a comment, to make the preprocessor happy. 2002-01-17 Michael Meeks * configure.in: require the new linc with different protocol structure size. * test/everything/client.c (main): upd. 2002-01-17 Mark McLoughlin Allow ORBit2 debugging to be switched on/off at runtime. Based on a patch by Jacob Berkman * configure.in: --enable-debug option. * src/orb/GIOP/Makefile.am, src/orb/Makefile.am, src/orb/dynamic/Makefile.am, src/orb/orb-core/Makefile.am, src/orb/poa/Makefile.am, src/orb/util/Makefile.am: use ORBIT_DEBUG_CFLAGS. * src/orb/orb-core/corba-object.c: (g_CORBA_Object_equal), (ORBit_objref_find), (ORBit_object_get_connection), (ORBit_marshal_object): upd. * src/orb/orb-core/corba-orb.c: (ORBit_setup_debug_flags), (CORBA_ORB_init): add --ORBDebugFlags option and ORBIT2_DEBUG env variable and parse. * src/orb/orb-core/orbit-debug.h: kill old debug stuff and make everything conditional on G_ENABLE_DEBUG. * src/orb/orb-core/orbit-small.c: (ORBit_handle_exception_array), (ORBit_small_send_user_exception), (orbit_small_marshal), (orbit_small_demarshal), (ORBit_small_invoke_stub), (ORBit_small_invoke_adaptor), (ORBit_small_demarshal_async): upd. * src/orb/orb-core/orbit-trace.c: (ORBit_trace_timestamp): upd. * src/orb/orb-core/orbit-typelib.c: (load_module): upd. * src/orb/poa/orbit-adaptor.c: (ORBit_handle_request): upd. * src/orb/util/genrand.c: (ORBit_genuid_init), (genuid_simple): incorporate the pid and an incrementing number into simple uid. 2002-01-16 Mark McLoughlin * include/orbit/orb-core/corba-orb-type.h: kill genrand ORB member. * include/orbit/util/orbit-genrand.h: rename to genuid, we're not allways taking about randomness. * src/orb/orb-core/corba-orb.c: (ORBit_genuid_type): impl to figure what genuid type we'll use. (CORBA_ORB_init): upd. (ORBit_proto_use): fix silly. Also add a --ORBSimpleUIDs option. * src/orb/poa/orbit-adaptor.c: (ORBit_adaptor_setup): upd. * src/orb/poa/poa.c: (ORBit_POA_new_system_objid): upd. * src/orb/util/genrand.c: (ORBit_genuid_init), (ORBit_genuid_fini): impl. (genuid_glib_pseudo): impl id generator using glib's prng. (genrand_unix): kill. (genuid_simple): impl non-random id generator. (ORBit_genuid_buffer): upd. * test/test-performance.c: (main): pass argc and argv to ORB_init. * docs/FAQ, docs/internals/poa-notes.txt: upd. 2002-01-16 Michael Meeks * src/orb/orb-core/corba-object.c: update to free result of IOP profile dumpage. * src/orb/orb-core/iop-profiles.c (IOP_components_free): make it free the list too, and NULL the list for safety. 2002-01-14 Mark McLoughlin * include/orbit/orb-core/corba-policy-type.h, src/orb/orb-core/corba-policy.c: kill ORBit_Policy_(set|get) * include/orbit/poa/orbit-adaptor.h: (ORBit_adaptor_setup): add. * include/orbit/poa/poa-types.h: (ORBit_vepvmap_init): kill. Kill init_vepvmap and vepvlen ClassInfo members. Enable vepvmap cache by default. Add next member to ORBit_POAObject_type to replace servant->_private GSList. Kill unused macros. * include/orbit/poa/poa.h: don't include poa-policy.h. * include/orbit/poa/portableserver-poa-type.h: kill poa_rand_len POA struct member. * src/idl-compiler/orbit-idl-c-skels.c: (cbe_skel_interface_print_vepvmap_initializer): kill. (cbe_skel_interface_print_vepvmap_line), (cbe_skel_do_interface): initialise the vepvmap in servant init. No need for init_vepvmap method. * src/orb/orb-core/corba-orb.c: (CORBA_ORB_destroy): s/poa/adaptor/. * src/orb/poa/orbit-adaptor.c: (ORBit_adaptor_setup): move here from poa.c - all adaptor's keys should be the same. * src/orb/poa/orbit-poa.h: * src/orb/poa/poa-manager.c: (ORBit_POAManager_new), (ORBit_POAManager_register_poa), (ORBit_POAManager_unregister_poa): kill unneeded ev args. Move ownership of the poa_manager reference into poa.c where it belongs. * src/orb/poa/poa-policy.c: set the policy structs directly. Kill okey randomness policy. * src/orb/poa/poa-servants.c: use poa_execption macros. * src/orb/poa/poa.c: (check_object_inuse): impl instead of hacking traverse_cb. (ORBit_POA_object_id_lookup): rename from ORBit_POA_oid_to_obj, removing crackness in the process. (ORBit_POA_remove_child): kill unneeded ev arg. (ORBit_POA_destroy): cleanup. (traverse_cb): rationalise. Kill unneeded TraverseInfo members. (ORBit_POA_deactivate): upd. (ORBit_POA_free_fn): check members are allocated before freeing. (ORBit_POA_set_policy): update fro policy changes. (ORBit_POA_set_policies): set defaults here, use poa_exception macros. (ORBit_POA_new): big cleanup. (ORBit_POA_activate_object): don't init vepvpmap here. Update for servant pobj list changes. (ORBit_POA_deactivate_object): ditto. (ORBit_POAObject_handle_request): use policy checking macros. (ORBit_POA_object_key_lookup): impl. (ORBit_POA_handle_request): use ORBit_POA_object_key_lookup and return_exception. (ORBit_POA_ServantManager_use_servant), (ORBit_POA_ServantManager_unuse_servant): big cleanup and update for servant pobj list change. * test/everything/server.c: (TestFactory_getStructServerIOR): use global_orb. 2002-01-09 Michael Meeks * Version 2.3.102 2002-01-09 Michael Meeks * src/orb/GIOP/giop-send-buffer.c (send_buffer_list): initialize it. * src/orb/GIOP/giop-connection.c (giop_connection_remove_by_orb): fix acute re-enterancy hazard. * src/orb/GIOP/giop-recv-buffer.c (giop_recv_list_zap): fix re-enterancy hazard. (giop_queued_messages): initialize it. 2002-01-09 Mark McLoughlin * test/test-performance.c: (create_mult_id_poa), (test_activation), (main): add object activation/de-activation performance test. * test/Makefile.am: upd. 2002-01-07 Mark McLoughlin * src/services/name/Makefile.am: install idl files in $(datadir)/idl/orbit-2.0. 2002-01-04 Michael Meeks * test/everything/client.c (testSegv): remove race condition assert. * test/everything/everything.idl: make segv oneway. 2002-01-03 Michael Meeks * Version 2.3.101 2001-12-31 Michael Meeks * src/orb/poa/orbit-adaptor.c (ORBit_handle_request): debug. * src/orb/poa/poa.c (ORBit_POA_handle_request): add debug. 2002-01-03 Laszlo Peter * test/test-performance.c: s/time/elapsed_time/ (conflicts with Solaris system headers) 2002-01-03 Mark McLoughlin * test/test-performance.c: make global symbols static to stop core dumps in my ldap libraries. Don't ask me :/ 2002-01-03 Mark McLoughlin * src/idl-compiler/orbit-idl-c-stubs.c: (cs_small_output_stub): output local case code to check to see if the operation is implemented and return NO_IMPLEMENT if not. * src/idl-compiler/orbit-idl2.h: add ORBIT_EPV_VAR_NAME. * test/everything/client.c: (testMisc): test this in the local case as well. 2002-01-03 Mark McLoughlin * include/orbit/poa/poa-types.h: (ORBIT_STUB_IsBypass): check for nil reference, and pawn off on ORBit_small_invoke_stub if it is nil. * src/orb/orb-core/orbit-small.c: (ORBit_small_invoke_stub): return INV_OBJREF exception if obj is nil. * test/everything/client.c: (testException): test. * test/everything/pingServer.c: (PingPongServer_opSleep): kill unused variable. 2001-12-31 Michael Meeks * configure.in: require the new linc. 2001-12-28 Michael Meeks * src/orb/dynamic/dynany.c (ORBit_dynany_new_default): publicise internaly for time trials. * src/idl-compiler/orbit-idl-c-headers.c (ch_output_const_dcl): output unsigned types properly. * test/everything/client.c (testPingPong): add non-blocking IO test. * test/everything/pingServer.c (PingPongServer_opSleep): impl. * src/orb/poa/poa.c (ORBit_POA_handle_request, return_exception): non blocking writes. * src/orb/orb-core/orbit-small.c (orbit_small_marshal): do a non-blocking write. (ORBit_small_invoke_adaptor): ditto. 2001-12-27 Michael Meeks * src/orb/GIOP/giop-connection.c (giop_connection_close): block on send notification. * src/orb/GIOP/giop-send-buffer.c (giop_send_buffer_write): do blocking and non-blocking writes. * include/orbit/GIOP/giop-send-buffer.h: kill duff prototype. * src/orb/orb-core/orbit-small.c (ORBit_small_get_connection): impl. (ORBit_connection_set_max_buffer): impl. 2001-12-21 Roland Juelich * src/orb/orb-core/iop-profiles.c: (IOP_ObjectKey_demarshal): don't modify key length. 2001-12-19 Mark McLoughlin * test/everything/test.sh: niceify. 2001-12-19 Mark McLoughlin * src/orb/orb-core/iop-profiles.c: (IOP_profiles_sync_objkey): reduce the scream and shout error to a warning. 2001-12-18 Michael Meeks * src/orb/orb-core/corba-orb.c (CORBA_ORB_init): check the ALIGNOF_DOUBLE instead, since all sys allocated memory has to be aligned to this. 2001-12-15 Ross Golder * ORBit.spec.in: updated shared library directory. 2001-12-14 Roland Juelich * src/orb/orb-core/corba-orb.c: add ORBIIOPIPName and ORBIIOPIPSock options. (ORBit_ORB_start_servers): use the arguments. 2001-12-13 Sam Couter * configure.in: move type alignment test * acinclude.m4: here & make it pretty. 2001-12-11 Michael Meeks * Version 2.3.100 2001-12-10 jacob berkman * src/orb/GIOP/Makefile.am (libGIOP_la_SOURCES): add giop-debug.h 2001-12-08 Kristian Rietveld * src/orb/GIOP/giop-send-buffer.c: move down sys/uio.h, so it builds on FreeBSD 2001-12-07 Laszlo Peter * src/orb/orb-core/orbit-debug.h: src/orb/orb-core/orbit-trace.c: get the trace code work on Solaris 2001-12-07 Mark McLoughlin * src/orb/orb-core/corba-typecode.c: (CDR_get): use proper casts. 2001-12-07 Mark McLoughlin * src/orb/orb-core/corba-typecode.c: (CDR_get): do byteswap if neccessary. 2001-12-07 Mark McLoughlin * src/orb/orb-core/corba-any.c: (ORBit_demarshal_value): do byteswap if neccessary. 2001-12-07 Mark McLoughlin * include/orbit/GIOP/giop-recv-buffer.h: include/orbit/GIOP/giop-send-buffer.h: src/orb/orb-core/orbit-debug.h: src/orb/orb-core/orbit-small.c: src/orb/poa/poa.c: src/orb/GIOP/giop.c: src/orb/GIOP/giop-recv-buffer.c: rework the recv buffer dumping to do it as we receive. * src/orb/orb-core/iop-profiles.c: (CodeSetComponent_demarshal): fix silly. 2001-12-07 Mark McLoughlin * src/idl-compiler/orbit-idl-c-typecode.c: (orbit_find_c_align): only calculate the alignment of the union. * src/orb/orb-core/corba-any.c: (ORBit_marshal_value), (ORBit_demarshal_value), (ORBit_copy_value_core), (ORBit_value_equivalent): upd. 2001-12-06 Mark McLoughlin * src/orb/orb-core/corba-any.c: (ORBit_copy_value_core), (ORBit_value_equivalent): fix union alignment. 2001-12-06 Michael Meeks * src/orb/orb-core/corba-object.c (CORBA_Object_hash), (CORBA_Object_is_equivalent): make faster and better - we were screwing up if we hashed an object before remoting it. Since we garentee a CORBA_Object <-> profile mapping anyway these can be trivial methods. * test/everything/client.c (testPingPong): test hashing. 2001-12-05 Michael Meeks * test/everything/structServer.c (opObjectStruct): impl. * test/everything/client.c (testObjectStruct): impl. 2001-12-06 Mark McLoughlin * src/idl-compiler/orbit-idl-c-common.c: (cc_small_output_method): don't add 1 to name_len. 2001-12-06 Mark McLoughlin * src/orb/GIOP/giop.c (giop_dump_recv): start dumping the message body at message_body + 12. Why do we allocate this space? 2001-12-05 Mark McLoughlin * src/orb/orb-core/corba-any.c (ORBit_marshal_value): align the union properly. Thanks to Laca for the debugging. 2001-12-05 Mark McLoughlin * src/orb/orb-core/iop-profiles.c: (CodeSetComponent_demarshal): byte swap the code sets if necessary and fix silly. 2001-12-05 Mark McLoughlin * src/orb/orb-core/corba-object.c: (ORBit_handle_location_forward), (ORBit_demarshal_object): intialise type_id and profiles. * src/orb/orb-core/iop-profiles.c: (ORBit_demarshal_IOR): cleanup code flow. 2001-12-05 Mark McLoughlin * src/orb/orb-core/corba-orb.c: (CORBA_ORB_string_to_object): tidy up a bit. Use g_ascii_* functions. 2001-12-04 Michael Meeks * test/everything/basicServer.c (BasicServer_testLargeStringSeq): stub. * test/everything/client.c (make_large_str_seq): impl. (testMisc): use it. 2001-12-03 Mark McLoughlin * src/orb/GIOP/giop.c: (giop_dump): tidy up output a little. 2001-12-02 Laszlo Peter * src/idl-compiler/orbit-idl-c-typecode.c (cbe_tc_generate): fix order to match corba-typecode.h 2001-12-01 Theo van Klaveren * src/orb/include/Makefile.am: make -> $(MAKE). * src/orb/GIOP/giop-send-buffer.c: add to the includes. Fixes the build on FreeBSD. 2001-11-29 Mark McLoughlin * src/orb/GIOP/giop.c: (giop_dump_recv): print the header as well as the message body. 2001-11-26 Michael Meeks * Version 2.3.99 * configure.in: bump serial. 2001-11-26 Michael Meeks * src/idl-compiler/orbit-idl-c-typecode.c (cbe_tc_generate): upd & re-order. * include/orbit/orb-core/corba-typecode.h: give us some space for expansion & re-order. 2001-11-26 Michael Meeks * Version 2.3.98 * src/orb/util/orbit-options.c (ORBit_option_command_line_parse): allow NULL argc on init. * test/test-dynany.c (main): test it. 2001-11-23 Michael Meeks * docs/internals/typecode-flags.txt: add. * src/orb/poa/poa.c (ORBit_POAObject_handle_request): add debug. 2001-11-25 Havoc Pennington * src/orb/poa/Makefile.am (main_src): add poa-macros.h 2001-11-22 Michael Meeks * test/everything/client.c (run_tests): disable the async tests - need more thought. * src/orb/orb-core/iop-profiles.c (IOP_TAG_INTERNET_IOP_copy): copy the host too. * src/orb/GIOP/giop-connection.c (giop_connection_initiate): add pre-condition. 2001-11-21 Michael Meeks * test/everything/client.c (testPingPong): add a scad of equivalence tests. * src/orb/orb-core/corba-object.c (ORBit_register_objref): add pre-condition. (g_CORBA_Object_equal): allow NULL object keys - these are local objects. (CORBA_Object_is_equivalent): fix to cope with the concept of 'local' and NULL objects. (g_CORBA_Object_equal): remove checks. * src/orb/orb-core/iop-profiles.c (IOP_delete_profiles): cope with no ORB on remote objects. 2001-11-21 Michael Meeks * src/orb/dynamic/dynany.c (dynany_sequence_realloc_to): undo a stupidity. 2001-11-21 Michael Meeks * src/orb/orb-core/iop-profiles.c (IOP_delete_profiles): use orb->profiles not common_profiles. (ORBit_demarshal_IOR): upd. * src/orb/orb-core/corba-object.c (ORBit_objref_find, CORBA_Object_release_cb), (ORBit_handle_location_forward): upd. * src/orb/orb-core/corba-types.c (CORBA_sequence__freekids): kill. (ORBit_sequence_CORBA_octet_dup): upd. * src/orb/orb-core/iop-profiles.c (IOP_start_profiles): impl. (IOP_generate_profiles): upd. ensure that we always register an objref as we generate it's profiles. * src/orb/orb-core/corba-object.c (ORBit_start_servers): move into the ORB. (ORBit_objref_find): add some debug. * src/orb/orb-core/corba-orb.c (ORBit_ORB_start_servers): here. * src/orb/orb-core/iop-profiles.c (IOP_generate_profiles): prune cut & paste shutdown code - argh; split out, (boot_profiles): this. * src/orb/orb-core/corba-object.c (ORBit_lookup_objref): don't pointlessly setup an objref hash when we don't need one. * test/everything/client.c (testPingPong): check we remote and return correctly. 2001-11-20 Michael Meeks * src/orb/orb-core/corba-typecode.c (CORBA_TypeCode__freekids): kill. * src/orb/orb-core/orbit-small.c (ORBit_small_alloc), (ORBit_small_invoke_adaptor): upd. * src/orb/orb-core/corba-any.c (ORBit_copy_value, ORBit_demarshal_arg): alloc_by_tc. (CORBA_any__freekids): kill. * src/orb/dynamic/dynany.c (dynany_any_new_default), (dynany_sequence_realloc_to), (DynamicAny_DynStruct_get_members), (DynamicAny_DynSequence_get_elements): alloc_by_tc * src/orb/orb-core/allocators.c (ORBit_alloc_by_tc): impl. * src/orb/orb-core/corba-any.c (CORBA_any__alloc): do it with _alloc_by_tc. * src/orb/orbit-init.c: include our own header. * src/orb/GIOP/giop-recv-buffer.c (giop_IOP_ServiceContextList_demarshal): warning fix. * src/orb/orb-core/corba-env.c (CORBA_exception__alloc): upd. * src/orb/orb-core/corba-object.c (CORBA_Object__freekids): kill. * src/orb/orb-core/allocators.c (ORBit_alloc_kidfnc): rename to (ORBit_alloc_with_free_fn): this * src/orb/orb-core/corba-any.c (CORBA_any__alloc): upd. * include/orbit/orb-core/allocators.h: kill the ORBit_alloc macro. 2001-11-20 Michael Meeks * src/orb/orb-core/corba-string.c (CORBA_string_alloc, CORBA_string_dup): use alloc_string. (CORBA_string__freekids): kill, unused. * src/orb/orb-core/allocators.c (ORBit_alloc_string): impl. * test/Makefile.am: add test-mem * test/test-mem.c: add. * src/orb/orb-core/allocators.c (ORBit_alloc_core): kill. (ORBit_free_T): re-write. (ORBit_freekids_via_TypeCode_T): re-order args to make it a freekids fn, privatize. (ORBit_freekids_via_TypeCode): upd. (ORBit_alloc_tcval): re-write. (ORBit_alloc_kidfnc): re-write. (ORBit_alloc_simple): re-write. * src/orb/orb-core/corba-any.c (ORBit_demarshal_value): upd. * src/orb/orb-core/corba-orb.c (CORBA_ORB_init): check our processor is a real processor. * src/orb/orb-core/orbit-small.c (ORBit_small_alloc): use ORBit_small_alloc. * src/orb/GIOP/giop-recv-buffer.c (giop_IOP_ServiceContextList_free): use CORBA_free (giop_IOP_ServiceContextList_demarshal): do it genericaly by typecode. 2001-11-19 Mark McLoughlin * src/orb/poa/poa-macros.h: new file with convience macros. * src/orb/poa/poa.c: (PortableServer_POA_servant_to_id), (PortableServer_POA_servant_to_reference), (PortableServer_POA_reference_to_servant), (PortableServer_POA_reference_to_id), (PortableServer_POA_id_to_servant), (PortableServer_POA_id_to_reference): update to use macros to simplify policy checking, exception returning. 2001-11-19 Michael Meeks * src/orb/GIOP/giop-connection.c (giop_connection_close): remove bogus fsync breaking encapsulation. 2001-11-19 Michael Meeks * src/orb/GIOP/giop-connection.c (giop_connection_list_lookup): kill retval. (giop_cnx_descr): impl. for debug. (giop_connection_initiate): DOH ! pass the right args to the connection cache. (giop_connection_list_add): validate connection, add debug. (giop_connection_list_remove): only try to remove initiated connections, add debug. 2001-11-16 Michael Meeks * test/everything/client.c (test_BasicServer_opStringA_cb): free the returned strings. 2001-11-18 Mark McLoughlin * configure.in: add warning cflags : -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations. add --enable-compile-warnings option. * src/idl-compiler/Makefile.am, src/orb/GIOP/Makefile.am, src/orb/GIOP/giop-private.h, src/orb/Makefile.am, src/orb/dynamic/Makefile.am, src/orb/poa/Makefile.am, src/orb/orb-core/Makefile.am, src/orb/util/Makefile.am, src/services/name/Makefile.am, test/Makefile.am, test/everything/Makefile.am, test/inhibit/Makefile.am, test/poa/Makefile.am (INCLUDES): add $(WARN_CFLAGS). * src/orb/GIOP/giop-connection.c, src/orb/GIOP/giop-recv-buffer.c: include correct headers and make some functions static. * src/orb/dynamic/dynany.c: (DynamicAny_DynSequence_get_elements_as_dyn_any): rename to DynamicAny_DynSequence_get_elements_as_dyn_any, its correct name. * src/orb/orb-core/corba-nvlist.c, src/orb/orb-core/corba-object.c: src/orb/orb-core/corba-orb.c, src/orb/orb-core/iop-profiles.c src/orb/orb-core/orb-core-export.h, src/orb/orb-core/orbit-object.c: include correct headers, make some functions static and kill unused variables. * src/orb/poa/poa.c: (ORBit_classinfo_lookup_id): kill unused fuction. (ORBit_POA_obj_to_ref): kill unused variable. * test/everything/arrayServer.c., test/everything/client.c test/everything/pingServer.c, test/everything/server.c: make some functions static. * test/poa/poatest-basic01.c, test/poa/poatest-basic02.c, test/poa/poatest-basic03.c, test/poa/poatest-basic04.c, test/poa/poatest-basic05.c, test/poa/poatest-basic06.c, test/poa/poatest-basic07.c, test/poa/poatest-basic08.c, test/poa/poatest-basic09.c, test/poa/poatest-basic10.c: include correct headers and make some functions static. 2001-11-16 Mark McLoughlin * include/orbit/poa/poa.h: kill ORBit_POA_object_to_shutdown. * src/orb/orb-core/corba-object.c: (CORBA_Object_release_cb): upd. * src/orb/poa/poa.c: (PortableServer_POA_id_to_reference): duplicate returned reference. 2001-11-16 Michael Meeks * test/everything/server.c (main): kill sleep. * test/everything/client.c (main): kill sleep. 2001-11-16 Michael Meeks * configure.in: require a linc we can work with. * src/orb/orb-core/corba-object.c (ORBit_try_connection): use giop_connection_unref. (ORBit_objref_find): release the object key - don't leak it. * src/orb/GIOP/giop-recv-buffer.c (giop_connection_handle_input): prune cruft. * src/orb/GIOP/giop-connection.c (giop_connection_remove_by_orb): unref the connection here as well as a close. (giop_connection_unref): hold the right locks. (giop_connection_list_remove): don't take the locks. * src/orb/orb-core/corba-object.c (CORBA_Object_release_cb): don't close what might be a shared connection; it'll happen on dispose anyway, use giop_connection_unref to get locking right. * src/orb/orb-core/corba-context.c: make it all look pretty. 2001-11-16 Michael Meeks * src/orb/poa/poa.c (PortableServer_POA_servant_to_reference): dup the reference we return if we return the same twice ... * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_adaptor): get the ORB via. the poa and not the objref. * src/orb/poa/poa.c (ORBit_POA_object_shutdown): impl. (ORBit_POA_deactivate_object): free the environment after setting it up. * src/orb/orb-core/corba-object.c (CORBA_Object_release_cb): move the connection close right to the end; it can re-enter, invoke ORBit_POA_object_shutdown instead of an unref - the poa holds a ref too ... * test/everything/deadReference.c (DeadReferenceObj_test): release references, kill spurious global. * test/everything/server.c (TestFactory_createDeadReferenceObj): release the poa and the poa_current. * test/everything/pingServer.c (PingPongServer_get), (PingPongServer_set): don't leak. (create_ping_pong_servant): upd. * test/everything/server.c (TestFactory_createPingPongServer): upd. * src/orb/orb-core/corba-context.c (ORBit_Context_demarshal): don't init me as a RootObject, I'm static. * src/orb/orb-core/corba-nvlist.c (CORBA_NVList_free_memory): always blank the type & value on free. * src/orb/orb-core/corba-orb.c (CORBA_ORB_create_list): remove bogus 'no memory' op. * test/everything/server.c (main): exit cleanly, release the factory. 2001-11-15 Michael Meeks * test/everything/client.c (testException): fix mem corruption. * src/orb/GIOP/giop-connection.c (giop_connection_initiate): don't ref here, (giop_connection_list_add): ref here instead. (giop_connection_list_remove): privatize. (giop_connection_dispose): move locking into (giop_connection_list_remove): here. (giop_connection_dispose): protect vs. double disposes. (giop_connection_list_lookup): accelerate & robustify. * src/orb/orb-core/iop-profiles.c (IOP_generate_profiles): re-flow & simplify confusion. * src/orb/orb-core/orbit-trace.c (ORBit_trace_value): update so an strace doesn't give us a thousand writes. 2001-11-15 Mark McLoughlin * src/orb/poa.c (ORBit_POAObject_handle_request): warn if queueing a request because the POAManager is holding. 2001-11-12 Michael Meeks * src/orb/orb-core/orbit-trace.c (ORBit_trace_header): print pid in decimal. (ORBit_trace_value): only print printable characters. * test/everything/client.c (testPingPong): upd. * test/everything/pingServer.c (PingPongServer_opOneWay), (PingPongServer_pingPong): add method to try and confuse - no joy. (PingPongServer_set, PingPongServer_get): impl. 2001-11-12 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (handle_reply): dump unexpected system exceptions silently. * test/everything/client.c (testMisc): add ops. on a deactivated object. 2001-11-12 Michael Meeks * src/orb/poa/poa.c (ORBit_POAObject_handle_request): only free exceptions iff we're not in proc, we need to return them otherwise. 2001-11-12 Michael Meeks * src/orb/GIOP/giop-server.c (giop_server_new): always pass non blocking flag. * src/orb/orb-core/corba-object.c (ORBit_start_servers): don't pass non blocking flag. * src/orb/GIOP/giop-connection.c (giop_connection_initiate): always initate non blocking connections. * src/orb/GIOP/giop-recv-buffer.c (giop_connection_handle_input): use new linc_connection_read semantics, kills deadlock, and heinous EAGAIN handling, we now idle in the mainloop on EAGAIN. * configure.in: require linc >= 0.1.8 and it's new linc_connection_read. 2001-11-09 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (giop_connection_handle_input): close the connection on a GIOP_CLOSECONNECTION - shock. * HACKING: update. 2001-11-09 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (handle_reply): split out of (giop_recv_list_push): here, kill and fold into (giop_connection_handle_input): here & simplify. (giop_recv_buffer_use): kill, confused & unused. (giop_recv_list_pop_T, giop_recv_list_pop): kill; unused (recv_list_push_or_handle): don't do silly things with lists. (giop_recv_buffer_init): kill lock init. (giop_connection_handle_input): don't pile up GIOP_CLOSECONECTION requests in the bit bucket. 2001-11-09 Michael Meeks * include/orbit/GIOP/giop-recv-buffer.h: kill GIOPMessageInfo, not neccessary. remove giop_recv_buffer_data_read prototype. * src/orb/GIOP/giop-recv-buffer.c (giop_recv_list_push): a crack smoking & inefficient loop search; re-order compare - most unlikely first, get request_id only once. re-order locking to be yet more transparent. Remove the huge, paranoid and incorrect ( except for Elliot's huge stubs/skels ) message. (giop_recv_buffer_demarshal): make robust against duff giop versions. (giop_recv_buffer_use_buf): simplify, remove bogus is_auth parameter. (giop_connection_handle_input): upd. to not pass isauth. (giop_recv_list_push): add processed concept outline. 2001-11-08 Michael Meeks * configure.in: require linc >= 0.1.7 2001-11-08 Michael Meeks * src/orb/poa/poa.c (ORBit_POAList_add_child), (PortableServer_Current_get_POA), (PortableServer_POA_find_POA), (PortableServer_POA__get_the_parent), (PortableServer_POA_get_servant_manager): RootObject duplicate, not CORBA_Object_duplicate. * src/orb/orb-core/corba-orb.c (CORBA_ORB_init): RootObject duplicate. * src/orb/orb-core/corba-context.c (CORBA_Context_new): RootObject duplicate. (CORBA_ORB_get_default_context): ditto. * src/orb/orb-core/corba-any.c: indent pleasantly * src/orb/util/genrand.c (genrand_unix): use p_memzero * src/orb/GIOP/giop-send-buffer.c (giop_send_buffer_append_aligned), (giop_send_buffer_align): use p_memzero. * src/orb/util/Makefile.am (liborb_util_la_SOURCES): add orbit-purify.h * src/orb/dynamic/dynany.c (DynamicAny_DynAny_release_fn): p_free. * src/orb/poa/poa-manager.c (ORBit_POAManager_free_fn): p_free. * src/orb/poa/poa.c (ORBit_POACurrent_free_fn), (ORBit_POA_free_fn): p_free. * src/orb/orb-core/corba-policy.c (ORBit_Policy_release): p_free. * src/orb/orb-core/corba-typecode.c (ORBit_TypeCode_free_fn): p_free. * src/orb/orb-core/corba-orb.c (CORBA_ORB_release_fn): p_free * src/orb/orb-core/corba-object.c (CORBA_Object_release_cb): p_free * src/orb/util/orbit-options.c, * src/orb/util/genrand.c, * src/orb/util/orbit-util.c, * src/orb/poa/orbit-adaptor.c, * src/orb/poa/poa.c, * src/orb/poa/poa-servants.c, * src/orb/poa/poa-policy.c, * src/orb/poa/poa-manager.c, * src/orb/GIOP/giop-endian.c, * src/orb/orb-core/corba-orb.c, * src/orb/orb-core/orbit-object.c, * src/orb/orb-core/iop-profiles.c: include config.h * src/orb/orb-core/orb-core-export.h (p_memzero, p_memwipe, p_free): impl. helpers. * src/orb/orb-core/corba-context.c (ORBit_Context_free_fn): p_free. 2001-11-08 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (giop_connection_handle_input): move here. (giop_recv_buffer_data_read): kill; fold into the above to flatten control flow. (giop_recv_buffer_state_change): privatize. * src/orb/GIOP/giop-connection.c (giop_connection_handle_input): move into giop-recv-buffer.c. * src/orb/GIOP/giop.c (dump): rename to (giop_dump): and publicise. * test/everything/server.c: clean & (TestFactory_createPingPongServer): impl. (main): upd. * test/everything/client.c: prune BIG_STUBS cruft, they'll never work again :-) (testPingPong): impl. * test/everything/pingServer.c: impl. * test/everything/everything.idl: add PingPongServer. 2001-11-06 Johan Dahlin * test/everything/Makefile.am (Everything_module_la_LIBADD): Add $(top_builddir)/src/orb/libORBit-2.la * src/orb/orb-core/Makefile.am (TYPELIB_DIR): fix to be $(libdir)/orbit-2.0 2001-11-05 Michael Meeks * src/orb/GIOP/giop-send-buffer.c (giop_send_buffer_append_aligned): remove erroneous assertion - the indirect (system) align and message align are not synchronized. (giop_send_buffer_append_string): fix an incredibly daft bug; accelerate further. 2001-11-02 Abel Cheung * configure.in: Update required linc version. 2001-11-02 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_async, ORBit_small_invoke_stub), (ORBit_small_invoke_adaptor), (ORBit_small_demarshal_async): use tprintf_end_method. * src/orb/orb-core/orbit-trace.c (ORBit_trace_timestamp): split out. (ORBit_trace_header): invoke. (ORBit_trace_end_method): impl. * src/orb/orb-core/orbit-small.c (ORBit_small_unlisten_for_broken), (ORBit_small_listen_for_broken): tolerate a NULL object sensibly. 2001-11-01 Michael Meeks * src/orb/GIOP/giop-send-buffer.c (giop_send_buffer_append_string): Optimize more to the hilt for the common case. * src/orb/orb-core/corba-object.c (ORBit_marshal_object): upd. * src/orb/orb-core/corba-env.c (ORBit_send_system_exception): upd. (ORBit_send_user_exception): upd. * src/orb/orb-core/corba-any.c (ORBit_marshal_value): upd. * src/orb/orb-core/orbit-small.c (ORBit_small_send_user_exception): upd. * src/orb/orb-core/iop-profiles.c (IOP_TAG_GENERIC_SSL_SEC_TRANS_marshal), (IOP_TAG_INTERNET_IOP_marshal), (IOP_TAG_GENERIC_IOP_marshal), (IOP_TAG_ORBIT_SPECIFIC_marshal): upd. * src/orb/orb-core/corba-typecode.c (CDR_put_string): make a #define. * src/orb/GIOP/giop-send-buffer.c (giop_send_buffer_append_string): impl. * src/orb/orb-core/corba-typecode.c (tc_enc): make typecode marshaling smaller and faster. 2001-11-01 Michael Meeks * Version 2.3.97 2001-11-01 Michael Meeks * src/orb/orb-core/corba-typecode.c: populate tk_info with CORBA_TypeCodes for the empty case, so we don't have to alloc / free them continualy. (tc_dec): re-vamp to use faster basic type path. * src/orb/orb-core/orbit-small.c: s/CORBA_free/ORBit_free/ * src/orb/orb-core/iop-profiles.c: ditto. * src/orb/orb-core/corba-string.c (CORBA_string__freekids): use ORBit_free * src/orb/orb-core/corba-nvlist.c (ORBit_NamedValue_free): use ORBit_free. (CORBA_NVList_free_memory): ditto. * test/everything/client.c (dummy_cb): impl. (testSegv): upd. to test unlisten. (testAnyStrSeq): add (main): call it. * test/everything/everything.idl: add method. * test/everything/anyServer.c (AnyServer_opAnyStrSeq): forward port * src/orb/orb-core/orbit-small.c (ORBit_small_unlisten_for_broken): impl. sigh, there had to be something to break the API freeze. 2001-10-31 Mark McLoughlin * include/orbit/orb-core/corba-ir.h: * include/orbit/orb-core/corba-nvlist-type.h: * include/orbit/orb-core/orb-defs.h: * include/orbit/util/os-feature-alloca.h: * include/orbit/util/thread-safety.h * src/orb/util/genrand.h: remove unused headers. 2001-10-31 Mark McLoughlin * configure.in: version 2.3.96. 2001-10-31 Mark McLoughlin * test/poa/Makefile.am: add poatest-basic-shell.h. 2001-10-31 Mark McLoughlin I feel violated. What's bonobo-config doing poking around with this stuff? * include/orbit/orb-core/allocators.h: expose ORBit_alloc_tcval. * include/orbit/orb-core/corba-typecode.h: expose ORBit_TypeCode_epv. * include/orbit/orb-core/orbit-object.h: expose ORBit_RootObject_init. 2001-11-01 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_get_servant): tolerate a NULL obj. * test/everything/client.c (testMisc): add test. 2001-11-01 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_get_servant): fixup. (get_status): use correct LINC_CONNECTION enum. * test/everything/client.c (testMisc): use in_proc, not evil hacks, expand to test new methods. (testSegv): upd, & listen for 'broken' 2001-11-01 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_get_servant, get_status), (ORBit_small_get_connection_status), (ORBit_small_listen_for_broken): impl. 2001-10-31 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_get_servant), (ORBit_small_get_connection_status), (ORBit_small_listen_for_broken): stub - impl. to follow. 2001-10-30 Mark McLoughlin * include/orbit/util/orbit-util.h: make ALIGN_ADDRESS publicly available. It seems bonobo-config uses it. hmmm. 2001-10-30 Mark McLoughlin * include/orbit/*/*.h: wrap all internal defines in #ifdef ORBIT2_INTERNAL_API and all defines for the benefits of stubs/skels in #ifdef ORBIT2_STUBS_API. * include/orbit/orb-core/Makefile.am: don't install empty files. * include/orbit/util/Makefile.am: ditto. * src/idl-compiler/Makefile.am: define ORBIT2_INTERNAL_API. * src/idl-compiler/orbit-idl-c-common.c: (orbit_idl_output_c_common): define ORBIT2_STUBS_API in generated code. * src/idl-compiler/orbit-idl-c-skels.c: (orbit_idl_output_c_skeletons): ditto. * src/idl-compiler/orbit-idl-c-stubs.c: * (orbit_idl_output_c_stubs): ditto. * src/idl-compiler/orbit-idl-c-headers.c: (ch_output_types): don't define exception marshallers in small mode. * src/orb/GIOP/Makefile.am: * src/orb/Makefile.am: * src/orb/dynamic/Makefile.am: * src/orb/orb-core/Makefile.am: * src/orb/poa/Makefile.am: * src/orb/util/Makefile.am: define ORBIT2_INTERNAL_API. * src/orb/util/genrand.c: don't include genrand.h. * src/orb/util/genrand.h: kill, duplicate of include/orbit/util/orbit-genrand.h. * test/Makefile.am: * test/everything/Makefile.am: define ORBIT2_INTERNAL_API. 2001-10-31 Michael Meeks * src/orb/poa/poa.c (return_exception): if in-proc, we have no valid recv_buffer, so just return - ev is the actual exception context. 2001-10-31 Michael Meeks * src/orb/orb-core/corba-env.c (CORBA_exception_free_T): impl & upd. (CORBA_exception_free): do correct locking. * test/everything/client.c (testException): test copying. * src/orb/orb-core/corba-env.c (CORBA_exception__alloc), (CORBA_exception__copy), (CORBA_exception__freekids): move from bonobo. 2001-10-30 Michael Meeks * src/orb/orb-core/orbit-object.c (ORBit_RootObject_shutdown): upd. to account for the ORB hanging around. * src/orb/orb-core/corba-orb.c (CORBA_ORB_destroy): set exceptions on an unclean shutdown, release default ctx. (CORBA_ORB_release_fn): check refs where we have an ev, don't release default ctx here. 2001-10-29 Mark McLoughlin * include/orbit/poa/poa-basics.h (PortableServer_ServantBase__epv): added extra members to the epv to handle servant refcounting and CORBA::Object method overiding. * include/orbit/poa/poa.h: upd. * src/orb/poa/poa-servants.c: (PortableServer_ServantBase__get_interface), (PortableServer_ServantBase__is_a), (PortableServer_ServantBase__add_ref), (PortableServer_ServantBase__remove_ref), (PortableServer_RefCountServantBase__add_ref), (PortableServer_RefCountServantBase__remove_ref), (PortableServer_RefCountServantBase__init), (PortableServer_RefCountServantBase__fini): impl. (PortableServer_ServantBase__init): initialise function pointers if not already set. (PortableServer_ServantBase__fini): upd. * include/orbit/orb-core/corba-orb-type.h: add CORBA_InterfaceDef definition to keep poa headers happy. 2001-10-30 Michael Meeks * src/orb/poa/poa.c (ORBit_POA_handle_request): make it more robust vs. NULL pobjs. 2001-10-29 Michael Meeks * configure.in: bump required glib version. 2001-10-27 Michael Meeks * src/orb/orb-core/corba-typecode.c: re-order to kill redundant forward prototypes. (ORBit_decode_CORBA_TypeCode): return a typecode with a single reference - not no reference. (tc_dec): ditto duplicate here. (tc_dec_tk_sequence, tc_dec_tk_struct, tc_dec_tk_union), (tc_dec_tk_alias, tc_dec_tk_except, tc_dec_tk_array): update all callers to not do their own duplicates. * src/orb/orb-core/corba-any.c (ORBit_demarshal_value, ORBit_demarshal_any): push back the refs into ORBit_decode_CORBA_TypeCode. * test/everything/client.c (testMisc): fix reference leak. * src/orb/orb-core/orbit-object.c (ORBit_RootObject_shutdown): add a total ref count, always taken regardless of locking. (ORBit_RootObject_duplicate, do_unref), (ORBit_RootObject_duplicate_T), (ORBit_RootObject_duplicate): upd. * src/orb/orb-core/corba-orb.c (CORBA_ORB_release_fn): release the default context. * test/everything/client.c (testMisc): regression test. 2001-10-27 Michael Meeks * test/test-dynany.c (main): shutdown the ORB correctly. * test/everything/server.c (TestFactory_segv): use exit instead of a segv - more friendly. * test/poa/poatest-basic*.c: include poatest-basic-shell.h create into the global child_poa so we can destroy it later. don't unref the child_poa, leave that to the shell. * test/poa/poatest-basic-shell.h: add. * test/poa/poatest-basic-shell.c (main): destroy any child poas we have created. * src/orb/poa/poa.c (ORBit_POA_new): duplicate the poa we return, one ref is released by 'POA_destroy' and another by CORBA_Object_release. (ORBit_POAObject_handle_request): survive even if the poa manager is dead. (PortableServer_POA_create_POA): remove extra duplicate. * src/orb/orbit-init.c (ORBit_init_internals): release the references after set_initial_reference. * src/orb/poa/poa.c (ORBit_POA_destroy): remove superstition about the RootPOA entry. 2001-10-26 Michael Meeks * src/orb/orb-core/corba-orb.c (CORBA_ORB_release_fn): don't destroy the initial refs here - some of them are poas and hold refs on the ORB so we never get here ... (ORBit_service_list_free_ref): use locking mode. (CORBA_ORB_destroy): unref the initial_refs here instead, we don't need to explicitely kill the poas ourselves here. (CORBA_ORB_shutdown): destroy the current poa as well. * test/everything/client.c (main): release the orb after destroy. * test/everything/server.c (main): ditto. * src/orb/orb-core/corba-orb.c (CORBA_ORB_init): split out static ORB variable, so we can NULL it on destroy and seek leaks. (CORBA_ORB_destroy): check we are destroying the right thing, NULL the pointer. (CORBA_ORB_release_fn): call ORBit_RootObject_shutdown, to see if we leaked anything. * src/orb/orb-core/corba-object.c (ORBit_objref_find): kill deadlock. * src/orb/orb-core/orbit-object.c (ORBit_RootObject_duplicate): actualy do some locking ! (ORBit_RootObject_duplicate_T): impl. (ORBit_RootObject_release_T): duplicate into (ORBit_RootObject_release): here - for more speed, we gamble that robj->refs == ORBIT_REFCOUNT_STATIC is not a likely intermediate for an incomplete set of a normal ref count: garenteed pretty much. (do_unref): split out the guts, add alive object count. (ORBit_RootObject_init): count live objects if there is no locking. (ORBit_RootObject_shutdown): impl. 2001-10-26 Michael Meeks * docs/FAQ: add a first pass at a FAQ. * src/orb/orb-core/orbit-typelib.c (ORBit_get_typelib_paths): use g_getenv not getenv. * test/everything/Makefile.am (orbittypelibdir): install in orbit-2.0 * src/orb/orb-core/orbit-typelib.c (add_if_unique): use the orbit-2.0 directory for type libs. 2001-10-23 Mark McLoughlin * include/orbit/orb-core/Makefile.am: reverse Michael's change. 2001-10-24 Michael Meeks * src/orb/GIOP/giop-server.c (giop_server_destroy): kill misleadingly named method. (giop_server_class_init): don't init it, or setup parent_class 2001-10-24 Michael Meeks * include/orbit/orb-core/Makefile.am: prune broken special case for orbit-interface.idl. * test/everything/client.c (main): upd, use linc_set_threaded, requires HEAD linc; sorry. 2001-10-23 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (giop_recv_buffer_state_change): re-format to make pretty. (giop_recv_buffer_handle_fragmented): return GIOP_MSG_INVALID * src/orb/GIOP/giop-connection.c (giop_connection_handle_input): drasticaly simplify crack smoking flow control, release cnx->incoming_mutex much earlier to avoid deadlock. 2001-10-18 Mark McLoughlin * include/orbit/orb-core/corba-orb-type.h (CORBA_ORB_type): kill poa_current, make poa_current_invocations a GSList and rename to current_invocations. (ORBit_InitialReference): kill. * include/orbit/orb-core/corba-orb.h, src/orb/orb-core/orb-core-private.h, src/orb/orb-core/corba-object.c: (CORBA_ORB_set_initial_reference): rename to ORBit_set_initial_reference, privatise and simplify arguments. (ORBit_service_list_add_id): kill ugly _maximum++ hack. (ORBit_service_list_free_ref): impl. (CORBA_ORB_release_fn): unref all initial references. (CORBA_ORB_resolve_initial_references): update. * src/orb/poa/poa.c (ORBit_POACurrent_get_object): update. (ORBit_POAObject_handle_request): ditto. (PortableServer_Current_get_POA): ditto. (PortableServer_Current_get_object_id): ditto. (PortableServer_POA_servant_to_id): ditto. (PortableServer_POA_servant_to_reference): ditto. (CORBA_ORB_list_initial_services): update. * src/orb/orbit-init.c (ORBit_init_internals): update, and create + register a "POACurrent" reference. * include/orbit/poa/poa-types.h (ORBIT_STUB_PreCall, PostCall): update. * include/orbit/poa/poa.h(ORBit_POAInvocation): kill. * src/orb/poa/orbit-poa.h: add ORBit_POACurrent_new. * test/everything/client.c, test/everything/everything.idl, test/everything/server.c, test/everything/deadReference.c, test/everything/test.sh: added regression test for dead server-side references and ORB initial services. * src/idl-compiler/orbit-idl-c-stubs.c (cs_small_output_stub): update. * configure.in: bump up ORBIT_SERIAL. 2001-10-18 Michael Meeks * test/everything/client.c (testSegv): invoke a remote segv. (run_tests): upd. * test/everything/server.c (TestFactory_segv): impl. a segv. * src/orb/GIOP/giop-connection.c (giop_connection_handle_input): kill uber wierd error handling, and make return value always TRUE. 2001-10-18 Michael Meeks * include/orbit/orb-core/corba-object-type.h: make type_id a GQuark to save space, and time. * src/orb/poa/poa.c (ORBit_POA_obj_to_ref): upd. * src/orb/orb-core/corba-object.c (g_CORBA_Object_hash), (CORBA_Object_release_cb, ORBit_objref_new, ORBit_objref_find):, (ORBit_marshal_object, CORBA_Object_is_a): upd. 2001-10-17 jacob berkman * Makefile.am: orbit-config is no more 2001-10-18 Michael Meeks * src/orb/GIOP/giop-connection.c (giop_connection_handle_input): hold a ref on the connection whilst handling the input. * src/orb/GIOP/giop-recv-buffer.c (giop_recv_list_push): release the incoming mutex around the ent. call, set the cnx->incoming_msg to NULL much earlier. * src/orb/orb-core/iop-profiles.c (IOP_profiles_copy): impl. (ORBit_demarshal_IOR): kill redundant gbuf = buf, no nasty global variables thank you. (IOP_ObjectKey_copy, IOP_components_copy), (IOP_TAG_COMPLETE_OBJECT_KEY_copy), (IOP_TAG_GENERIC_SSL_SEC_TRANS_copy), (IOP_TAG_SSL_SEC_TRANS_copy, IOP_TAG_CODE_SETS_copy), (IOP_UnknownComponent_copy, IOP_component_copy), (IOP_components_copy, IOP_TAG_INTERNET_IOP_copy), (IOP_TAG_GENERIC_IOP_copy), (IOP_TAG_ORBIT_SPECIFIC_copy), (IOP_TAG_MULTIPLE_COMPONENTS_copy), (IOP_TAG_UnknownProfile_copy), (IOP_profile_copy, IOP_profiles_copy): impl. * src/orb/orb-core/corba-object.c (CORBA_Object_release): misc. style cleans. (ORBit_objref_get_proxy): impl. to make a local object able to access itself as if remote. * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_async): if we have no local profiles, create some. * test/everything/client.c (testAsync): beef up regression tests to catch the above. * test/everything/client.c (testAsync): perform some normal work while waiting for the async method result. Lots of stylistic seds. * src/orb/orb-core/orbit-trace.c (ORBit_trace_header): impl & add timing information. * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_adaptor), (orbit_small_marshal): use it 2001-10-16 jacob berkman * src/orb/orb-core/Makefile.am: fix to dist from a clean checkout * autogen.sh: don't look in libIDL * configure.in (AC_OUTPUT): generate orbit2-config 2001-10-16 Ross Golder * orbit-config.in: replaced with orbit2-config.in * orbit2-config.in: use pkg-config ORBit2 for --cflags * ORBit.spec.in: update. * ORBit2.m4: was generating stubs etc with older IDL compiler. 2001-10-16 Mark McLoughlin * Makefile.am (EXTRA_DIST): add HACKING AND MAINTAINERS. Remove ORBit.spec.in, *.pc.in which are automatically included. * include/orbit/Makefile.am (EXTRA_DIST): remove orbit-config.h.in. * src/orb/dynamic/Makefile.am, src/orb/orb-core/Makefile.am, src/orb/poa/Makefile.am, test/Makefile.am, test/everything/Makefile.am, test/inhibit/Makefile.am, test/poa/Makefile.am: remove idl compiler generated files before dist-ing. 2001-10-13 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_demarshal_async): fix brokenness. * test/everything/client.c (test_BasicServer_opStringA_cb), (test_BasicServer_opStringA): impl async method with ret. (testAsync): upd. 2001-10-13 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c: lots of debugging instrumentation. * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_stub): un-queue the reply tag for oneway methods - there is no reply. (ORBit_small_invoke_async): ditto. * src/orb/GIOP/giop-recv-buffer.c (giop_recv_list_zap): iterate over the full list, invoke the unthreaded cb when the connection is dead, and unlink before invoke. (giop_recv_list_push): unlink from giop_queued_messages. * src/orb/orb-core/orbit-small.c (async_recv_cb): upd, and set COMM_FAILURE on a broken method ... (ORBit_small_demarshal_async): impl. to simplify de-marshaling. (ORBit_small_invoke_async): upd. 2001-10-11 Michael Meeks * src/orb/GIOP/giop-recv-buffer.c (giop_recv_buffer_get): don't do a blocking iteration, check the queue first. (giop_recv_list_push): re-jig locking. * test/everything/client.c (testAsync): impl. (test_BasicServer_opExceptionA): impl. (test_BasicServer_opExceptionA_cb): impl. * src/orb/GIOP/giop-recv-buffer.c (giop_recv_list_setup_queue_entry_async): impl. * src/orb/orb-core/orbit-small.c (orbit_small_marshal): split out the recv_list_setup_queue_entry. (ORBit_small_invoke_stub): put it here instead. (async_recv_cb): impl. (ORBit_small_invoke_async): impl. * src/orb/GIOP/giop-recv-buffer.c (giop_recv_list_push): add an async callback on a GIOPMessageQueueEntry 2001-10-02 Mark McLoughlin * test/Makefile.am(test_dynany_LDFLAGS): add -lm for non-glibc systems. 2001-10-02 Glynn Foster * autogen.sh, configure.in: Dumb commit to fix spelling mistake and remove build fail references to ORBit and replace with ORBit2. Yeah, this is lame. 2001-10-02 Laszlo Peter * src/orb/orb-core/iop-profiles.c: change g_string_printfa to g_string_append_printf because it was renamed in glib. * test/ior-decode.c: ditto. 2001-10-03 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_adaptor): use the incomming buffer's giop_version on the reply, not the connection's version. FIXME: either the connections ver. negotiation is broken or using it was broken - investigate. * test/everything/client.c (main): add a 'success' printf. * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_adaptor): trace all incoming data. * src/orb/orb-core/orbit-debug.h: include stdio if debug is turned on for fprintf. * src/orb/orb-core/iop-profiles.c (IOP_TAG_ORBIT_SPECIFIC_marshal): output the IIOP version fields - because ORBit 1 expects this. (IOP_TAG_ORBIT_SPECIFIC_demarshal): ignore the IOP version fields. 2001-09-25 Mark McLoughlin * Version 2.3.95. 2001-09-24 Mark McLoughlin * Makefile.am(SUBDIRS): remove libIDL - this is to built seperately. * configure.in: cleanup libtool versioning. Use pkg-config to check for dependancies. Remove libIDL config call. * ORBit-2.0.pc.in, ORBit-CosNaming-2.0.pc.in, ORBit.spec.in: update. * src/idl-compiler/Makefile.am: update and remove all libIDL build rules. * src/orb/Makefile.am: update and don't use libtool's -release flag which makes binary compatibility impossible. * src/orb/GIOP/Makefile.am: update. Don't supply version-info to libtool. * src/orb/dynamic/Makefile.am, src/orb/orb-core/Makefile.am, src/orb/poa/Makefile.am, src/orb/util/Makefile.am, src/services/name/Makefile.am, test/Makefile.am, test/everything/Makefile.am, test/inhibit/Makefile.am, test/poa/Makefile.am: update. 2001-09-24 Mark McLoughlin * test/Makefile.am: -lm for test-dynany. 2001-09-21 Mark McLoughlin * src/orb/GIOP/giop-recv-buffer.c, include/orbit/GIOP/giop-recv-buffer.c (giop_recv_buffer_reply_status): macroise - another forte fix. 2001-09-21 Mark McLoughlin * src/orb/orb-core/corba-typecode.c (CDR_get): remove unused align param. Tidy up macros, hard code the CDR alignments. Fixes a forte build problem. 2001-09-20 Mark McLoughlin * src/orb/GIOP/giop-connection.c (giop_connection_handle_input): If linc_connection_read returns 0 and was not passed a length of 0, then the connection has been closed. Unlock incoming_mutex and change state to LINC_DISCONNECTED. Clients should no longer hang when servers have dumped code while servicing a request. 2001-09-20 Mark McLoughlin * ORBit-2.0.pc.in (Requires): add linc. * .cvsignore, src/idl-compiler/.cvsignore, src/services/name/.cvsignore, test/.cvsignore: update. 2001-09-19 Havoc Pennington * src/idl-compiler/Makefile.am (orbit_idl_2_SOURCES): don't install orbit-idl2.h, apparently it isn't used. * ORBit-CosNaming-2.0.pc.in (Libs): update * ORBit-2.0.pc.in (orbit_idl): orbit-idl-2 * test/Makefile.am (ior_decode_2_SOURCES): rename ior-decode to ior-decode-2 * src/services/name/Makefile.am (libORBitservicesincludedir): put ORBitservices inside /usr/include/orbit to avoid ORBit1 conflicts (lib_LIBRARIES): rename libname-server to libname-server-2 * src/orb/poa/Makefile.am (IDL): s/orbit-idl/orbit-idl-2/ * src/orb/orb-core/Makefile.am: s/orbit-idl/orbit-idl-2/ * Makefile.shared (IDL_COMPILER): s/orbit-idl/orbit-idl-2/ * src/idl-compiler/Makefile.am: s/orbit-idl/orbit-idl-2/ * src/services/name/Makefile.am: s/name-client/name-client-2/ s/orbit-name-server/orbit-name-server-2/ 2001-09-19 Mark McLoughlin * src/orb/orb-core/Makefile.am: revert Darin's patch. That header is not generated by this rule. 2001-09-19 Darin Adler * src/orb/orb-core/Makefile.am: Fix build by mentioning the generated header file explicitly as a target. Otherwise, the dependencies trigger the default orbit-idl compile rule, which uses the wrong flags. 2001-09-19 Mark McLoughlin Implement orbitrc option handling. * src/orb/orb-core/corba-orb.c (ORBit_proto_use): fix typo. (orbit_supported_options): move orbitrc options. * src/orb/util/Makefile.am: define ORBIT_SYSTEM_RCFILE. * src/orb/util/orbit-options.c, src/orb/util/orbit-options.h (ORBit_option_set): change options_list to const. (ORBit_option_rc_parse): impl. (ORBit_option_parse): rename to ORBit_option_command_line_parse. (ORBit_option_parse): impl. (orbit_sysrc_options): add orbitrc options. 2001-09-19 Raja R Harinath * src/orb/orb-core/corba-typecode.c: Have definitions of '*_struct's agree with declarations in include/orbit/orb-core/corba-typecode.h. 2001-09-19 Raja R Harinath Fixes bug #60730 * Makefile.shared: Make dependency output file name agree with pattern used for IDL_DEPS_MAGIC. 2001-09-18 Mark McLoughlin Port command line option handling from ORBit-0.5.x. * src/orb/util/orbit-options.[ch]: two new files with two new functions - ORBit_option_set and ORBit_option_parse courtesy of Dick I think. * src/orb/util/Makefile.am: update. * src/orb/orb-core/corba-orb.c, src/orb/orb-core/orb-core-private.h (ORBit_proto_use): impl. Added all of the sensible options from ORBit-0.5.x. Only the IIOP protocol options are implemented as yet. * src/orb/orb-core/corba-object.c(ORBit_start_servers): check to see if we should use the protocol before starting a server using that protocol. 2001-09-18 Mark McLoughlin * src/orb/orb-core/Makefile.am: depend on $(IDL_COMPILER) not on $(IDL). hmmm. 2001-09-18 Jens Finke * ORBit.spec.in: Updated, matches gpp requirements now, renamed the package to ORBit2 and reworked the files section. 2001-09-17 Mark McLoughlin * Makefile.shared: s/DEPS_MAGIC/IDL_DEPS_MAGIC/. Using the same variable name used by automake causes automake to get confused. This was causing automatic Makefile dependancy tracking to not work. 2001-09-17 Mark McLoughlin * src/orb/poa/Makefile.am: remove bogus BUILT_SOURCE dependancy. * src/orb/poa/poa.c: clean up includes. Don't include corba-ops.h. * test/inhibit/test-inhibit.c: include stdio.h. 2001-09-17 Mark McLoughlin * include/orbit/orb-core/orbit-small.h: don't include IDL.h. * src/orb/GIOP/giop.c: include stdio.h. * src/orb/orb-core/orbit-typelib.c (ORBit_iinterface_from_idl): kill. This is never going to be implemented as it would require linking against libIDL. Also include stdlib.h. 2001-09-11 Mark McLoughlin * src/orb/orb-core/iop-profiles.c (IOP_profile_get_info): don't forget to return TRUE. * include/orbit/GIOP/giop-connection.h, src/orb/GIOP/giop-connection.c (giop_connection_from_fd): this function is unused and unneeded. fds are handled inside linc. 2001-09-10 Mark McLoughlin * test/ior-decode.c: fixup object key handling. * include/orbit/GIOP/giop-server.h, src/orb/GIOP/giop-server.c: minor tidying. 2001-09-09 Michael Meeks * src/orb/orb-core/corba-object.c (get_small_skel_CORBA_Object): make impl non NULL to simplify checks. * test/everything/client.c (testMisc): expand regression tests. * src/orb/poa/poa.c (ORBit_POAObject_handle_request): return exceptions that we have thrown, re-organise the exception throwing code to flow more smoothly. (return_exception): impl; ie. with the old 'Lee' stubs, we have no way to tell that the method was oneway - so we might stil try and return an exception - another nail in it's coffin. 2001-09-09 Michael Meeks * src/orb/orb-core/corba-typecode.c: fix alignment of CORBA_TC_Object, or we get serious marshaling issues. 2001-09-06 Mark McLoughlin * src/orb/orb-core/corba-object.c (g_CORBA_Object_equal): compare object keys. (ORBit_objref_find): sync the object keys before looking up the object. (ORBit_try_connection): sync object keys in forward locations profiles. * src/orb/orb-core/iop-profiles.c, src/orb/orb-core/iop-profiles.h (IOP_profile_find): remove unused. (IOP_profile_dump): the object key is never in the profiles anymore. (IOP_profiles_sync_objkey): impl. (IOP_profile_get_info): remove objkey arg. (IOP_ObjectKey_equal): export. (IOP_profile_equal): don't compare object keys. (IOP_component_free, IOP_TAG_INTERNET_IOP_free, IOP_TAG_ORBIT_SPECIFIC_free): don't free the object key. 2001-09-04 Mark McLoughlin * src/orb/poa/Makefile.am, src/orb/dynamic/Makefile.am, src/orb/orb-core/Makefile.am: add --noheaders options to fix build dependancy problem and remove headers from BUILT_SOURCES. 2001-09-04 Mark McLoughlin * src/orb/orb-core/corba-orb.c(CORBA_ORB_shutdown): quit linc's main loop. 2001-09-03 Maciej Stachowiak * Makefile.shared: Re-enable generating deps, fixing a potential distcheck-breaking problem. * src/orb/orb-core/Makefile.am: Re-disable generating headers; they are generated in include/orbit/orb-core. 2001-09-03 Mark McLoughlin * src/idl-compiler/orbit-idl-c-headers.c (ch_output_const_dcl): implement the unsigned check correctly. Michael should have more faith in the splendifuredness of libIDL ;) 2001-09-03 Mark McLoughlin * src/orb/orb-core/corba-any.c, src/orb/orb-core/orb-core-private.h (ORBit_find_alignment): kill - we have that info in the TypeCode now. * src/orb/dynamic/dynany.c, src/orb/orb-core/allocators.c, src/orb/orb-core/corba-any.c, src/orb/orb-core/orbit-trace.c: update for above change. 2001-09-03 Mark McLoughlin * src/idl-compiler/orbit-idl-c-typecode.c: Big cleanup. Split out the generation of individual TypeCode members from cbe_tc_generate into seperate functions. Also seperate functions for various anon arrays. 2001-09-01 Darin Adler * src/orb/orb-core/.cvsignore: New generated file that needs ignoring. 2001-08-31 Mark McLoughlin * include/orbit/orb-core/corba-typecode.h: (CORBA_TypeCode_struct): fill unused flags, add c_align. * include/orbit/orb-core/orb-types.h: add alignment macro for fixed types. * src/idl-compiler/orbit-idl-c-typecode.c (orbit_find_c_alignment) impl. * src/orb/orb-core/corba-any.c(ORBit_find_alignment): replace with temporary wrapper. * src/orb/orb-core/corba-typecode.c (ORBit_TC_find_c_alignment): impl. (tc_dec): update. 2001-08-30 Mark McLoughlin * acconfig.h, configure.in, include/orbit/orbit-config.h.in: move ALIGNOF defines out of config.h and into public view. Rename to ORBIT_ALIGNOF*. * include/orbit/orb-core/orb-types.h, src/idl-compiler/orbit-idl-passes.c, src/orb/orb-core/allocators.c, src/orb/orb-core/corba-any.c: update. 2001-08-29 Mark McLoughlin * src/orb/orb-core/corba-any.c: minor cleanups. 2001-08-28 Mark McLoughlin * src/orb/orb-core/corba-any.c (ORBit_find_alignment): no need to recurse for aliases. (ORBit_gather_alloc_info): ditto. (ORBit_get_union_switch): ditto. (ORBit_demarshal_value): ditto. (ORBit_copy_value_core): ditto. (ORBit_value_equivalent): ditto. (ORBit_marhsal_value): ditto and fix silly bug with previous commit. 2001-08-28 Mark McLoughlin * src/orb/orb-core/corba-any.c(ORBit_marhsal_value): cleanup and document. 2001-08-28 Mark McLoughlin * src/orb/GIOP/giop-send-buffer.c (giop_send_buffer_append_aligned): kill unused indirect_left. * src/orb/orb-core/corba-any.c(ORBit_marhsal_value): Use giop_send_buffer_append_aligned when appropriate. Fixup long long and long double cases. * test/everything/: added long long regression test. 2001-08-28 Mark McLoughlin * include/orbit/orb-core/corba-any-type.h: kill ORBit_marshal_value_info_struct. * include/orbit/orb-core/corba-any.h, /src/orb/orb-core/corba-any.c (ORBit_marshal_value): remove ORBit_marshal_value_info arg, special case boolean/char/octet sequences and arrays. (ORBit_marshal_arg): update ORBit_marshal_value call. (ORBit_marshal_any): ditto. * src/orb/orb-core/orbit-small.c (orbit_small_marshal): ditto. * src/orb/orb-core/orbit-trace.c (ORBit_trace_value): kill ORBit_marshal_value_info. 2001-08-27 Mark McLoughlin * test/everything/server.c (test_TestFactory__fini): free context ref. (test_TestFactory_Servant): free poa ref. 2001-08-27 Mark McLoughlin * src/orb/orb-core/iop-profiles.c (IOP_component_free): free object key. (IOP_TAG_INTERNET_IOP_free): ditto. (IOP_TAG_ORBIT_SPECIFIC_free): ditto. Note: To avoid deadlock use ORBit_free_T, even though the lock is not neccessarily taken. This doesn't matter, because no RootObjects are affected. 2001-08-27 Mark McLoughlin * src/orb/poa/poa.c(ORBit_POA_setup_root): release the policy. 2001-08-27 Mark McLoughlin * configure.in, ORBit-2.0.pc.in: removed THREADLIBS stuff. Handled by linc. 2001-08-24 Michael Meeks * Version 2.3.94 * Makefile.shared: don't generate .deps - totaly broken. * test/Makefile.am: dynany.idl not .idk ! * src/idl-compiler/orbit-idl-main.c (main): use the full filename not the basename ! * src/idl-compiler/orbit-idl-c-backend.c (out_for_pass): create the .deps directory if it doesn't exist - spew only warnings. * src/orb/orb-core/Makefile.am: why not generate the headers we go on to include ? * src/idl-compiler/orbit-idl-c-backend.c (out_for_pass): print the correct name of what it failed to open... 2001-08-23 Mark McLoughlin * src/orb/orb-core/allocators.c (ORBit_freekids_via_TypeCode_T): unref the object reference. * src/orb/orb-core/corba-policy.c (CORBA_Policy_destroy): don't unref the object - that's CORBA_Object_release's job. 2001-08-23 Michael Meeks * configure.in: require linc 0.1.4 bump version to 2.3.94 2001-08-23 Sander Vesik * configure.in: check for popt.h 2001-08-23 Mark McLoughlin * test/poa/poatest-basic??.c: do the policy thang correctly. 2001-08-23 Mark McLoughlin Bunch of warnings fixes. * libIDL/lexer.l, libIDL/parser.y, libIDL/util.c, src/idl-compiler/orbit-idl-c-headers.c: cast char to int for isspace() etc. * src/orb/GIOP/giop-recv-buffer.c (giop_recv_list_push): kill G_BREAKPOINT. * src/orb/dynamic/dynany.c (DynamicAny_DynStruct_get_elements_as_dyn) kill unused newdyn. * src/orb/orb-core/corba-context.c (ctx_get_values) changes CORBA_Identifier arg to const CORBA_char *. * src/orb/orb-core/iop-profiles.c (IOP_components_marshal): kill unsed lenptr. * test/test-dynany.c(test_struct): pass dyn_struct to DynamicAny_DynStruct_* instead of dyn_any. 2001-08-23 Mark McLoughlin * src/orb/orb-core/corba-context.c, src/orb/orb-core/corba-nvlist.c, src/orb/orb-core/corba-object.c, src/orb/orb-core/corba-orb.c, src/orb/orb-core/corba-request.c, src/orb/poa/poa.c: The implications of Maciej's patch. Match up API defs with IDL generated defs. * src/orb/orb-core/iop-profiles.c: include orb-core-private.h. * src/orb/poa/poa.c(ORBit_POA_okey_to_poa): killed unused. 2001-08-22 Maciej Stachowiak * src/idl-compiler/orbit-idl-c-utils.c (orbit_cbe_write_param_typespec_str): If a type Foo is a typedef for CORBA_string, write const CORBA_char * instead of const Foo. This is needed to avoid warnings in the generated skeletons. 2001-08-20 Mark McLoughlin * src/orb/orb-core/poa.c (ORBit_POAObject_object_to_objkey) removed objid. (ORBit_ORB_find_POA_for_okey) killed. 2001-08-20 Martin Baulig * src/orb/GIOP/giop-connection.c (giop_connection_initiate): If the connection could not be established, drop the connection list lock right before calling g_object_unref(cnx). 2001-08-20 Michael Meeks * src/idl-compiler/orbit-idl-c-typecode.c (cbe_tc_generate): only do strange object mapping things for PIDL. 2001-08-20 Mark McLoughlin * src/orb/poa/poa-servants.c, src/orb/poa/poa-manager.c, src/orb/poa/poa.c: more cleanup. 2001-08-20 Martin Baulig * src/orb/dynamic/dynany.c (dynany_kind_mismatch): Make it work with aliases. (DynamicAny_DynStruct_get_elements_as_dyn_any): Implemented. (DynamicAny_DynSequence_set_elements_as_dyn_any): Implemented. 2001-08-18 Michael Meeks * test/everything/server.c: init threads, before ORB init. * test/everything/client.c: ditto. * src/orb/GIOP/giop.c (giop_init): actualy do pass FALSE to linc_init now we know it works in threaded mode. 2001-08-20 Mark McLoughlin * src/orb/poa/poa-policy.c: create policy methods with macros. Simplifies things. * src/orb/poa/poa-manager.c: more scrubbing. 2001-08-19 Maciej Stachowiak * src/orb/orbit-init.c: Include to fix build. 2001-08-19 Mark McLoughlin * src/orb/poa/poa.c: code movement, cleaning etc. * src/orb/poa/orbit-poa.h: only export what's neccessary. 2001-08-18 Michael Meeks * src/orb/orb-core/corba-object.c (CORBA_Object_release_cb): fix deadlock. * src/orb/GIOP/giop.c (giop_init): pass FALSE to linc_init, if peopl want threads they have to initialize them before initializing the ORB. * src/orb/orb-core/orbit-object.c (ORBit_RootObject_release): upd locking. move global lock into corba-orb.c * src/orb/orb-core/allocators.c (ORBit_freekids_via_TypeCode, ORBit_free): upd locking. * src/orb/orb-core/corba-object.c (ORBit_objref_find): fix locking homogenise style. * include/orbit/orb-core/orbit-object.h: update ORBit_RootObject_lifecycle_lock decl. - wtf. is this global !? * src/orb/orb-core/corba-orb.c (ORBit_locks_initialize): upd. (CORBA_ORB_init): always init locks. * src/orb/GIOP/giop-recv-buffer.c: (giop_recv_buffer_init): re-write. s/O_MUTEX/LINC_MUTEX/ fix stylistic ugliness, remove redundant forward prototypes. * src/orb/GIOP/giop-connection.c (giop_connection_dispose): update lock destruction. (giop_connection_handle_input): FIXME: introduced possible re-enterancy deadlock here. s/O_MUTEX/LINC_MUTEX/ * src/orb/orb-core/corba-object.c (CORBA_Object_release_cb): use g_object_unref not giop_connection_unref (ORBit_try_connection): ditto. * src/orb/GIOP/giop-connection.c (giop_connection_list_init): upd. mutex code. (giop_connection_unref): kill. * src/orb/GIOP/giop-send-buffer.c (giop_get_request_id): prune redundant, slow cruft. (giop_send_buffer_init): update locking code, kill 'id' lock - just use a heap / stack pointer - doh. (giop_send_buffer_append_real): kill redundant forward prototype. (giop_IOP_ServiceContextList_marshal), (giop_CORBA_sequence_octet_marshal): remove cruft. use linc mutex code throught. * configure.in: require linc 0.1.3 2001-08-18 Mark McLoughlin * configure.in: kill AC_CONFIG_SUBDIRS(popt) 2001-08-18 Dirk-Jan C. Binnema * src/idl-compiler/orbit-idl-c-backend.c (out_for_pass): raise a g_error instead of segfaulting if the output can't be opened or popened 2001-08-16 Mark McLoughlin * src/orb/orb-core/orbit-debug.h: add. * src/orb/orb-core/orbit-small.c, * src/orb/orb-core/orbit-typelib.c, src/orb/orb-core/orbit-trace.c: move debug/trace stuff to orbit-debug.h 2001-08-16 Michael Meeks * configure.in: require linc >= 0.1.2 * src/orb/GIOP/giop-connection.c (giop_connection_handle_input): update sig. (giop_connection_real_state_changed): hack out linc_io_add_watch. Use new linc 'handle_input' abstraction. 2001-08-15 Michael Meeks * src/idl-compiler/orbit-idl-c-deps.c: update. (orbit_idl_output_c_deps): if we didn't open the fh; return. * src/idl-compiler/orbit-idl-c-backend.c (out_for_pass): only fopen non NULL deps files. 2001-08-14 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_marshal_context): trace CORBA contexts nicely. 2001-08-15 Mark McLoughlin * include/orbit/orb-core/corba-any.h, src/orb/orb-core/corba-any.c: implement CORBA_any_{set|get}_release as macros. 2001-08-13 Maciej Stachowiak Implemented dependency tracking in the IDL compiler (much like the similar feature of gcc) and use it everywhere. * src/idl-compiler/orbit-idl-c-deps.c (orbit_idl_output_c_deps, output_deps): New pass that outputs dependency info in a format suitable for including into a Makefile. * src/idl-compiler/orbit-idl-main.c (main): Add a --deps switch which takes a filename argument. * src/idl-compiler/orbit-idl-c-backend.h, src/idl-compiler/orbit-idl-c-backend.c (orbit_idl_output_c): Output dependencies when requested. (orbit_idl_c_filename_for_pass, out_for_pass): Split out the code that generates the output filename for each pass and make it public, to help the new dependency pass. * src/idl-compiler/orbit-idl-driver.c (orbit_idl_to_backend): Always pass IDLF_SRCFILES flag, since SRCFILE nodes are required by the dependency generation pass. * src/idl-compiler/orbit-idl-c-headers.c (ch_output_types): Only output weird stuff for SRCFILE nodes when suppressing includes. * src/idl-compiler/orbit-idl3-types.h: Add dependency pass and a #define for the number of passes, to help avoid magic numbers in code. * src/idl-compiler/Makefile.am: Add orbit-idl-c-deps.c to build. * Makefile.shared: Common Makefile segment that has the appropriate rules for building IDL files and generating dependency info for targets of IDL sources. * include/orbit/dynamic/Makefile.am, include/orbit/orb-core/Makefile.am, include/orbit/poa/Makefile.am, src/orb/dynamic/Makefile.am, src/orb/include/Makefile.am, src/orb/orb-core/Makefile.am, src/orb/poa/Makefile.am, src/services/name/Makefile.am, test/Makefile.am, test/everything/Makefile.am, test/inhibit/Makefile.am, test/poa/Makefile.am: Use Makefile.shared and IDL dependencies to simplify and sanitize IDL compilation. * include/orbit/dynamic/.cvsignore, include/orbit/orb-core/.cvsignore, include/orbit/poa/.cvsignore: Ignore .deps directories. 2001-08-14 Michael Meeks * src/idl-compiler/orbit-idl-c-headers.c (ch_output_const_dcl): try and get libIDL to give us some useful information - right ! * src/idl-compiler/orbit-idl-driver.c (orbit_idl_to_backend): set rinfo->namespace. * src/orb/orb-core/corba-any.c (ORBit_copy_value_core): fix heinous _buffer = TRUE bug. 2001-08-13 Michael Meeks * test/everything/client.c (testMisc): invoke a non existant method on an object. (testMisc): add a (currently failing) check for Martin's bug. * test/everything/everything.idl: add ObjectStruct. * src/orb/orb-core/iop-profiles.c (IOP_profile_dump): dump the correct oki. 2001-08-13 Mark McLoughlin * include/orbit/orb-core/corba-object-type.h: kill IOP_ObjectKey_info. Use ORBit_ObjectKey. * include/orbit/poa/orbit-adaptor.h, src/orb/orb-core/corba-object.c, src/orb/orb-core/iop-profiles.c, src/orb/orb-core/iop-profiles.h, src/orb/orb-core/orb-core-private.h, src/orb/poa/orbit-adaptor.c, test/ior-decode.c: s/IOP_ObjectKey_info/ORBit_ObjectKey/. Add ORBit_AdaptorKey. CORBA_free the object key instead of g_free-ing it. * include/orbit/poa/portableserver-poa-type.h: kill num_to_koid_map and koid_rand_len. * src/orb/poa/orbit-poa.h: kill ORBit_POAKOid, ORBIT_POAKOID_OidLenOf etc. * src/orb/poa/poa.c (ORBit_POAObject_object_to_objkey): Just use the adaptor key and object Id for the key. Improvements will follow. Kill num_to_koid_map etc. * include/orbit/GIOP/giop-send-buffer.h, src/orb/GIOP/giop-send-buffer.c (giop_send_buffer_use_request, giop_send_buffer_use_locate_request): Take a ORBit_ObjectKey instead an iovec. 2001-08-13 Mark McLoughlin * include/orbit/poa/poa-policy.h, include/orbit/poa/portableserver-poa-type.h, src/orb/poa/poa-policy.c, src/orb/poa/poa-policy.c, src/orb/poa/poa.c: kill obj_rand_len. kill ORBit_PortableServer_OkeyrandPolicy_t. 2001-08-13 Martin Baulig * src/idl-compiler/orbit-idl-c-common.c: Increase the length of the ORBit::IArguments sequence by one so that the trailing NULL element is copied as well. 2001-08-11 Michael Meeks * test/typelib-dump.c (list_libs): impl. (main): list installed type libraries. 2001-08-11 Mark McLoughlin * src/orb/poa/orbit-poa.h, src/orb/poa/poa.c: (ORBit_POA_make_sysoid): Always use random data. Rename to ORBit_POA_new_system_objid. (ORBit_POA_create_object): make static. Remove unused asDefault arg. (ORBit_POAObject ORBit_POA_okey_to_obj): kill unused. 2001-08-10 Michael Meeks * src/orb/orb-core/orbit-typelib.c (ORBit_get_typelib_paths): expose internaly. 2001-08-10 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_handle_exception_array): set the typecode in the CORBA_Environment as we demarshal. * src/orb/orb-core/orbit-trace.c (ORBit_trace_typecode): upd. (ORBit_trace_any): impl. * src/orb/orb-core/orbit-small.c (orbit_small_demarshal): more trace debug: out parameters & exceptions. 2001-08-10 Michael Meeks * test/everything/test.sh: trash /tmp/orbit-$USER before we start ... 2001-08-09 Michael Meeks * src/orb/orb-core/Makefile.am: add orbit-typelib.c * src/orb/orb-core/orbit-small.c: split out type libraries * src/orb/orb-core/orbit-typelib.c: to here. * src/orb/orb-core/orbit-trace.c (ORBit_trace_value): fixup. 2001-08-08 Michael Meeks * test/Makefile.am: add typelib-dump * test/typelib-dump.c (dump_iface): impl. 2001-08-08 Michael Meeks * src/orb/orb-core/iop-profiles.c (IOP_component_free): don't free the non-allocated oki - it's part of the component's structure. * include/orbit/orbit.h: add orbit_version. * configure.in (then): kill HAVE_LIMITED_WRITEV check. * include/orbit/orbit-config.h.in: kill HAVE_ALLOCA, HAVE_LIMITED_WRITEV - unused. * src/orb/orbit-init.c: setup orbit_version char * * src/orb/Makefile.am: define ORBIT_VERSION. 2001-08-08 Mark McLoughlin * src/orb/orb-core/orbit-small.c (load_module): unload module, if not needed. * src/orb/orb-core/corba-object.c (CORBA_Object_release_cb): free object key. * test/everything/client.c (testString): free ior. 2001-08-08 Mark McLoughlin * test/everything/client.c (testIInterface): free iinterface. 2001-08-08 Mark McLoughlin * test/everything/client.c (testUnboundedSequence): set _release. (testBoundedSequence): ditto. (testSequenceOfAny): ditto. 2001-08-07 Michael Meeks * test/everything/client.c: call testMisc. (testMisc): impl CORBA_TypeCode_equal / equivalent regression tests. 2001-08-07 Michael Meeks * Version 2.3.93 * src/orb/orb-core/corba-typecode.c (CORBA_TypeCode_eqivalent): rename to (CORBA_TypeCode_equivalent): this, doh. * src/orb/orb-core/corba-typecode.c (typecode_equiv_internal): fixup. 2001-08-07 Dirk-Jan C. Binnema * src/orb/orb-core/allocators.c (ORBit_free_T): do g_error instead of g_assert, makes debugging a bit easier. 2001-08-07 Mark McLoughlin * src/orb/dynamic/dynany.c (DynamicAny_DynStruct_get_members): set _release to CORBA_TRUE. (DynamicAny_DynStruct_get_members_as_dyn_any): ditto. (DynamicAny_DynSequence_get_elements): ditto. * ORBit2/src/orb/orb-core/corba-any.c (ORBit_copy_value_core): ditto. * src/orb/poa/poa.c(ORBit_POA_new): ditto. * src/orb/orb-core/corba-orb.c (CORBA_ORB_list_initial_services): use CORBA_TRUE instead of TRUE. * src/orb/orb-core/corba-types.c (ORBit_sequence_CORBA_octet_dup): ditto. * src/orb/orb-core/orbit-small.c(load_module): ditto. 2001-08-07 Michael Meeks * test/everything/client.c (testIInterface): actualy free the iinterface structure. * src/orb/orb-core/orbit-small.c (load_module): fix leak. * src/orb/orb-core/corba-types.c (ORBit_sequence_CORBA_octet_dup): set release to TRUE. * src/orb/orb-core/corba-orb.c (CORBA_ORB_list_initial_services): ditto. * src/orb/poa/clean-poa.c (PortableServer_POA__get_the_children): ditto. * src/orb/poa/clean-poa.c (ORBit_POA_create_object): ditto. * src/orb/poa/poa.c (PortableServer_POA__get_the_children), (ORBit_POA_create_object): ditto. (PortableServer_string_to_ObjectId): revert. 2001-08-07 Mark McLoughlin * src/orb/poa/poa.c (PortableServer_string_to_ObjectId): set _release to TRUE. 2001-08-07 Mark McLoughlin * src/orb/orb-core/corba-policy.c (ORBit_Policy_release): impl. (ORBit_Policy_new): ref the policy. (CORBA_Policy_destroy): unref the policy. * include/orbit/orb-core/corba-policy-type.h: killed CORBA_Policy_t, POLICY_CAST_OUT, POLICY_CAST_IN. * src/orb/poa/poa.c(ORBit_POA_setup_root): cleaned up. 2001-08-07 Michael Meeks * src/orb/orb-core/orbit-trace.c (ORBit_trace_value): impl. * src/orb/orb-core/Makefile.am: add orbit-trace.c 2001-08-06 Michael Meeks * src/orb/orb-core/corba-typecode.c (typecode_equiv_internal): split this out of (CORBA_TypeCode_equal): here. (CORBA_TypeCode_eqivalent): impl. (typecode_equiv_internal): impl equivalent checking. 2001-08-06 Mark McLoughlin * src/orb/orb-core/orbit-small.c (ORBit_small_getepv): put back. 2001-08-04 Michael Meeks * src/orb/poa/orbit-adaptor.c (ORBit_handle_request): fix potential segv. on NULL objkey. 2001-08-02 Martin Baulig * src/orb/orb-core/orbit-interface.idl: (ORBit::IInterfaces): New typedef. * include/orbit/orb-core/orbit-small.h, src/orb/orb-core/orbit-small.c (ORBit_small_get_iinterfaces): New function. 2001-08-02 Mark McLoughlin * src/orb/poa(ORBit_OAObject_invoke): let's not return a value from a void function, shall we. 2001-08-01 Mark McLoughlin * test/poa/*: re-indent. sigh. 2001-08-01 Mark McLoughlin * include/orbit/poa/orbit-adaptor.h, src/orb/poa/orbit-adaptor.c (ORBit_OAObject_invoke, ORBit_OAObject_object_to_objkey): impl. * src/orb/orb-core/iop-profiles.c, src/orb/orb-core/orbit-small.c: used the above. 2001-07-31 Darin Adler * src/orb/orb-core/corba-object.c: (CORBA_Object_non_existent): Don't dereference obj until after we check it for nil. 2001-07-31 Mark McLoughlin * include/orbit/poa/orbit-adaptor.h, src/orb/poa/orbit-adaptor.c, include/orbit/poa/Makefile.am, src/orb/poa/Makefile.am: added orbit-adaptor.[ch]. Virtual Object Adaptor interface. * include/orbit/poa/poa-basics.h: added typedefs for ORBit_OAObject and ORBit_ObjectAdaptor. * include/orbit/poa/poa-types.h, include/orbit/poa/portableserver-poa-type.h: Included base structures in ORBIt_POAObject and PortableServer_POA. * src/orb/poa/orbit-poa-export.h (ORBit_handle_request, ORBit_small_handle_request, ORBit_POA_object_to_okey): kill. * src/orb/poa/poa.c (ORBit_POAObject_is_active, ORBit_POAObject_invoke): impl. (ORBit_POA_object_to_okey) rename to ORBit_POAObject_object_to_objkey. (ORBit_handle_request) rename to ORBit_POA_handle_request. (ORBit_small_handle_rquest) rename to ORBit_POAObject_handle_request. * include/orbit/orb-core/corba-object-type.h,, include/orbit/orb-core/corba-orb-type.h, include/orbit/orb-core/orbit-object.h, include/orbit/orb-core/orbit-small.h, src/orb/orb-core/corba-object.c, src/orb/orb-core/corba-orb.c, src/orb/orb-core/iop-profiles.c, src/orb/orb-core/orbit-small.c, test/everything/server.c: host of minor supporting changes. 2001-07-31 Michael Meeks * Version 2.3.92 2001-07-31 Michael Meeks * test/poa/Makefile.am: fixup. 2001-07-31 Martin Baulig * src/orb/dynany.c (DynamicAny_DynStruct_set_members_as_dyn_any): Impl. (DynamicAny_DynStruct_get_members_as_dyn_any): Impl. * tests/test-dynany.c: Added tests for them. 2001-07-31 Michael Meeks * test/everything/client.c (find_tc): impl. (testIInterface): beef up, and test new methods. * src/orb/orb-core/orbit-small.c (ORBit_small_get_types): impl. (ORBit_small_load_typelib): fixup local lib names. * src/idl-compiler/orbit-idl-c-imodule.c (cc_small_build_exceptions): prune. (cc_small_build_types): merge exceptions to here. * src/orb/orb-core/orbit-small.c (ORBit_iinterface_from_idl): kill cruft. (add_iinterface, lookup_iinterface, get_type_db): impl. (ORBit_small_get_iinterface): lookup in the local db first then classinfo, then remote. (shallow_copy_iinterface): rename to (copy_iinterface): & add 'shallow' arg. (load_module): actualy close the handle and register the types. (get_types, add_types): impl. (ORBit_small_load_typelib): upd. (load_module): upd. (get_types, add_types): impl. * test/everything/Makefile.am (included_src): add context-server 2001-07-31 Michael Meeks * configure.in: require linc-0.1.1 bump version to 2.3.92 * src/orb/orb-core/orbit-small.c (ORBit_small_get_types): stub for API freeze. 2001-07-30 Martin Baulig * src/orb/dynamic.c (dynamic_sequence_realloc_to): Initialize the newly created elements. 2001-07-30 Martin Baulig * configure.in: Bump ORBIT_SERIAL to 16. * include/orbit/orb-core/corba-object.h (CORBA_Object__itype): Renamed to CORBA_Object__iinterface. * include/orbit/orb-core/orbit-small.h (ORBit_IModule): Added `CORBA_TypeCode *exceptions' and `CORBA_TypeCode *types'. * include/orbit/orb-core/corba-typecode.h (CORBA_TypeCode_struct): Added `CORBA_unsigned_long flags'. * src/idl-compiler/orbit-idl-c-*.c: Use `__iinterface' instead of `__itype' as prefix for the ORBit_IInterface structs. * src/idl-compiler/orbit-idl-c-imodule.c: Create the new type and exception arrays. 2001-07-28 Michael Meeks * test/everything/client.c (testStructAny): impl. (run_tests): hook up. * test/everything/structServer.c (StructServer_opStructAny): impl. (StructServer_epv): add. & fix all the serious stylistic issues. 2001-07-27 Mark McLoughlin * /src/idl-compiler/orbit-idl-c-common.c: add a couple of '\n's to the generated code. We shouldn't rely on indent to fix up broken code. 2001-07-27 Michael Meeks * src/orb/orb-core/orbit-small.c (quick_compare): impl. (ORBit_small_invoke): use it instead of a hard pointer compare - since we can make new multiple IInterfaces to point to the same data. 2001-07-26 Michael Meeks * src/orb/orb-core/orbit-small.c (get_typelib_paths): add to the search path. * src/orb/orb-core/Makefile.am: define ORBIT_TYPELIB_DIR 2001-07-26 Michael Meeks * src/idl-compiler/orbit-idl-c-typecode.c (cbe_tc_generate): fix duplicate static bug. 2001-07-26 Michael Meeks * src/idl-compiler/orbit-idl-main.c (main): only output imodule information if explicitely asked, and then only output the neccessary. 2001-07-25 Michael Meeks * src/idl-compiler/orbit-idl-c-typecode.c (cbe_tc_generate): make TC's static in typelibs. * src/idl-compiler/orbit-idl-c-common.c (cc_small_output_itypes): make the __itype data static if for a type library, also for __imethods. (cc_output_alloc_interface): only output __classids in certain cases. * src/orb/orb-core/orbit-small.c (ORBit_small_load_typelib), (get_typelib_paths, add_if_unique): impl. * test/everything/Makefile.am: build an _module typelib. * test/everything/client.c (testIInterface): load it. * configure.in: we need gmodule. * ORBit-2.0.pc.in (Requires): add @THREAD_LIBS@ and gmodule. * src/idl-compiler/orbit-idl-c-common.c (orbit_idl_output_c_common): inhibit GIOP include for small. * src/idl-compiler/orbit-idl-c-imodule.c (cc_small_output_imodule): kill. (cc_small_output_base_itypes): ditto. (cc_small_build_interfaces): upd. (orbit_idl_output_c_imodule): upd. * include/orbit/orb-core/orbit-small.h: define the ORBit_IModule interface in standard C - not IDL, so we can have nicer dereferencing. * src/orb/orb-core/orbit-interface.idl: kill IModule bits. 2001-07-25 Maciej Stachowiak * src/idl-compiler/orbit-idl-c-headers.c: (ch_output_codefrag): Add a newline after emitted codefrag lines to avoid line directives running together with the next line. 2001-07-25 Mark McLoughlin * src/orb/orb-core/iop-profiles.c(IOP_components_marshal), src/orb/orb-core/corba-contexts.c(ORBit_Context_marhsal), see below... more of the same. 2001-07-25 Mark McLoughlin * src/orb/iop-profiles.c(IOP_profile_marshal), src/orb/corba-typecode.c(tc_enc): do not dereference pointers that aren't neccessarily properly aligned. * src/orb/GIOP/giop-send-buffer.c: document this. 2001-07-25 Michael Meeks * src/orb/GIOP/giop.c (giop_dump_send, giop_dump_recv), (dump): move here. * test/everything/basicServer.c (BasicServer_opOneWay): impl. * test/everything/client.c (testString): call it. * test/everything/everything.idl: add opOneWay to BasicServer. 2001-07-24 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_poa): don't send anything back for oneway methods ... (giop_dump_recv, giop_dump_send): robustify and publicise. * src/orb/GIOP/giop-recv-buffer.c (giop_recv_buffer_handle_fragmented): add a warning for the broken fragmentation case ... (giop_recv_buffer_use_noblock): kill. (giop_recv_list_push): add conditional debug 2001-07-24 Martin Baulig * src/idl-compiler/orbit-idl-c-imodule.c: Correctly calculate the length of the __base_types array. 2001-07-24 Michael Meeks * src/orb/orb-core/orbit-small.c (shallow_copy_iinterface): impl. (ORBit_small_get_iinterface): use it. * src/orb/orb-core/corba-object.c: update to mention exceptions we fire on get_iinterface. * src/orb/orb-core/corba-env.c (CORBA_exception_free): NULL the exception id after freeing it, so we don't double free: doh ! * src/orb/orb-core/orbit-small.c (ORBit_handle_exception_array): robustify the 'fired an unknown exception' case. (ORBit_small_send_user_exception): don't use a fakeev - use the real one, since the exception type is grokked elsewhere, return a boolean to indicate a re-marshal of a sys exception, and free the send_buffer. (ORBit_small_invoke_poa): upd to loopback on exception. * test/everything/client.c (testIInterface): update tests to go over the wire. 2001-07-24 Martin Baulig The IDL compiler now creates a -imodule.c file which contains a `ORBit_IModule orbit_imodule_data' struct. We'll compile these -imodule.c files into shared libraries which can be dlopen()ed by scripting languages. There is a --noimodule command line option to turn this feature off. * src/orb/orb-core/orbit-interface.idl (IModuleVersion, IInterfaces): New typedefs. (IModule): New struct type. * configure.in: Bump ORBIT_SERIAL to 14. * src/idl-compiler/orbit-idl3-types.h (enabled_passes): Added OUTPUT_IMODULE. * src/idl-compiler/orbit-idl-main.c: Added "--noimodule" command line option to disable output of the -imodule.c files. * src/idl-compiler/orbit-idl-c-imodule.c: New file. 2001-07-23 Michael Meeks * src/idl-compiler/orbit-idl-main.c (main): add version output. 2001-07-23 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_poa): only free the return value if there is no exception. 2001-07-20 Michael Meeks * src/orb/orb-core/iop-profiles.c (IOP_generate_profiles): remove 'need_object_key_component' - we always do, to flag UTF-8. (IOP_profile_get_info): fallback to obj->oki if coki is NULL. (IOP_components_marshal): hook up CODE_SETS. (IOP_TAG_CODE_SETS_marshal): impl. (CodeSetComponent_marshal): impl. (IOP_components_demarshal): upd. (CodeSetComponent_demarshal): impl. (IOP_component_free): upd. 2001-07-20 Michael Meeks * src/orb/GIOP/giop-send-buffer.c (giop_send_buffer_append_indirect): rename to (giop_send_buffer_append_aligned): this, to make not only more efficient, but clean and sane. (giop_send_buffer_align): re-write to be actualy fast, remove the 'register' keyword - it doesn't speed things up. (get_next_indirect): split out of _append & re-write. (giop_send_buffer_append_aligned): here & re-write. (giop_send_buffer_append_copy): impl simple version for (giop_send_buffer_append): to use & upd. * src/orb/orb-core/iop-profiles.c: upd. * src/orb/orb-core/corba-context.c: upd. * src/orb/orb-core/corba-any.c: upd. * src/orb/orb-core/corba-typecode.c: upd. * src/orb/orb-core/corba-env.c: upd. * src/orb/orb-core/corba-object.c: upd. * src/orb/orb-core/orbit-small.c: upd. 2001-07-19 Michael Meeks * src/orb/poa/poa.c (ORBit_POAObject_release_cb): try freeing the object_id before we free the pobj we need to reference it, also NULL it for safety. 2001-07-19 Michael Meeks * src/orb/orb-core/orbit-small.c: remove redundant DEBUG_LOCAL_TEST macro ... * src/orb/GIOP/giop-connection.c (giop_connection_real_state_changed): use linc watches. 2001-07-18 Michael Meeks * test/echo-server.c (main): use CORBA_ORB_run. * src/orb/orb-core/corba-orb.c (CORBA_ORB_perform_work, CORBA_ORB_work_pending), (CORBA_ORB_run): use new linc_main stuff instead of g_main. * src/orb/GIOP/giop-recv-buffer.c (giop_recv_buffer_get): use linc_main_iteration, this requires the latest CVS linc. (giop_recv_buffer_use): ditto. 2001-07-18 Mark McLoughlin * src/idl-compiler/orbit-idl-c-headers.c(ch_output_native), src/idl-compiler/orbit-idl-c-stubs.c(cs_small_output_stub): add a couple of '\n's to the generated code. We shouldn't rely on indent to fix up broken code. 2001-07-18 Michael Meeks * src/orb/orb-core/corba-object.c (_ORBit_object_get_connection): rename to (ORBit_object_get_connection): this & re-order slightly. (CORBA_Object_non_existent): local objects always exist, even if we havn't bothered remoting them yet => no connection. * include/orbit/orb-core/corba-object.h: kill macro (ORBit_object_get_connection): somewhat confusing. * test/everything/client.c (testIInterface): add CORBA_Object_non_existent and CORBA_Object_is_nil regression tests. 2001-07-17 Michael Meeks * src/idl-compiler/orbit-idl-main.c (main): make the runtime message more pleasant. * src/orb/orb-core/corba-object.c (ORBit_IInterface_is_a): upd. to sequence * src/idl-compiler/orbit-idl-c-common.c (cc_small_output_itypes): output sequence for base types & get the length right. (cc_small_output_base_itypes): upd. * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_skel): kill. (ORBit_small_invoke): impl. * configure.in (ORBIT_SERIAL): bump. * src/orb/orb-core/orbit-interface.idl: switch to sequence for base_interfaces. 2001-07-17 Michael Meeks * test/everything/client.c (testIInterface): ORBit_small_get_type_id regression test. (run_tests): hook it up. * src/orb/poa/poa.c (ORBit_classinfo_lookup): impl. * src/orb/poa/clean-poa.c (ORBit_classinfo_lookup): impl. * src/orb/orb-core/corba-object.c (ORBit_impl_ORBit_get_iinterface): impl. (ORBit_impl_ORBit_get_type_id): impl. (get_small_skel_CORBA_Object): extend. * src/orb/orb-core/orbit-small.c (ORBit_small_get_iinterface): impl. (ORBit_small_get_type_id): impl. * src/orb/orb-core/corba-object.c: add ORBit_get_iinterface / ORBit_get_type_id methods. 2001-07-13 Peter Williams * configure.in (ACLOCAL): Preserve ACLOCAL_FLAGS in ACLOCAL. (Update: whoops, typo! Fixed.) (Update: I do not believe it. Fix another typo.) 2001-07-14 Martin Baulig * ORBit-2.0.pc.in (orbit_idl): New variable. 2001-07-13 Mark McLoughlin * docs/devel/internals/poa-notes.txt: added. 2001-07-13 Michael Meeks * test/everything/client.c (testString): use the getIOR method to test stringification. * test/everything/server.c (TestFactory_getBasicServerIOR): impl. 2001-07-13 Michael Meeks * src/orb/poa/poa.c (ORBit_small_handle_request): re-indent to make legible. * src/orb/orb-core/corba-object.c (CORBA_Object_is_a): fix invocation code. (ORBit_impl_CORBA_Object_is_a): fix indirection. Thanks to Martin Baulig for reporting repo_id matching bug. * test/everything/client.c (testFixedLengthStruct): add CORBA_Object_is_a test. * src/orb/orb-core/allocators.c (ORBit_freekids_via_TypeCode_T): kill broken assumption that align == length ! * src/orb/orb-core/corba-typecode.c (ORBit_tk_to_name): impl. * test/test-dynany.c: portability fix for CHECK_OK. 2001-07-12 Darin Adler * include/orbit/poa/Makefile.am: Install poa-basics.h. 2001-07-12 Mark McLoughlin * src/idl-compiler/orbit-idl-c-common.c, src/orb/orb-core/orbit-interface.idl, (IInterface)change name string to typcode. * src/orb/orb-core/corba-object.c, src/orb/orb-core/orb-core-export.h, src/orb/poa/poa.c: re-jig CORBA_Object_is_a using the IInterface data. 2001-07-12 Michael Meeks * src/orb/orb-core/corba-object.c (ORBit_register_objref): assert profile_list != NULL. * src/orb/poa/poa.c (ORBit_POA_object_to_okey): add precondition. * src/orb/orb-core/iop-profiles.c (IOP_TAG_ORBIT_SPECIFIC_marshal): use the local oki if we have it. (IOP_TAG_INTERNET_IOP_marshal): use obj->oki where appropriate. (IOP_generate_profiles): only set obj->oki if we have a pobj. * NB. obj->oki == NULL for objects passed in remotely, need to bear this in mind when re-marshaling the profiles. 2001-07-12 Mark McLoughlin * include/orbit/orb-core/corba-object.h, src/idl-compiler/orbit-idl-c-common.c, src/idl-compiler/orbit-idl-c-skels.c, src/orb/orb-core/corba-object.c, src/orb/poa/orbit-poa.h, src/orb/poa/poa.c: add IInterface data for CORBA_object. * include/orbit/orbit-types.h, include/orbit/poa/poa-types.h, include/orbit/poa/poa-basics.h: split out some of poa-types.h into new poa-basics.h. Include poa-basics.h from orbit-types.h. * include/orbit/orb-core/corba-object-type.h, include/orbit/poa/poa-types.h, include/orbit/poa/poa.h, src/orb/orb-core/orbit-small.c, src/orb/poa/orbit-poa-export.h: make ORBit_POAObject a pointer to ORBit_POAObject_type instead of a struct. 2001-07-12 Mark McLoughlin * include/orbit/orb-core/orbit-small.h, include/orbit/poa/poa-types.h, src/idl-compiler/orbit-idl-c-backend.h, src/idl-compiler/orbit-idl-c-common.c, src/idl-compiler/orbit-idl-c-demarshal.c, src/idl-compiler/orbit-idl-c-headers.c, src/idl-compiler/orbit-idl-c-marshal.c, src/idl-compiler/orbit-idl-c-skels.c, src/idl-compiler/orbit-idl-c-stubs.c, src/idl-compiler/orbit-idl-c-utils.c, src/idl-compiler/orbit-idl-main.c, src/orb/dynamic/Makefile.am, src/orb/orb-core/orbit-small.c, src/orb/poa/Makefile.am, src/orb/poa/poa.c: put all the 'non-small' code back, at Elliot's behest. Note: The --noidata option remains and the PIDL is still no longer being compiled with --oldstyle. * configure.in: bump up ORBIT_SERIAL. 2001-07-11 Mark McLoughlin * src/idl-compiler/orbit-idl-c-headers.c (ch_type_alloc_and_tc): do the allocbuf thing. * src/orb/dynamic/dynany.c, src/orb/poa/poa.c, test/poa/poatest-exception.h: kill temporary hacks for the above. 2001-07-11 Mark McLoughlin * src/idl-compiler/orbit-idl-c-backend.h, src/idl-compiler/orbit-idl-c-common.c, src/idl-compiler/orbit-idl-c-demarshal.c, src/idl-compiler/orbit-idl-c-headers.c, src/idl-compiler/orbit-idl-c-marshal.c, src/idl-compiler/orbit-idl-c-skels.c, src/idl-compiler/orbit-idl-c-stubs.c, src/idl-compiler/orbit-idl-c-utils.c, src/idl-compiler/orbit-idl-main.c, src/idl-compiler/orbit-idl3-types.h: chop, chop. Remove all non-small code. Kill orbit-idl-c-demarshal.c and orbit-idl-c-marshal.c. Add --noidata option. * include/orbit/orb-core/orbit-small.h, include/orbit/poa/poa-types.h, src/orb/orb-core/orbit-small.c, src/orb/poa/poa.c: remove all non-small code. * src/orb/dynamic/dynany.c, src/orb/poa/poa.c, test/poa/poatest-exception.h: temp hacks to get around fact that orbit-idl is not generating aliased sequence allocbufs. * include/orbit/orb-core/Makefile.am, src/orb/dynamic/Makefile.am, src/orb/include/Makefile.am, src/orb/orb-core/Makefile.am, src/orb/poa/Makefile.am: kill --oldstyle, use --noidata. * test/poa/Makefile.am: depend on orbit-idl. * configure.in: bump up ORBIT_SERIAL. 2001-07-11 Michael Meeks * src/orb/orb-core/corba-object.c (CORBA_Object__freekids): fix brokenness. * src/orb/orb-core/corba-typecode.c (ORBit_TypeCode_free_fn): ditto. 2001-07-11 Michael Meeks * src/orb/poa/poa.c (ORBit_POA_free_fn), (ORBit_POACurrent_free_fn): fix deadlocks * src/orb/poa/clean-poa.c (ORBit_POACurrent_free_fn), (ORBit_POA_free_fn): ditto. * src/orb/orb-core/corba-typecode.c (ORBit_TypeCode_free_fn): kill deadlocks. * src/orb/dynamic/dynany.c (DynamicAny_DynAny_release_fn): use ORBit_free_T to stop deadlock & don't lock on invalidate. (dynany_invalidate): add 'lock' argument. update all references. * src/orb/orb-core/allocators.c (ORBit_free): take the RootObject_lifecycle_lock, and call (ORBit_free_T): split out. (ORBit_freekids_via_TypeCode): split out to (ORBit_freekids_via_TypeCode_T): here & kill deadlock plague. * src/orb/orb-core/corba-object.c (CORBA_Object_release_cb): use the non-locking release on obj->pobj. 2001-07-10 Michael Meeks * configure.in: Bump version to 2.3.91 2001-07-10 Peter Williams * test/poa/Makefile.am ($(POATEST_IDLOUT)): use $< instead of poatest.idl for when srcdir != builddir. 2001-07-10 Mark McLoughlin * include/orbit/poa/poa.h(ORBit_POAInvocation): killed object_id and doUnuse members. * include/orbit/poa/portableserver-poa-type.h (PortableServer_POA): replaced default_pobj member with default_servant; * src/orb/poa/poa.c (ORBit_POA_ServantManager_{un}use_servant): pass a pobj instead of an iframe. (ORBit_handle_request): split in two. Now ORBit_small_handle_request can be used for local calls and original function is a wrapper for remote calls. Also various default_servant fixes. * src/orb/poa/orbit-poa-export.h: introduce ORBit_small_handle_request. * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_stub): call ORBit_small_handle_request. * test/poa/poatest-basic09.c, test/poa/poatest-basic10.c: commit default servant tests. 2001-07-09 Mark McLoughlin * src/orb/orb-core/corba-object.c, src/orb/poa/poa.c: fixed some extreme braindeadness on my part. 2001-07-07 Mark McLoughlin * include/orbit/orb-core/corba-object-type.h, src/orb/orb-core/Makefile.am, src/orb/orb-core/corba-object.c, src/orb/orb-core/orb-core-private.h, src/orb/orb-core/iop-profiles.c, src/orb/orb-core/iop-profiles.h: split off all the profiles stuff on its own. 2001-07-08 Michael Meeks * src/orb/orb-core/orbit-object.c (ORBit_RootObject_release): split out core to: (ORBit_RootObject_release_T): here. * src/orb/orb-core/corba-object.c (CORBA_Object_release_cb): use the non-locking release. * src/orb/poa/poa.c (remove_cb): return FALSE instead of nothing. (ORBit_POAObject_release_cb): use non-locking release. 2001-07-07 Mark McLoughlin * include/orbit/orb-core/corba-object.h, src/orb/orb-core/corba-object.c, src/orb/poa/poa.c: sharing is caring. Make the POA generated references share their profile_lists. 2001-07-07 Mark McLoughlin * src/orb/orb-core/corba-object.c: don't carry around multiple copies of the object key. Only generate it when it the ref is to be exported. * src/orb/poa/orbit-poa-export.h, src/orb/poa/poa.c: rename ORBit_POA_oid_to_okey to ORBit_POA_object_to_okey and export. 2001-07-07 Mark McLoughlin * src/orb/orb-core/corba-object.c, src/orb/orb-core/corba-orb.c: only opening listening sockets when externalising a reference. 2001-07-06 Mark McLoughlin * include/orbit/orb-core/corba-object.h, include/orbit/poa/poa-types.h, src/orb/orb-core/corba-object.c, src/orb/poa/orbit-poa.h, src/orb/poa/poa.c: make an object reference's profile_list only be generated when it is about to be externalised. 2001-07-04 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_stub): add ORBIT_STUB_PostCall/PreCall ref counting checks. 2001-07-05 Mark McLoughlin * include/orbit/orb-core/corba-object-type.h, include/orbit/poa/poa-types.h, src/orb/orb-core/corba-object.c, src/orb/orb-core/orbit-small.c, src/orb/poa/poa.c, src/services/name/orbit-name-server.c: make every reference created by the POA have a POAOjbect associated with it. s/bypass_obj/pobj/. 2001-07-05 Mark McLoughlin * test/poa/poatest-basic04.c, test/poa/poatest-basic05.c, test/poa/poatest-basic06.c, test/poa/poatest-basic07.c, test/poa/poatest-basic08.c: use CORBA_PolicyList_allocbuf instead of g_new0. 2001-07-04 Mark McLoughlin * configure.in: updated glib check. 2001-07-04 Mark McLoughlin * src/orb/orb-core/orbit-interface.idl, src/idl-compiler/orbit-idl-c-common.c, src/idl-compiler/orbit-idl-c-headers.c: added inheritance data to ORBit::IInterface. 2001-07-03 Michael Meeks * src/orb/orbit-init.c (ORBit_init_internals): seed the random number generator once, properly. * src/orb/GIOP/giop-connection.c s/shutdown/dispose/ * include/orbit/util/basic_types.h: include glib/gunicode.h Mark needs to update his glib :-) 2001-06-29 Michael Meeks * src/orb/orb-core/corba-object.c (IOP_TAG_INTERNET_IOP_demarshal): NULL components if version is !> GIOP_1_0. * src/idl-compiler/orbit-idl-c-utils.c (orbit_cbe_get_typespec_str): return CORBA_wstring not CORBA_wchar *. * include/orbit/util/basic_types.h: add CORBA_wstring. 2001-06-29 Mark McLoughlin * include/orbit/util/basic_types.h: include gunicode.h, not glib/gunicode.h. 2001-06-29 Mark McLoughlin * src/orb/poa/poa.c: fixed a couple of porblems with yesterday's commit. 2001-06-28 Mark McLoughlin * include/orbit/poa/poa-types.h, src/orb/orbit-init.c, src/orb/orb-core/corba-object.c, src/orb/orb-core/corba-orb.c, src/orb/poa/orbit-poa.h, src/orb/poa/poa.c: sorted out the POA and POAObject ref counting mess - I hope ;) * src/orb/poa/poa-servants.c: remove assertions - not valid in MULT_ID case. * test/poa/poatest-basic-shell.c, test/poa/poatest-basic04.c, test/poa/poatest-basic05.c, test/poa/poatest-basic06.c, test/poa/poatest-basic07.c, test/poa/poatest-basic08.c: release more refs, and invoke orb->destroy and orb->shutdown. 2001-06-28 Michael Meeks * include/orbit/util/basic_types.h: include glib/gunicode.h, we require HEAD glib. 2001-06-26 Mark McLoughlin * src/orb/orb-core/corba-context.c, src/orb/poa/poa.c: kill deprecated g_hash_table_(freeze|thaw) functions. 2001-06-26 Mark McLoughlin * include/orbit/poa/poa-types.h, src/idl-compiler/orbit-idl-c-skels.c : kill POAObject members use_count, death_callback and user_data. Relics from an old hack from ORBit0 thats not used anymore. * src/orb/poa/poa.c: add a few TODO items. 2001-06-26 Michael Meeks * src/idl-compiler/orbit-idl-c-skels.c (cbe_skel_interface_print_relayer): chop specious overall idx calculation. (cbe_skel_interface_print_relayers): calc. m_data idx per interface so inheritance works, sigh. * test/everything/everything.idl: inherit StructServer from BasicServer to regression test method layout under inheritance. * test/everything/structServer.c (StructServer_vepv): upd. 2001-06-26 Michael Meeks * src/orb/GIOP/giop-connection.c (giop_connection_handle_input): unuse the incoming message off the cnx list as we handle it. * src/orb/orb-core/corba-orb.c (CORBA_ORB_run): just do a g_main_loop_run 2001-06-25 Mark McLoughlin * test/poa/.cvsignore: added. 2001-06-25 Mark McLoughlin * test/poa/*: import. * configure.in, test/Makefile.am: add poa. 2001-06-25 Mark McLoughlin * include/orbit/poa/poa-types.h, src/idl-compiler/orbit-idl-c-skels.c, src/orb/poa/poa-servants.c, src/orb/poa/poa.c : make MULT_ID work by having a list of POAObjects in the servant's '_private' member. 2001-06-25 Mark McLoughlin * include/orbit/poa/poa.h: add string_to_ObjectId etc. * src/orb/poa/poa.c: make root POA have non default IMPLICIT_ACTIVATION policy. 2001-06-25 Michael Meeks * src/orb/dynamic/dynany.c (CORBA_sequence_DynamicAny_NameValuePair_allocbuf), (CORBA_sequence_DynamicAny_NameValuePair__alloc): impl. 2001-06-25 Martin Baulig * src/orb/dynamic/dynany.c (DynamicAny_DynStruct_set_members), (DynamicAny_DynStruct_get_members): copy from ORBit-martin-forked. 2001-06-25 Michael Meeks * test/echo-server.c (main): remove hack. * src/orb/orb-core/corba-orb.c (idle_fn), (ORBit_ORB_idle_init): kill ugly hack. 2001-06-25 Martin Baulig * src/orb/orb-core/corba-object.c: add include. * src/orb/GIOP/giop-connection.c (giop_connection_handle_input): handle request as it finished coming in. 2001-06-23 Martin Baulig * configure.in: Don't output the .pc files twice. * src/idl-compiler/Makefile.am: s/libIDL.la/libIDL-2.la/g. * test/inhibit/Makefile.am: Removed $(IDLOUT), test_any_built and $(TEST_ANY_IDLOUT) so this actually works. 2001-06-19 Michael Meeks * src/idl-compiler/orbit-idl-c-stubs.c (cs_small_output_stub): output pre / post call code even for small stubs / skels. * include/orbit/poa/poa-types.h: remove redundant type defines. 2001-06-19 Michael Meeks * src/orb/util/genrand.c (genrand_unix): if ORBIT_PURIFY don't use bits of uninitialized stack. 2001-06-18 Erik Walthinsen * ORBit-2.0.pc.in, ORBit-CosNaming-2.0.pc.in: brought in from ORBit-martin-forked. * .cvsignore, Makefile.am, configure.in: added necessary lines for above .pc files to be created/installed. 2001-06-19 Mark McLoughlin * src/orb/include/Makefile.am: use --oldstyle * src/orb/dynamic/Makefile.am: fix build. * src/orb/poa/Makefile.am: fix build. * test/Makefile.am: Fix build, kill -lefence. 2001-05-30 Michael Meeks * src/orb/orb-core/Makefile.am: simplify makefile ugliness. * test/Makefile.am (echo_built): fix recursive build issue. 2001-05-30 Michael Meeks * src/orb/GIOP/giop-connection.c (giop_connection_initiate): only ref the connection if we didn't just destroy it. 2001-05-30 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_stub): don't do an alloca (0), just use &obj - this points to the stack in a safer, quicker and cleaner way. 2001-05-30 Michael Meeks * src/orb/dynamic/dynany.c (dynany_sequence_realloc_to): only copy old_len elements from the old buffer. 2001-05-30 Michael Meeks * src/orb/dynamic/dynany.c: Port from ORBit-stable. * src/orb/orb-core/allocators.c (ORBit_free): use ORBit_free internaly not CORBA_free to clean stack traces. * src/orb/orb-core/corba-any.c (CORBA_any__freekids): ditto & accelerate. * src/orb/orb-core/corba-orb.c (CORBA_ORB_set_initial_reference): fix g_hash_table manipulation leak / bug. 2001-05-29 Michael Meeks * src/orb/dynamic/Makefile.am: install dynamic-defs.h in the right place ... * src/orb/orb-core/corba-typecode.c: add long_double TC def. * src/idl-compiler/orbit-idl-c-headers.c (ch_type_alloc_and_tc): fixup emmission of __allocbuf as well as __alloc for sequences. * include/orbit/orb-core/corba-typecode.h: declare. TC_CORBA_long_double_struct and TC_CORBA_wstring_struct. * src/orb/orb-core/corba-any.c (CORBA_any__copy): constipate. * include/orbit/dynamic/dynamic.h: upd. * include/orbit/orbit.h: add dynamic.h * src/orb/dynamic/Makefile.am: add dynany.c 2001-05-25 Michael Meeks * src/orb/poa/Makefile.am (runidl_poa): install poa-defs into the correct directory, fixup the include brokenness. (POA_IDLOUT): add poa-defs.h - doh. * src/idl-compiler/orbit-idl-c-headers.c (ch_output_interface): output TC_ #defines even for PIDL types. * src/idl-compiler/orbit-idl-c-common.c (build_marshal_funcs): only output marshalers if we need to. (cc_output_tc_walker): Output typecode information for PIDL types - why not, might help automated language bindings to the PIDL. 2001-05-25 Michael Meeks * src/orb/orb-core/orbit-small.c (dump): print in-buffer offsets as well as the data. * src/orb/orb-core/corba-typecode.c (tc_dec_tk_except): decode sub_parts sub-types not length. (tc_enc_tk_except): ditto for encode. (tc_enc): use the buffer length in the message header instead of the current_idx, since we now marshal straight into a single buffer without the encaps cruft. (tc_dec): fix the recursive arithmetic, make it remember to duplicate the recursive typecode references. * src/orb/orb-core/corba-any.c (ORBit_demarshal_value): duplicate the correct pointer. * src/orb/orb-core/orbit-small.c (ORBit_small_alloc): re-write to memset 0 the returned memory. * src/orb/orb-core/corba-any.c (CORBA_any__freekids): release the typecode pointer as well. * src/idl-compiler/orbit-idl-c-common.c (cc_alloc_prep): pass rinfo around. 2001-05-25 Michael Meeks * src/orb/orb-core/corba-context.c (CORBA_Context_set_one_value): remove the hash table value, so we don't screw up the key allocation. 2001-05-24 Michael Meeks * src/orb/GIOP/giop-connection.c (giop_connection_initiate): reference the connection before returning it, if it wasn't looked up in the list. (giop_connection_remove_by_orb): fix serious brokenness. (giop_connection_close): publicise. (giop_connection_shutdown): remove the connection from the connection list. (giop_connection_unref): remove last unref sillies. * src/orb/orb-core/corba-object.c (g_CORBA_Object_equal): uglify, we need to be able to scan for MULTIPLE_COMPONENTS profiles in order to do the GIOP profile comparison (get_mci): impl helper. (IOP_Profile_equal): similarly uglify. (CORBA_Object_release_cb): close the connection and unref it. * src/orb/poa/poa.c (ORBit_POA_oid_to_ref): set the profile_type on the iiop profile. * src/orb/orb-core/corba-object.c (ORBit_objref_new): actualy insert new object references into the objrefs hash. (IOP_Profile_dump): impl. 2001-05-24 Michael Meeks * src/orb/orb-core/corba-object.c (CORBA_Object_release_cb): only unref the connection if it is valid. (IOP_Profile_equal): re-order compares to accelerate & warn on unknown profile. * src/orb/GIOP/giop-connection.c (giop_connection_list_add): re-privatize. * src/orb/GIOP/giop-server.c (giop_server_handle_new_connection): remove - was broken. * src/orb/GIOP/giop-recv-buffer.c (giop_recv_buffer_data_read): kill warning. * src/orb/GIOP/giop-connection.c (giop_connection_handle_input): if we return FALSE set the source tag to 0, since on return it is removed. (giop_connection_real_state_changed): add some source management assertions. (giop_connection_destroy): rename to (giop_connection_shutdown): this. 2001-05-20 Michael Meeks * src/orb/orb-core/corba-object.c (CORBA_Object_release_cb): remove bypass_obj unref, hmm. 2001-05-20 Michael Meeks * src/orb/orb-core/corba-orb.c (ORBit_ORB_idle_init, idle_fn): FIXME these suck. * src/orb/GIOP/giop-recv-buffer.c (giop_recv_buffer_use_noblock): impl. 2001-05-19 Michael Meeks * src/idl-compiler/orbit-idl-c-headers.c (orbit_idl_output_c_headers): re-order. 2001-05-19 Michael Meeks * src/orb/poa/poa.c (ORBit_POA_free_fn): free the poa's name and key buffer. * src/orb/orb-core/corba-orb.c (CORBA_ORB_release_fn): free the initial refs hash. 2001-05-18 Martin Baulig * ORBit-2.0.pc.in (Cflags): Added `-DORBIT2=1'. 2001-05-18 Martin Baulig * ORBit-2.0.pc.in: Use `ORBit-2.0' as package name. * ORBit-CosNaming-2.0.pc.in: Use `ORBit-CosNaming-2.0' as name. * Makefile.am: Install the .pc files. * src/orb/orb-core/Makefile.am: Added explicit dependency `$(top_builddir)/include/orbit/orb-core/orbit-interface.h: runidl_iface'. 2001-05-19 Michael Meeks * src/orb/orb-core/corba-any.c (ORBit_demarshal_value): set _release = TRUE for sequences. 2001-05-18 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_poa): fix more stupid leaks. 2001-05-18 Michael Meeks * src/orb/orb-core/corba-object.c (IOP_TAG_ORBIT_SPECIFIC_demarshal): allocate the correct buffer size for the sock_path. (IOP_Profile_equal): fix bug in GIOP compare, and compare on host for IOP, impl for ORBIT_SPECIFIC and re-order to accelerate. (IOP_ObjectKey_equal): split out. (IOP_TAG_ORBIT_SPECIFIC_free): don't double free the profile itself. * src/orb/poa/poa.c (ORBit_POA_oid_to_ref): put the osi profile on the profile list, and do this later, to ensure that the ORBit specific profile is later than the GIOP profile. * test/everything/server.c (create_object): free the object id... * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_poa): fix misc. leaks. * src/orb/orb-core/corba-context.c (CORBA_Context_get_values): remove redundant call to create_list. 2001-05-18 Michael Meeks * src/orb/GIOP/giop-server.c (giop_server_handle_new_connection): impl. (giop_server_class_init): hook it up. * src/orb/orb-core/corba-orb.c (CORBA_ORB_run): unuse reliably here. * src/orb/poa/poa.c (ORBit_handle_request): remove the unuse. * src/orb/orb-core/corba-context.c (CORBA_Context_new): fix leak. 2001-05-18 Michael Meeks * src/orb/poa/poa.c (PortableServer_POA_find_POA): bugfix. (ORBit_POA_is_inuse): * src/orb/orb-core/corba-orb.c (CORBA_ORB_init): duplicate the ORB before returning it. * src/orb/orb-core/corba-object.c (ORBit_delete_profiles): upd. (ORBit_handle_location_forward, ORBit_demarshal_IOR): upd. (CORBA_Object_release_cb): finish. (ORBit_objref_find): fix leak. 2001-05-18 Michael Meeks * src/orb/orb-core/corba-typecode.c (tc_dec): remove broken ref set to 1. 2001-05-17 Michael Meeks * src/orb/orb-core/corba-object.c (ORBit_profile_free): actualy free the sub-profiles. (IOP_TAG_INTERNET_IOP_free, IOP_TAG_GENERIC_IOP_free), (IOP_TAG_MULTIPLE_COMPONENTS_free, IOP_TAG_ORBIT_SPECIFIC_free): impl. * src/orb/GIOP/giop-recv-buffer.c (giop_IOP_ServiceContextList_free): impl. (giop_recv_buffer_unuse): use it. * src/orb/orb-core/corba-typecode.c (tc_dec): unuse the encapsulated buffer after creation. 2001-05-17 Michael Meeks * src/orb/orb-core/corba-context.c (ORBit_Context_demarshal): move buf->cur over the length to point at the value. * src/orb/orb-core/corba-orb.c (CORBA_ORB_create_list): impl. * src/orb/orb-core/corba-typecode.c (tc_dec_tk_sequence), (tc_dec_tk_alias, tc_dec_tk_array): set sub_parts to 1. (tc_dec): set ref count to 1. * src/orb/orb-core/corba-any.c (ORBit_marshal_value), (ORBit_demarshal_value): Make TypeCode indirection consistant with CORBA_Object indirection [ and in fact all other types ] - they are both Pseudo-objects. * src/orb/orb-core/corba-typecode.c (tc_dec): hack. * src/orb/orb-core/corba-env.c (ORBit_send_user_exception): fixup. 2001-05-16 Michael Meeks * src/orb/orb-core/orbit-small.c (ORBit_small_invoke_skel): impl. 2001-05-16 Michael Meeks * src/orb/orb-core/corba-object.c (CORBA_Object_non_existent): reverse polarity. * src/orb/orb-core/orbit-small.c (ORBit_small_allocbuf): fix silly allocbuf bug. * test/everything/client.c: #include yet another .c file - yuck. * test/everything/server.c: kugly #ifdef hacks. 2001-05-14 Michael Meeks * src/orb/orb-core/corba-object.c (CORBA_Object_non_existent): fix. * configure.in: add pkgconfig bits. 2001-05-12 Michael Meeks * src/orb/orb-core/orbit-small.c: impl. context code. 2001-05-11 Michael Meeks * src/orb/orb-core/corba-any.c (ORBit_demarshal_value): don't try to de-marshal a _maximum that isn't there. 2001-05-10 Michael Meeks * src/idl-compiler/orbit-idl-c-utils.c (orbit_cbe_write_param_typespec_str): split from (orbit_cbe_write_param_typespec_raw): here. (cs_small_unflatten_ref, cbe_small_unflatten_args): impl. * include/orbit/poa/poa-types.h: add ORBit_small_impl_finder, add ORBitSmallSkeleton. 2001-05-09 Michael Meeks * test/everything/Makefile.am: remove ugly hack. 2001-05-08 Michael Meeks * src/idl-compiler/orbit-idl-c-skels.c (ck_output_small_skel): impl. * src/idl-compiler/orbit-idl-c-utils.c (cs_small_flatten_ref, cbe_small_output_args): move here from orbit-idl-c-stubs.c * src/idl-compiler/orbit-idl-c-skels.c (cbe_skel_interface_print_relayers), (cbe_skel_interface_print_relayer): make small variants like to change sig to have const char *method, but needs poa work... perhaps expand the PortableServer_ClassInfo struct with a more sensible option ? / put it on the object. * src/idl-compiler/orbit-idl-c-stubs.c (orbit_cbe_param_printptrs): unused - kill. 2001-05-05 Michael Meeks * src/idl-compiler/orbit-idl-c-headers.c (orbit_idl_output_c_headers): upd. (ch_output_itypes, ch_output_itype): impl. * src/idl-compiler/orbit-idl-c-stubs.c (orbit_idl_output_c_stubs): upd. (cs_small_output_stubs, cs_small_flatten_ref), (cs_small_output_args, cs_small_output_small_stub): impl. * src/orb/orb-core/corba-any.c (ORBit_demarshal_value), (ORBit_marshal_value): publicise. * src/idl-compiler/orbit-idl-c-common.c (cc_small_output_itypes, cc_small_output_itype): add. 2001-05-04 Michael Meeks * include/orbit/orb-core/allocators.h (ORBit_freekids_via_TypeCode): publicize. * src/idl-compiler/orbit-idl-c-common.c: don't dump any allocs if we are in small mode. * src/idl-compiler/orbit-idl-c-utils.c (orbit_cbe_get_typecode_name): add. * include/orbit/orb-core/orb-core.h: add orbit-small.h * src/idl-compiler/orbit-idl-c-headers.c (ch_output_type_enum): (ch_output_interface, ch_output_type_dcl, ch_output_type_struct), (ch_output_type_union, ch_prep_fixed, ch_prep_sequence): pass rinfo around so we can get at the 'small' flag. (ch_prep): upd. * src/idl-compiler/orbit-idl-main.c (main): add arg '--small' 2001-05-04 Michael Meeks * test/everything/*: import & port. * src/orb/orb-core/corba-any.c (ORBit_any_equivalent), copy straight from ORBit stable - no mods. (ORBit_value_equivalent): ditto + add scratch to union_tag handling. (ORBit_copy_value_core): fix bug in CORBA_tk_union handling * src/orb/orb-core/corba-typecode.c (CORBA_TypeCode_equal): copy straight from ORBit stable - no mods. * test/Makefile.am (SUBDIRS): add 'everything' * src/idl-compiler/orbit-idl-c-common.c (orbit_idl_output_c_common): setup ORBit_zero_int as a static local. * include/orbit/orb-core/allocators.h (CORBA_sequence_get_release): define CORBA_sequence_get_release * src/idl-compiler/orbit-idl-c-skels.c: add G_GNUC_UNUSED attribute to some potentialy unused bits. * src/idl-compiler/orbit-idl-c-stubs.c add G_GNUC_UNUSED attribute to some potentialy unused bits. (cs_output_stub): always generate _ORBIT_demarshal_error. * src/orb/orb-core/corba-any.c (CORBA_any_get_release): impl. * test/everything/Makefile.am: update.