Sequence being released?



Heya,

I'm sure this must be an FAQ by now, but I couldn't find much in the
archives...

I have a server-side sequence, which is a list of objects. This should
remain in the server after being returned to clients.
I allocate my sequence when the server initializes, as:

    devices = CORBA_sequence_RMP_Device__alloc();
    devices->_buffer = CORBA_sequence_RMP_Device_allocbuf(DEVICE_MAX);
    devices->_length = 0;
    devices->_maximum = DEVICE_MAX;
    devices->_release = FALSE;

Then, populate the sequence with data.
Then, in one of my methods I return the sequence to the client:
    CORBA_sequence_set_release(devices, FALSE);
    return devices;

However, on the second call to this method, the _buffer variable is NULL.
I've tried different ways of allocating the sequence, using the CORBA calls,
and malloc and such, but it seems to me that ORBit is ignoring the _release
flag and freeing the buffer anyway.

Can anyone shed any light on this? What should I be doing differently for
this to work?

Cheers,
Chris.




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