From 652b8a3003aff05a2416339430bac43d9d36d025 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 15 Apr 2005 09:34:04 +0000 Subject: ChangeLogTag: Fri Apr 14 09:33:12 UTC 2005 Martin Corino --- ACE-INSTALL.html | 40 +++++++++++++++++++++++++++++++++++----- ChangeLog | 5 +++++ 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/ACE-INSTALL.html b/ACE-INSTALL.html index 83831a59ba8..d1616f78ce0 100644 --- a/ACE-INSTALL.html +++ b/ACE-INSTALL.html @@ -612,6 +612,12 @@ global.features file. #define ACE_HAS_IP_MULTICAST to your ace/config.h.

+ NOTE: In order for the ACE Broadcast and Multicast tests to work the VxWorks kernel + should receive the packages it sends out locally. By default this is not supported. + To enable this behaviour you need to include the IFF_SIMPLEX flag for your required + NIC driver. See the following Windriver SPR 4542 + for more information.

+ In addition to all of the other benefits of ACE, it helps work around some deficiencies with VxWorks. The problems are:

@@ -1921,15 +1927,39 @@ without spawning another thread by using:

spaef ace_main, "arg1" [, ...] -Be aware of the fact that when you execute ace_main that argc -will be zero and argv* will also be zero. Using argv[0] will then not return -the program name, but will result in a crash.

+ACE also provides the function vx_execae which is capable of running +ace_main in a separate thread, wait for the task to finish and return +the return code from ace_main: + +

+int vx_execae (FUNCPTR acemain,char* arguments, int prio = 0, int opt = 0, int stacksz = 0);
+
+

+You could call this from the VxWorks shell like: +

+

+my_rc = vx_execae ace_main, "-o server.ior -ORBDottedDecimalAddresses 1"
+

+ +When prio, opt or stacksz are omitted or specified +as 0 default values will be used. See the VxWorks shell documentation for the +defaults for prio and opt. For stacksz the default is +ACE_NEEDS_HUGE_THREAD_STACKSIZE. +The arguments string will be parsed and passed on to ace_main as +a regular argc and argv.

+ +Be aware of the fact that when you execute ace_main directly from the VxWorks +shell argc will be zero and argv* will also be zero. Using argv[0] will not return +the program name, but will result in a crash.
+The ACE helper functions spa, spaef and vx_execae prevent +this problem by building a regular argc and argv which also contain a +valid argv[0] element.

Building Shared Libraries for VxWorks.
NOTE: Since VxWorks support is currently being reworked with an initial focus on static builds the support for shared builds is momentarily -broken. This will be remedied(!) as soon as possible. +broken. This will be remedied(!) as soon as possible.

ACE supports shared libraries for VxWorks, but only with the g++ compiler. To build shared libraries instead of the default static @@ -1937,7 +1967,7 @@ libraries, added shared_libs=1 (not shared_libs_only=1) to either your ACE_wrappers/include/makeinclude/platform_macros.GNU or your make invocation. Then, be sure to load the ACE (and -any other) shared library before loading your executable(s).

+any other) shared library before loading your executable(s).

A shared library for VxWorks uses the same code as for a static (non-shared) library. However, calls to static constructors/ diff --git a/ChangeLog b/ChangeLog index 5abdbf3e029..a155dc96149 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Apr 14 09:33:12 UTC 2005 Martin Corino + + * ACE_INSTALL.html: + Some updates concerning VxWorks support. + Thu Apr 14 23:35:57 2005 Ossama Othman * ace/Timeprobe.h: -- cgit v1.2.1