From 652b8a3003aff05a2416339430bac43d9d36d025 Mon Sep 17 00:00:00 2001
From: Johnny Willemsen #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.
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.
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