-
The previously documented requirements for implementing init() and init_async() as completely idempotent were really quite hard to achieve, and brought a lot of pain for very little gain. Many implementations of GInitable and GAsyncInitable did not actually follow the requirements, or did not correctly handle concurrent init_async() calls. Relax those requirements so that classes can decide whether their init() or init_async() implementations need to be idempotent. https://bugzilla.gnome.org/show_bug.cgi?id=766660
deab6436