|
BFLibC 0.1
C Library
|
#include "lock.h"#include <stdlib.h>#include <pthread.h>#include "free.h"#include "bftime.h"#include <errno.h>
Data Structures | |
| struct | _BFLock |
Macros | |
| #define | FLAGS_GET(flags, bit) (flags & (1 << bit)) |
| #define | FLAGS_SET_ON(flags, bit) flags |= (1 << bit) |
| #define | FLAGS_SET_OFF(flags, bit) flags &= ~(1 << bit) |
| #define | IS_WAITING_GET(flags) FLAGS_GET(flags, 0) |
| #define | IS_WAITING_SET_ON(flags) FLAGS_SET_ON(flags, 0) |
| #define | IS_WAITING_SET_OFF(flags) FLAGS_SET_OFF(flags, 0) |
Functions | |
| bool | BFLockIsValid (BFLock *_lock) |
| int | BFLockCreate (BFLock *lock) |
| int | BFLockDestroy (BFLock *lock) |
| int | BFLockWait (BFLock *lock) |
| int | BFLockTimedWait (BFLock *lock, BFTime t) |
| int | BFLockRelease (BFLock *lock) |
| int | BFLockLock (BFLock *lock) |
| int | BFLockUnlock (BFLock *lock) |
| bool | BFLockIsWaiting (BFLock *lock) |
| #define FLAGS_GET | ( | flags, | |
| bit ) (flags & (1 << bit)) |
| #define FLAGS_SET_OFF | ( | flags, | |
| bit ) flags &= ~(1 << bit) |
| #define FLAGS_SET_ON | ( | flags, | |
| bit ) flags |= (1 << bit) |
| #define IS_WAITING_GET | ( | flags | ) | FLAGS_GET(flags, 0) |
| #define IS_WAITING_SET_OFF | ( | flags | ) | FLAGS_SET_OFF(flags, 0) |
| #define IS_WAITING_SET_ON | ( | flags | ) | FLAGS_SET_ON(flags, 0) |
| int BFLockCreate | ( | BFLock * | lock | ) |
Caller owns
| int BFLockDestroy | ( | BFLock * | lock | ) |
Releases memory
| bool BFLockIsValid | ( | BFLock * | _lock | ) |
Validates BFLock object
| bool BFLockIsWaiting | ( | BFLock * | l | ) |
true if lock is being blocked by BFLockWait
| int BFLockLock | ( | BFLock * | lock | ) |
Activates a mutex lock
| int BFLockRelease | ( | BFLock * | lock | ) |
Releases BFLock waiting on BFLockWait
Waits for a specific amount of time before continuing
if elapsed time reaches t, kBFLockTimedWaitCodeTimedOut returns
t : seconds with nanosecond resolution. e.g. 1.0 is one second
| int BFLockUnlock | ( | BFLock * | lock | ) |
Unlocks a mutex lock
| int BFLockWait | ( | BFLock * | lock | ) |
Waits until BFLockRelease is called on object