X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=bluesky%2Fbluesky-private.h;h=852b04e621bc7b9e126beeb3c95ea00991e0c111;hb=f597cd5067ed36508118d2ecd29338e7b81f47e4;hp=058c5bd83235283b4864d5ad1425f13ba7b7ddb1;hpb=6710eff91ed1a5ee193701ef4b9b28460bb8e95c;p=bluesky.git diff --git a/bluesky/bluesky-private.h b/bluesky/bluesky-private.h index 058c5bd..852b04e 100644 --- a/bluesky/bluesky-private.h +++ b/bluesky/bluesky-private.h @@ -47,7 +47,8 @@ typedef enum { } BlueSkyAsyncStatus; struct BlueSkyNotifierList; -typedef struct { +typedef struct _BlueSkyStoreAsync BlueSkyStoreAsync; +struct _BlueSkyStoreAsync { BlueSkyStore *store; GMutex *lock; @@ -65,10 +66,15 @@ typedef struct { struct BlueSkyNotifierList *notifiers; gint notifier_count; + /* The barrier waiting on this operation. Support for more than one + * barrier for a single async is not well-supported and should be avoided + * if possible. */ + BlueSkyStoreAsync *barrier; + bluesky_time_hires start_time; /* Time operation was submitted. */ gpointer store_private; /* For use by the storage implementation */ -} BlueSkyStoreAsync; +}; /* Support for notification lists. These are lists of one-shot functions which * can be called when certain events--primarily, competed storage