GLib is a widely-used low-level cross-platform software utility library maintained by the GNOME project.
Most Popular This Year
- GKeyFile: add API for getting locale of a string
Allison Lortie: g_key_file_get_locale_string() returns a translated string from the keyfile.
- kqueue: Multiple fixes and simplifications
Martin Pieuchot: - Stop using a custom thread for listening to kqueue(2) events.
- gsubprocess: Fix a critical calling communicate() with no pipes
Philip Withnall: If calling g_subprocess_communicate() on a GSubprocess with no stdout/stderr pipe, a critical warning would be emitted from g_memory_output_stream_steal_as_bytes(), as it would be called on a NULL output stream.
- gspawn: Optimize with posix_spawn codepath
Daniel Drake: When the amount of free memory on the system is somewhat low, gnome-shell will sometimes fail to launch apps, reporting the error: fork(): Cannot allocate memory
fork() is failing here because while cloning the process virtual address space, Linux worries that the thread being forked may end up COWing the entire address space of the parent process (gnome-shell, which is memory-hungry), and there is not enough free memory to permit that to happen.
In this case we are simply calling fork() in order to quickly call exec(), which will throw away the entirity of the duplicated VM, so we should look for ways to avoid the overcommit check.
The well known solution to this is to use clone(CLONE_VM) or vfork(), which completely avoids creating a new memory address space for the child.
- gio: Port GThreadedResolver to use res_nquery() to fix thread-safety
Philip Withnall: res_query() uses global state in the form of the struct __res_state which contains the contents of resolv.conf (and other things).
- Fix the implementation of interned refstrings
Emmanuele Bassi: The global hash table we use for interned strings should not own a reference on the strings themselves, as otherwise we'd leak them all over the place.
- Meson: Remove config.h.meson template
Xavier Claessens: It became useless because glib_conf is not used anymore for generating pkgconfig files.
- Add refcounted data
Emmanuele Bassi: It is useful to provide a "reference counted allocation" API that can add reference counting semantics to any memory allocation.
- Add reference counted strings
Emmanuele Bassi: The last part of the reference counting saga.
- Add atomically refcounted data
Emmanuele Bassi: GArcBox is the atomic reference counting version of GRcBox.