Changeset e15e0e8 in mainline for uspace/lib/libc/include
- Timestamp:
- 2009-12-02T22:29:46Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 8d04f709
- Parents:
- 4702bde
- Location:
- uspace/lib/libc/include
- Files:
-
- 1 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/libc/include/atomic.h
r4702bde re15e0e8 1 1 /* 2 * Copyright (c) 200 6Jakub Jermar2 * Copyright (c) 2009 Jakub Jermar 3 3 * All rights reserved. 4 4 * … … 36 36 #define LIBC_ATOMIC_H_ 37 37 38 #include <bool.h>39 40 typedef struct atomic {41 volatile long count;42 } atomic_t;43 44 38 #include <libarch/atomic.h> 45 46 static inline void atomic_set(atomic_t *val, long i)47 {48 val->count = i;49 }50 51 static inline long atomic_get(atomic_t *val)52 {53 return val->count;54 }55 56 static inline bool cas(atomic_t *val, long ov, long nv)57 {58 return __sync_bool_compare_and_swap(&val->count, ov, nv);59 }60 39 61 40 #endif
Note:
See TracChangeset
for help on using the changeset viewer.