X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fkern%2Fsem.c;h=7d07f4d6f61585b928e1361186857c0071cca5fd;hb=2796b45ae17067be57fa4e81ab2b75c5884d6ea4;hp=0f31fa067b9fff651945b60076adaf3e855e05f4;hpb=791e167e053bdd9250d34a9a5ccae6ccde4d6679;p=bertos.git diff --git a/bertos/kern/sem.c b/bertos/kern/sem.c index 0f31fa06..7d07f4d6 100644 --- a/bertos/kern/sem.c +++ b/bertos/kern/sem.c @@ -27,18 +27,17 @@ * the GNU General Public License. * * Copyright 2001, 2004 Develer S.r.l. (http://www.develer.com/) - * Copyright 1999, 2000, 2001 Bernardo Innocenti - * + * Copyright 1999, 2000, 2001 Bernie Innocenti * --> * * \brief Semaphore based synchronization services. * * \version $Id$ - * - * \author Bernardo Innocenti + * \author Bernie Innocenti */ #include "sem.h" +#include // ASSERT_IRQ_DISABLED() #include #include #include @@ -128,7 +127,7 @@ void sem_obtain(struct Semaphore *s) * be locked for us. */ proc_permit(); - proc_schedule(); + proc_switch(); } else { @@ -178,7 +177,7 @@ void sem_release(struct Semaphore *s) { s->nest_count = 1; s->owner = proc; - SCHED_ENQUEUE(proc); + ATOMIC(SCHED_ENQUEUE(proc)); } }