mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-10-15 18:10:06 +02:00
Stop dithering over GPrivate
Take out the half-private g_private_init() stuff and replace it with a G_PRIVATE_INIT macro that allows specifying a GDestroyNotify. Expose the GPrivate structure in a public header. Add a g_private_replace() to (sort of) match the functionality of g_static_mutex_set(). Improve the documentation. Deprecate g_private_new().
This commit is contained in:
@@ -112,6 +112,14 @@ struct _GRecMutex
|
||||
gpointer impl;
|
||||
};
|
||||
|
||||
#define G_PRIVATE_INIT(notify) { NULL, (notify), { NULL, NULL } }
|
||||
struct _GPrivate
|
||||
{
|
||||
gpointer p;
|
||||
GDestroyNotify notify;
|
||||
gpointer future[2];
|
||||
};
|
||||
|
||||
void g_thread_init (gpointer vtable);
|
||||
|
||||
gboolean g_thread_get_initialized (void);
|
||||
@@ -274,10 +282,11 @@ gboolean g_cond_timedwait (GCond
|
||||
GMutex *mutex,
|
||||
gint64 abs_time);
|
||||
|
||||
GPrivate * g_private_new (GDestroyNotify notify);
|
||||
gpointer g_private_get (GPrivate *key);
|
||||
void g_private_set (GPrivate *key,
|
||||
gpointer value);
|
||||
void g_private_replace (GPrivate *key,
|
||||
gpointer value);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
Reference in New Issue
Block a user