Newbie : Garbage Collection of Sequences (Server Side)


I'm very new to CORBA and am using Orbit with the C mappings. 

I'm trying to write a CORBA server which returns a large sequence of strings 
to the client.  I don't know before hand how large the sequence will be so I 
am using a unbounded sequence

The problem I'm having is that once  I've returned the sequence, I don't know 
how get the server to free up the memory allocated to the sequence, which 
results in large memory leakage. 

Where do I put the the clean up code and how do I invoke it?


P.S. The code I'm using is something like this:-

The  function get_StringSequence returns a sequence of strings

IDL file:-

interface FOO{

typedef sequence<string> stringlist;

stringlist get_StringSequence();



an example of the code for the server implementation of the function 
get_StringSequence  is as follows


CORBA_sequence_CORBA_string *
get_StringSequence(PortableServer_Servant servant,CORBA_Environment *ev)
         int count;
         CORBA_sequence_CORBA_string *sequence;

               sequence->_buffer[count] = CORBA_string_dup ("Hello World\n");
         return sequence;        

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]