Top |
Functions
EFlag * | e_flag_new () |
gboolean | e_flag_is_set () |
void | e_flag_set () |
void | e_flag_clear () |
void | e_flag_wait () |
gboolean | e_flag_wait_until () |
void | e_flag_free () |
gboolean | e_flag_timed_wait () |
Functions
e_flag_new ()
EFlag *
e_flag_new (void
);
Creates a new EFlag object. It is initially unset.
Since: 1.12
e_flag_set ()
void
e_flag_set (EFlag *flag
);
Sets flag
. All threads waiting on flag
are woken up. Threads that
call e_flag_wait()
or e_flag_wait_until()
once flag
is set will not
block at all.
Since: 1.12
e_flag_clear ()
void
e_flag_clear (EFlag *flag
);
Unsets flag
. Subsequent calls to e_flag_wait()
or e_flag_wait_until()
will block until flag
is set.
Since: 1.12
e_flag_wait ()
void
e_flag_wait (EFlag *flag
);
Blocks until flag
is set. If flag
is already set, the function returns
immediately.
Since: 1.12
e_flag_wait_until ()
gboolean e_flag_wait_until (EFlag *flag
,gint64 end_time
);
Blocks until flag
is set, or until the time specified by end_time
.
If flag
is already set, the function returns immediately. The return
value indicates the state of flag
after waiting.
To easily calculate end_time
, a combination of g_get_monotonic_time()
and
G_TIME_SPAN_SECOND macro.
Since: 3.8
e_flag_timed_wait ()
gboolean e_flag_timed_wait (EFlag *flag
,GTimeVal *abs_time
);
e_flag_timed_wait
has been deprecated since version 3.8 and should not be used in newly-written code.
Use e_flag_wait_until()
instead.
Blocks until flag
is set, or until the time specified by abs_time
.
If flag
is already set, the function returns immediately. The return
value indicates the state of flag
after waiting.
If abs_time
is NULL
, e_flag_timed_wait()
acts like e_flag_wait()
.
To easily calculate abs_time
, a combination of g_get_current_time()
and
g_time_val_add()
can be used.
Since: 1.12
Types and Values
EFlag
typedef struct _EFlag EFlag;
Contains only private data that should be read and manipulated using the functions below.
Since: 1.12