notify: declare "struct notify"
"struct notify" is the same as the "Notify" typedef. It can be forward-declared and has a lower case name.
This commit is contained in:
parent
35216db8db
commit
770b140534
12
src/notify.c
12
src/notify.c
@ -18,7 +18,7 @@
|
||||
|
||||
#include "notify.h"
|
||||
|
||||
int notify_init(Notify *notify)
|
||||
int notify_init(struct notify *notify)
|
||||
{
|
||||
int ret;
|
||||
|
||||
@ -37,30 +37,30 @@ int notify_init(Notify *notify)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void notify_enter(Notify *notify)
|
||||
void notify_enter(struct notify *notify)
|
||||
{
|
||||
pthread_mutex_lock(¬ify->mutex);
|
||||
}
|
||||
|
||||
void notify_leave(Notify *notify)
|
||||
void notify_leave(struct notify *notify)
|
||||
{
|
||||
pthread_mutex_unlock(¬ify->mutex);
|
||||
}
|
||||
|
||||
void notify_wait(Notify *notify)
|
||||
void notify_wait(struct notify *notify)
|
||||
{
|
||||
if (!notify->pending)
|
||||
pthread_cond_wait(¬ify->cond, ¬ify->mutex);
|
||||
notify->pending = 0;
|
||||
}
|
||||
|
||||
void notify_signal(Notify *notify)
|
||||
void notify_signal(struct notify *notify)
|
||||
{
|
||||
notify->pending = 1;
|
||||
pthread_cond_signal(¬ify->cond);
|
||||
}
|
||||
|
||||
void notify_signal_sync(Notify *notify)
|
||||
void notify_signal_sync(struct notify *notify)
|
||||
{
|
||||
pthread_mutex_lock(¬ify->mutex);
|
||||
notify_signal(notify);
|
||||
|
14
src/notify.h
14
src/notify.h
@ -21,40 +21,40 @@
|
||||
|
||||
#include "os_compat.h"
|
||||
|
||||
typedef struct _Notify {
|
||||
typedef struct notify {
|
||||
pthread_mutex_t mutex;
|
||||
pthread_cond_t cond;
|
||||
int pending;
|
||||
} Notify;
|
||||
|
||||
int notify_init(Notify *notify);
|
||||
int notify_init(struct notify *notify);
|
||||
|
||||
/**
|
||||
* The thread which shall be notified by this object must call this
|
||||
* function before any notify_wait() invocation. It locks the mutex.
|
||||
*/
|
||||
void notify_enter(Notify *notify);
|
||||
void notify_enter(struct notify *notify);
|
||||
|
||||
/**
|
||||
* Neutralize notify_leave().
|
||||
*/
|
||||
void notify_leave(Notify *notify);
|
||||
void notify_leave(struct notify *notify);
|
||||
|
||||
/**
|
||||
* Wait for a notification. Return immediately if we have already
|
||||
* been notified since we last returned from notify_wait().
|
||||
*/
|
||||
void notify_wait(Notify *notify);
|
||||
void notify_wait(struct notify *notify);
|
||||
|
||||
/**
|
||||
* Notify the thread. This function never blocks.
|
||||
*/
|
||||
void notify_signal(Notify *notify);
|
||||
void notify_signal(struct notify *notify);
|
||||
|
||||
/**
|
||||
* Notify the thread synchonously, i.e. wait until it has received the
|
||||
* notification.
|
||||
*/
|
||||
void notify_signal_sync(Notify *notify);
|
||||
void notify_signal_sync(struct notify *notify);
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user