Gilles Chanteperdrix wrote:
> Jan Kiszka wrote:
>> @@ -234,12 +239,65 @@ int xnheap_init(xnheap_t *heap,
>>  
>>      appendq(&heap->extents, &extent->link);
>>  
>> +    vsnprintf(heap->name, sizeof(heap->name), name, args);
>> +
>> +    spin_lock(&heapq_lock);
>> +    appendq(&heapq, &heap->stat_link);
>> +    spin_unlock(&heapq_lock);
> 
> You can not use a Linux spinlock in xnheap_init and xnheap_destroy:
> - this breaks the build for the simulator;
> - callers of xnheap_init and xnheap_destroy are not guaranteed to run on
> the root domain.

Oh, yes, unfortunately. That callers appear to be fixable, but that's
probably not worth it at this point. I will have to rewrite
heap_read_proc to break out of nklock frequently. Also not nice, but
less invasive.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to