Jan Kiszka wrote: > Gilles Chanteperdrix wrote: >> Jan Kiszka wrote: >>> Hi Gilles, >>> >>> this one requires some fixing too: >>> >>> xeno_sem_heap is marked weak. xeno_init_sem_heaps is called once per >>> initialized skin. It unmaps any existing heap and creates a new one. >>> That's already fragile during constructor run, but it's lethal during >>> process runtime, ie. when using dlopen. >>> >>> I think the solution is to handle forks separately and only remap in >>> that case. Digging in this direction now. >>> >>> BTW, what triggers the re-run of xeno_init_sem_heaps after a fork so far? >> It must be done for the child process to get a private heap different >> from the parent process. I would guess it is handled by pthread_atfork. > > Ah, only the POSIX skin does that. However, sem-heaps must not be > POSIX-only. OK, patch in the make.
Actually, xeno_skin_bind_opt should call pthread_atfork, since the child process should be bound again, whatever the skin. -- Gilles. _______________________________________________ Xenomai-core mailing list Xenomaifirstname.lastname@example.org https://mail.gna.org/listinfo/xenomai-core