next up previous contents
Next: Synchronous data transfers Up: The DAGDA API Previous: The DAGDA API   Contents

Note on the memory management

On the SeD side, DAGDA and the SeD share the same data pointers, that means that if the pointer is a local variable reference, when DAGDA will use the data, it will read an unallocated variable. The users should allways allocate the data with a ``malloc''/``calloc'' or ``new'' call on the SeD and agent sides. Because DAGDA takes the control of the data pointer, there is no risk of memory leak even if the service allocate a new pointer at each call. The data lifetime is managed by DAGDA and the data will be freed according to its persistence mode.

On the SeD and agent sides, DAGDA takes the control of the data pointers. To free a data may cause major bugs which could be very hard to find. The users could only free a DIET data on the client side after the end of a transfer.

The DIET Team - Ven 6 jul 2012 11:19:05 CEST