nekromant / antares

antares uC buildsystem
210 stars 31 forks source link

Create ANTARES_ATOMIC() {} and ANTARES_NONATOMIC() {} blocks like in avr-libc #48

Open webconn opened 10 years ago

webconn commented 10 years ago

I think that these blocks should be very useful, because use of ANTARES_ENABLE/DISABLE_IRQS for atomic and non-atomic blocks forces enabling or disabling interrupts but not saves the state.

See http://www.nongnu.org/avr-libc/user-manual/group__util__atomic.html for example of what I mean.

nekromant commented 10 years ago

Yep, this is already WiP, just hasn't been pushed yet to antares git since it's not yet done for all available architectures. Expect it sometime later this month, when I'll finally have some free time.
I'm aiming for linux kernel-like spinlock_irqsave/spinlock_irqrestore api to do locking.

nekromant commented 10 years ago

Ooops, shouldn't have closed that one