Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(139)

Side by Side Diff: fusl/src/thread/sem_post.c

Issue 1714623002: [fusl] clang-format fusl (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: headers too Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 #include <semaphore.h> 1 #include <semaphore.h>
2 #include "pthread_impl.h" 2 #include "pthread_impl.h"
3 3
4 int sem_post(sem_t *sem) 4 int sem_post(sem_t* sem) {
5 { 5 int val, waiters, priv = sem->__val[2];
6 » int val, waiters, priv = sem->__val[2]; 6 do {
7 » do { 7 val = sem->__val[0];
8 » » val = sem->__val[0]; 8 waiters = sem->__val[1];
9 » » waiters = sem->__val[1]; 9 if (val == SEM_VALUE_MAX) {
10 » » if (val == SEM_VALUE_MAX) { 10 errno = EOVERFLOW;
11 » » » errno = EOVERFLOW; 11 return -1;
12 » » » return -1; 12 }
13 » » } 13 } while (a_cas(sem->__val, val, val + 1 + (val < 0)) != val);
14 » } while (a_cas(sem->__val, val, val+1+(val<0)) != val); 14 if (val < 0 || waiters)
15 » if (val<0 || waiters) __wake(sem->__val, 1, priv); 15 __wake(sem->__val, 1, priv);
16 » return 0; 16 return 0;
17 } 17 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698