|  |  |  | Evolution-Data-Server Manual: Utilities (libedataserver) |  | 
|---|---|---|---|---|
| Top | Description | ||||
EFlag; EFlag * e_flag_new (void); gboolean e_flag_is_set (EFlag *flag); void e_flag_set (EFlag *flag); void e_flag_clear (EFlag *flag); void e_flag_wait (EFlag *flag); gboolean e_flag_wait_until (EFlag *flag,gint64 end_time); void e_flag_free (EFlag *flag); gboolean e_flag_timed_wait (EFlag *flag,GTimeVal *abs_time);
typedef struct _EFlag EFlag;
Contains only private data that should be read and manipulated using the functions below.
Since 1.12
EFlag *             e_flag_new                          (void);
Creates a new EFlag object. It is initially unset.
| Returns : | a new EFlag | 
Since 1.12
gboolean            e_flag_is_set                       (EFlag *flag);
Returns the state of flag.
| 
 | an EFlag | 
| Returns : | TRUEifflagis set | 
Since 1.12
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.
| 
 | an EFlag | 
Since 1.12
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.
| 
 | an EFlag | 
Since 1.12
void                e_flag_wait                         (EFlag *flag);
Blocks until flag is set.  If flag is already set, the function returns
immediately.
| 
 | an EFlag | 
Since 1.12
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.
| 
 | an EFlag | 
| 
 | the monotonic time to wait until | 
| Returns : | TRUEifflagis now set | 
Since 3.8
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.
| 
 | an EFlag | 
| 
 | a GTimeVal, determining the final time | 
| Returns : | TRUEifflagis now set | 
Since 1.12