Kevin -
I use Xerces-C on VxWorks and it seems the obvious solution is to do what I
do... never call Terminate().  If indeed you think you may want to later
(before a reboot) use Xerces, then don't call Terminate().  It's not all
that difficult to make sure that Initialize() is only invoked one time.

-- Bob Vaughn
Telestream, Inc.

-----Original Message-----
From: Kevin Livingston [mailto:[EMAIL PROTECTED]]
Sent: Friday, April 27, 2001 2:08 PM
To: [EMAIL PROTECTED]
Subject: cleanup etc.


Hello all,

I was able to further my quest in obtaining an implementation of Xerces-C
for VxWorks (thanks to Johannes at CERN) I have downloaded CERN's port and
things seem to be functioning fairly well.  Thanks again Johannes.

Interestingly enough, as many programers new to Xerces have found out just
like I have, multiple calls to Initialize() and Terminate() cause problems-
now don't bash me just yet, or delete this, I think this is a new question
(I looked in the archive - if it's there then you can bash me but I couldn't
find it)

but anyway it appears as if due to the way things are implemented with
Xerces once you call Terminate() you are done for that process as far as
using Xerces goes, and  you won't be able to use it again. OK I understand
that....

Now, on VxWorks the way the OS works is (and I'll do as good as I can here,
I'm not a guru) that it is multi-threaded, however everything is in shared
memory space. SO... basically that makes it work like one big process that
has the life of the box, and when it is rebooted/reloaded the process is
unloaded.  On Vx you load your code into memory and then just make the
correct refrences.  For example the "prompt"/"shell" is really just like
writing code where in when you write the line, that line is run at that
moment.  So you make function calls etc. from the "shell" instead of
"running" executables or programs
anyways, hopefully I explained that reasonably well...
So now the way I understand it is that I have no way to clean up Xerces and
then later reuse it, without totally reloading/rebooting my board.  Because
even in a new "program" if you will I am still in the same memory space /
"process space" and thus susceptable to the Init/Terminate thing.

Hopefully that makes sense - I am notoriously good at knowing what I want to
say but not being able to articulate it well.

Does any one have any thoughts on this?  Or what people on platforms like Vx
should do in such a situation. (if I am not mistaken this might be close to
the load/unload problem with DLL's in windows? again I am not a guru on that
either.)

thanks again for all your input and help,
Kevin


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to