Hello,

unfortunately I couldn't find the answer in the documentation. If the scheduler runs a DSR. Can this DSR become interrupted by an other thread or another DSR? (Of cause an ISR can interrupt it)

The background is that I wanna share data between a thread an a DSR and want to know whether I have to call cyg_(un)lock_scheduler when changing the data.

And another question about that - how are memory barriers implemented in eCos? (Are they implemented at all?) Background: I have - for example - a status bit field that is copied to a (ISR/DSR) shared variable in the ISR. Now - if the compiler decides to put this variable into a register (in the ISR function) the DSR will get the wrong data. I could of cause declare the variable as volatile but this might be a performance issue in other cases where more data is affected.

Best regards,
 Martin Laabs


--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

Reply via email to