Development Log in categories PolyORB

  • PolyORB
    Mar 13th, 2015

    gnatdist now uses gprbuild by default
    The gnatdist partitioning tool will now use gprbuild by default to build partitions, if that tool is available. You can force the use of gnatmake using debugging switch -dM.

  • PolyORB
    Oct 13th, 2014

    Extend fast-path CDR marshalling to nested arrays
    The fast-path CDR marsahlling circuitry, allowing efficient marshalling of common aggregates such as arrays of bytes or integers, has been extended to the case of nested arrays.

  • PolyORB
    Sep 23rd, 2014

    Lifted limitations on IAC command line
    IAC used to support only 64 preprocessor arguments, and 64 search path elements at most. Both limitations have been removed.

  • PolyORB
    Sep 6th, 2014

    Changed preference order for Ada compiler
    When looking for an Ada compiler, the PolyORB configure scripts now favor "gcc" over "gnatgcc" or "adagcc". The default Ada compiler can always be overridden at configure time using the "ADA" environment variable.

  • PolyORB
    Jan 13th, 2014

    Use standard initial reference for name service
    PolyORB.CORBA_P.Naming_Tools now first looks up the name server using the standard "NameService" initial reference key. The legcay implementation defined "NamingService" key is used as a fallback.

  • PolyORB
    May 16th, 2013

    Macros in configuration file
    A macro expansion system is now provided for PolyORB runtime configuration parameters, when PolyORB is compiled with GNATCOLL.

  • PolyORB
    May 13th, 2013

    Use host name instead of IP address in CORBA IORs
    IIOP listening endpoint addresses can now be specified to be published by host name (rather than by IP address) in IORs.

  • PolyORB
    Mar 15th, 2013

    DSA application without name server
    Facilities are now provided to override the location of RCI units using run-time configuration parameters (from configuration file, command line, or environment variables). When all RCI locations are provided through configuration, the DSA name server can be disabled altogether, by specifying "None" as the name server type in the gnatdist configuration.

  • PolyORB
    Mar 15th, 2013

    Executable name in traces
    The name of the executable can now optionally be included in trace messages logged to standard error. This feature is enabled by setting "exe_name=true" in section [log] of the PolyORB configuration.

  • PolyORB
    Jan 23rd, 2013

    Performance improvements for unions
    Several adjustments have been made to the circuitry that handles the marshalling and unmarshalling of aggregates, and in particular unions with enum discriminant. This results in a significant performance improvement when handling such data.

  • PolyORB
    Jan 17th, 2013

    Shared libraries build
    PolyORB can now be built as a set of shared libraries using configure switches "--with-gprbuild --enable-shared".

  • PolyORB
    Dec 21st, 2012

    Make predefined packages compatible with UTF-8
    IAC generates pragma Wide_Character_Encoding to allow usage of prodefined CORBA packages in code with different encoding.

  • PolyORB
    Feb 1st, 2012

    Process ids in traces
    Process IDs can now optionally be included in trace messages logged to standard error. This feature is enabled by setting "pid=true" in section [log] of the PolyORB configuration.

  • PolyORB
    Feb 1st, 2012

    Process ids in traces
    Process IDs can now optionally be included in trace messages logged to standard error. This feature is enabled by setting "pid=true" in section [log] of the PolyORB configuration.

  • PolyORB
    Jan 4th, 2012

    Switch to GPL version 3
    PolyORB is now licensed under the terms of the GPL version 3.

  • PolyORB
    Jan 4th, 2012

    Switch to GPL version 3
    PolyORB is now licensed under the terms of the GPL version 3.

  • PolyORB
    Oct 26th, 2011

    Support for Self_Location / Boot_Location
    Support for pragmas Boot_Location and Self_Location in the po_gnatdist configuration file, and for boot_location and self_location runtime parameters, has been implemented. These allow the specification of the host and port used by a partition (self_location) and by the main partition (boot_location). Gnatdist configuration example:

      pragma Boot_Location ("tcp", "myhost:1234");
    
    
    Equivalent polyorb.conf setting:
      [dsa]
      boot_location=tcp://myhost:1234
    

  • PolyORB
    Oct 12th, 2011

    Removed dependency of “install” on “all”
    The "install" target in the main PolyORB Makefile has no dependency on "all" anymore, which avoids a costly recheck of dependencies. (As a result, the "all" target must now be built explicitly prior to "make install".)

  • PolyORB
    Sep 24th, 2011

    Source included in iac output
    The IAC compiler now includes the IDL source code (commented out) in the Ada stubs package spec, for convenient reference.

  • PolyORB
    Sep 22nd, 2011

    Well known oid for embedded nameserver
    When building a DSA application with embedded name server, the name server is now registered on its partition with a fixed, well-known object identifier ("_NameService") so that an object reference that designates it can be constructed knowing just the host name and port number of the main partition.

  • PolyORB
    Sep 19th, 2011

    Improved installation script
    The PolyORB Makefiles do not rely on xargs(1) and install(1). Instead, installation is performed by an equivalent Python script, which avoids spawning a lot of processes.

  • PolyORB
    Sep 9th, 2011

    Exceptions tracing
    A new debugging trace is now available that logs a message for every exception raised in a partition (using GNAT.Exception_Actions).

  • PolyORB
    Sep 6th, 2011

    Support for new IDL pragmas
    IAC implements support for new IDL pragmas defined in version 1.3 of the CORBA/Ada mapping: subtype, derived, and range. It also includes support for implementation defined pragma switchname, compatible with the GNACK IDL compiler, to help in transitioning legacy Ada code to CORBA.

  • PolyORB
    Aug 29th, 2011

    Improve behaviour in tasking intensive context
    Taking advantage of a new feature in the GNAT runtime library, a performance bottleneck has been removed in the PolyORB full tasking profile. This significantly improves performance in situations where a large number of tasks need to be created and destroyed.

  • PolyORB
    Mar 28th, 2011

    IDLAC is obsoleted
    The legacy IDL to Ada compiler, idlac, is obsoleted. Users should switch to iac, which has been the default since 2008.

  • PolyORB
    Dec 23rd, 2010

    Support for partition-wide RPC timeout setting
    A new runtime parameter rpc_timeout in section [dsa] specifies a global timeout (in milliseconds) to be applied to all remote subprogram calls.

  • PolyORB
    Oct 26th, 2010

    Support for additional configuration pragmas
    A new configure command line switch --enable-conf-pragmas is provided, which allows the user to specify then name of an additional configuration pragmas file to be used when compiling the PolyORB runtime library, for example containing some application-mandated Restrictions pragmas.

  • PolyORB
    Sep 3rd, 2010

    Abortable RPC
    Remote subprogram calls can now safely be aborted using asynchronous transfer of control. The abortion is notified to the server, and an attempt is made to cancel the server side execution of the call.

  • PolyORB
    Aug 31st, 2010

    DSA starter does not depend on Bourne shell
    The generated Ada and shell starters for DSA applications do not require the remote node to provide a Bourne shell anymore.

  • PolyORB
    Jul 28th, 2010

    Time stamps in traces
    Time stamps can now optionally be generated for trace messages logged to standard error. This feature is enabled by setting "timestamp=true" in section [log] of the PolyORB configuration.

  • PolyORB
    May 12th, 2010

    po_gnatdist reports Name_Server setting
    If a pragma Name_Server is given in the configuration file, po_gnatdist reports this information in its output.

  • PolyORB
    Apr 27th, 2010

    Better selection of local IP address
    PolyORB now tries to avoid using a loopback address when creating profiles designating local listening sockets, so that the generated IORs or URLs are valid beyond the local host.

  • PolyORB
    Mar 11th, 2010

    Use minimal perfect hash functions
    The Ada code generated by iac now uses minimal perfect hash functions rather than cascading 'if' statements in the Skel. This is a speed improvement, especially when there are a large number of methods.

  • PolyORB
    Feb 27th, 2010

    Allow CORBA.Any to be used at library level
    Objects of CORBA.Any type can be declared at library level now, and be elaborated before initialization of ORB.

  • PolyORB
    Jan 13th, 2010

    Allow child library procedure as partition mains
    A child library procedure can now be used as the main subprogram of a partition (this was not previously supported).

  • PolyORB
    Dec 23rd, 2009

    Disable style checks in po_gnatdist generated files
    Style checks are now turned off for source files generated by po_gnatdist to avoid spurious messages if user enables such checks from the command line using -gnaty.

  • PolyORB
    Dec 17th, 2009

    Renamed PolyORB project files
    The project files distributed with PolyORB have been renamed to include a "polyorb_" prefix, to avoid clashes with user project files.

  • PolyORB
    Dec 4th, 2009

    Embedded name server for DSA applications
    A small embedded name server can be optionally integrated in the main partition of a DSA application, to remove the requirement for a separate name server. This is achieved using pragma Name_Server (Embedded). Note that this currently also requires pragma Starter (Ada).

  • PolyORB
    Nov 13th, 2009

    Use atomic builtins for reference counting
    Atomic increment and decrement operations are now used for reference counting within the PolyORB runtime, instead of mutex-protected counters, on platforms where such operations are supported by GCC. This affords improved performances when using tasking on these platforms.

  • PolyORB
    Nov 9th, 2009

    New pre-packaged setup for threaded clients
    A new pre-packaged setup package PolyORB.Setup.Thread_Pool_Client is now provided for client partitions that require tasking support.

  • PolyORB
    May 12th, 2009

    Identify originating partition in exceptions
    When using the Ada DSA applicative personality, partition id information is now appended to exception messages to help identifying which partition raised the exception, and how it was propagated across partitions.

  • PolyORB
    Apr 14th, 2009

    Performance of neutral and protocol layers
    The performance of the neutral and protocol layers has been improved significantly by guarding some costly and seldom useful debugging traces with appropriate configuration knobs, and by rewriting the management routines for some internal data structures to avoid repeated memory allocations and deallocations.

  • PolyORB
    Feb 12th, 2009

    Improved handling of unbounded string arguments
    When using the Ada DSA applicative personality, remote calls involving arguments of type Ada.Strings.Unbounded.Unbounded_String now use the native PolyORB string type, providing better performance. Note that the PCS API has been updated, and this requires a corresponding compiler update.

  • PolyORB
    Oct 21st, 2008

    Static libs installed in PolyORB-specific subdir
    The PolyORB libraries are now installed in $prefix/lib/polyorb/static instead of directly under $prefix/lib to avoid unwanted interactions caused by command line options generated by polyorb-config or the installed PolyORB project files.

  • PolyORB
    Sep 24th, 2008

    Operation names conflict resolution rules
    Additional name conflict resolution rules are now implemented for operation names that conflict with the primitive operations of Ada.Finalization. Controlled (of which CORBA.Object.Ref is a derived type) are now implemented in the PolyORB OMG IDL compiler, IAC. Operation names "Initialize", "Adjust" and "Finalize" are now prefixed with string "IDL_" in generated sources.

  • PolyORB
    Aug 11th, 2008

    Fast path CDR marshalling
    The CDR module now takes advantage of the fact that some common aggregate types (arrays and sequences of characters, octets and integers) have a memory representation that is identical to the CDR representation to transmit and decode them efficiently. This new feature is enabled by default but can be turned off by setting enable_fast_path to FALSE in the [cdr] section of the PolyORB configuration.

  • PolyORB
    Jul 9th, 2008

    New IAC command line switch -nocpp
    A new command line switch "-nocpp" is supported by IAC, indicating that the input file has already been preprocessed, and should not be preprocessed again.

  • PolyORB
    Jul 9th, 2008

    Better detection of conflicting middleware setups
    Middleware setups that include more than one ORB tasking policy or more than one ORB controller are now detected at initialization time and cause an exception to be raised instead of silently proceeding with execution of the inconsistent partition.

  • PolyORB
    Jun 18th, 2008

    IAC generates NOT NULL constraints in impl
    When generating implementation templates, the IDL to Ada compiler, IAC, now generates explicit NOT NULL constraints for the Self formal parameter of primitive operations. This allows the use of subprogram renaming declarations as the bodies of such primitive operations when operating in Ada 2005 mode.

  • PolyORB
    May 21st, 2008

    Debug_Policy is now enabled by default
    Configuration pragma Debug_Policy is now set to Check by default in all PolyORB builds, to allow the user to obtain debugging traces under control of the run-time configuration. Two new configure command line switches are provided (--enable-assertion-policy and --enable-debug-policy) which allow the user to override these two policies.

   1  2     Next »