On 2/21/19 7:42 PM, Heinz Junkes wrote: > Yes, I can confirm that with your changes the behavior has now changed and everything works even with the _main_ task > with prio 0. (Tested with RTEMS5) > > I also already removed the test for isEpicsThread in > epicsThreadSetPriority Just for the record: IIRC, this is the only place where 'isEpicsThread' is used. If the test is removed then we should remove the struct member, too, IMHO. - Till > > if(!pthreadInfo->isEpicsThread) { >> fprintf(stderr,"epicsThreadSetPriority called by non epics >> thread\n"); >> return; >> } > in rtems_init.c I set the priority in the epicsThread-Structure: > > ... > if (epicsRtemsInitPostSetBootConfigFromNVRAM(&rtems_bsdnet_config) != 0) > delayedPanic("epicsRtemsInitPostSetBootConfigFromNVRAM"); > > #if __RTEMS_MAJOR__>4 > > /* > * Override RTEMS Posix configuration, as it get started with posix prio 2 > */ > > epicsThreadSetPriority(epicsThreadGetIdSelf(), > epicsThreadPriorityIocsh); > > #else > /* > * Override RTEMS configuration > */ > rtems_task_set_priority ( > RTEMS_SELF, > epicsThreadGetOssPriorityValue(epicsThreadPriorityIocsh), > &newpri); > #endif > > /* > * Create a reasonable environment > */ > initConsole (); > … > > Works great for RTEMS5. Thanks for your changes. I've been sitting there for a long time. > Heinz > > >> On 21. Feb 2019, at 19:25, Till Straumann