This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DSP BIOS 5.41.13.42 - semaphore's task processing

Hi,

in DSP BIOS 5.41.13.42, the Sem_Obj structure, defined in file sem.h

#ifdef PRIORITY
/*
 * bit mask for SEM_Attrs 'type' field -- default is (0x0)
 */
#define SEM_FIFO        0x0
#define SEM_PRIORITY    0x1
#endif

typedef struct SEM_Obj {
    KNL_Job     job;            /* handles interrupt-level posting */
    Int         count;          /* semaphore value */
    QUE_Obj     pendQ;          /* tasks wait here */
    String      name;           /* printable name */
#ifdef PRIORITY
    Uns         type;       /* bit mask SEM_PRIORITY (0x1) or SEM_FIFO (0x0) */
#endif
} SEM_Obj;


implies as if the semaphore processing can be configured with respect to priority.

It's assumed that it determines in which order pending tasks are executed -
either in the sequence in which they have registered (SEM_FIFO) or in dependence
of their task priority (SEM_PRIORITY).

Is this assumption correct? And if this is configurable, can you say how the type parameter can be
configured inside CCS?

Best regards

Jörg