Hallo Sebastian,

in EPICS osdMutex the semaphore is created like this:

sc = rtems_semaphore_create (rtems_build_name ('M', c3, c2, c1),
        1,
        
RTEMS_PRIORITY|RTEMS_BINARY_SEMAPHORE|RTEMS_INHERIT_PRIORITY|RTEMS_NO_PRIORITY_CEILING|RTEMS_LOCAL,
        0,
        &sid);
    if (sc != RTEMS_SUCCESSFUL) {
        errlogPrintf ("Can't create mutex semaphore: %s\n", rtems_status_text 
(sc));
        return NULL;
    }

The implementation: 
https://github.com/epics-base/epics-base/blob/7.0/modules/libcom/src/osi/os/RTEMS-score/osdMutex.c

Viele Grüße und Danke
Heinz 


> On 28. Sep 2021, at 12:02, Sebastian Huber 
> <sebastian.hu...@embedded-brains.de> wrote:
> 
> On 28/09/2021 11:46, Heinz Junkes wrote:
>> Unfortunately we found out that EPICS uses the mutex handling also in the 
>> interrupt context
>> and this leads to core-dumps in RTEMS :-(
> 
> Yes, using any kind of mutexes in interrupt context is undefined behaviour. 
> Mutexes may only be used from threads.
> 
> Which RTEMS semaphore classes do you use in EPICS and in particular which 
> classes do you use in interrupt context?
> 
> -- 
> embedded brains GmbH
> Herr Sebastian HUBER
> Dornierstr. 4
> 82178 Puchheim
> Germany
> email: sebastian.hu...@embedded-brains.de
> phone: +49-89-18 94 741 - 16
> fax:   +49-89-18 94 741 - 08
> 
> Registergericht: Amtsgericht München
> Registernummer: HRB 157899
> Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
> Unsere Datenschutzerklärung finden Sie hier:
> https://embedded-brains.de/datenschutzerklaerung/

_______________________________________________
users mailing list
users@rtems.org
http://lists.rtems.org/mailman/listinfo/users

Reply via email to