right. This is fixed using create size >= 2048 bytes.


On 06/05/2015 10:56, Philippe Gerum wrote:
On 05/05/2015 03:37 PM, Stéphane ANCELOT wrote:
Hi,
unfortunately, There is something wrong for unknown reason using these
functions.

I made a simple regression program that only create heaps and allocates
area.

At line 190 of the file, depending on the size value of the heap, the
program works or not.
This looks like corrupted memory problem...

The API tells you what happens, it's just that you did not pay attention
to return codes:

        flags = H_FIFO ;
        size = 36800;
        size = 824; // size = 824 is failing but changing size to 3200 rocks ...
        ret = rt_heap_create(&heap2, "config", size, flags);

This returns -EINVAL, which is documented for rt_heap_create() as:

  * - -EINVAL is returned if @a mode is invalid, or @a heapsz is not in
  * the range [2k..2Gb].

Besides, your test code never deletes the heaps it creates, before
overwriting the same heap descriptor with the next call to
rt_heap_create(). Hopefully your application does not do that.

I'm unsure to understand your reasoning about memory corruption.



_______________________________________________
Xenomai mailing list
Xenomai@xenomai.org
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to