static gboolean disconnect_timeout(gpointer data) { struct _GAttrib *attrib = data; attrib_destroy(attrib); return FALSE; }
void g_attrib_unref(GAttrib *attrib) { int refs; if (!attrib) return; refs = __sync_sub_and_fetch(&attrib->refs, 1); if (refs > 0) return; attrib_destroy(attrib); }
void g_attrib_unref(GAttrib *attrib) { gboolean ret; if (!attrib) return; ret = g_atomic_int_dec_and_test(&attrib->refs); DBG("%p: ref=%d", attrib, attrib->refs); if (ret == FALSE) return; attrib_destroy(attrib); }