I am posting here in the hope that someone will be able to give me a hand with something. I am having some CORBA-related issues within a client-server application. The program uses ORBexpress. Both client and server reside on the same machine (don't ask why). There is a program that runs one level above this which manages reading the executable into memory and starts/reloads it as needed.
When the server is restarted, it is re-read into memory. It then proceeds to do an orb_var = orb_init(<params>) and loads correctly.
When the client is restarted, it is not re-read into memory. Its destructor/constructor are called and the process is restarted.
Here's my problem. When the client restarts and does an orb_var = orb_init(<params>), the value for orb_var is the same as what it was when I first loaded. Upon doing a bind, I get back NULL. I think this is because when the server does an orb_init it restarts the orb, but the old reference that the client retrieves causes the bind to fail?? Is there a way to clean up the orb so that the call to orb_init will return the new reference and allow the bind call to succeed. Any ideas would be greatly appreciated.
When the server is restarted, it is re-read into memory. It then proceeds to do an orb_var = orb_init(<params>) and loads correctly.
When the client is restarted, it is not re-read into memory. Its destructor/constructor are called and the process is restarted.
Here's my problem. When the client restarts and does an orb_var = orb_init(<params>), the value for orb_var is the same as what it was when I first loaded. Upon doing a bind, I get back NULL. I think this is because when the server does an orb_init it restarts the orb, but the old reference that the client retrieves causes the bind to fail?? Is there a way to clean up the orb so that the call to orb_init will return the new reference and allow the bind call to succeed. Any ideas would be greatly appreciated.