Hi,

I made a small test with rt_heap_ in userspace,
i think I understood the actual limitations of the userspace support.
I used 10000 as heapsize. Xenomai 2.1-RC2/x86.

This should alloc the entire heap, according to the API documentation:
rt_heap_create( ..., ..., 10000, ... )
rt_heap_alloc( ..., 10000, ..., .... ) -> This call fails, but it should work

Using heapsize 0 it works:
rt_heap_create( ..., ..., 10000, ... )
rt_heap_alloc( ..., 0, ..., .... )

rt_heap_inquire shows a heapsize of 12228 (IIRC).
So, this would probably work (untested):
rt_heap_create( ..., ..., 10000, ... )
rt_heap_alloc( ..., 12228, ..., .... )

The 2228 bytes difference seems to be the space needed for the heap control 
structures.

I think the following should be fixed:
1) rt_create_alloc should alter the heapsize the same as rt_heap_create does
2) rt_heap_inquire should return the _real_ heapsize

thx
kisda


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to