On Mon, 2009-10-19 at 21:09 +0200, Jan Kiszka wrote:
> 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.
There is nothing to fix here. It's part of the service definition to be
able to call it from primary mode.
> I will have to rewrite
> heap_read_proc to break out of nklock frequently. Also not nice, but
> less invasive.
> Xenomai-core mailing list
Xenomai-core mailing list