[EXTERNAL] rtems_semaphore routines on SMP systems

Sebastian Huber sebastian.huber at embedded-brains.de
Tue Sep 28 16:18:11 UTC 2021


On 28/09/2021 12:24, Heinz Junkes wrote:
> 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

This is a priority inheritance mutex which must be used by threads only. 
Using it from within interrupt context will not work.

-- 
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber at 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/


More information about the users mailing list