NetworkManager/shared
Thomas Haller 2792b6619b
all: use wrappers for g_ascii_strtoll(), g_ascii_strtoull(), g_ascii_strtod()
Sometimes these function may set errno to unexpected values like EAGAIN.
This causes confusion. Avoid that by using our own wrappers that retry
in that case. For example, in rhbz#1797915 we have failures like:

    errno = 0;
    v = g_ascii_strtoll ("10", 0, &end);
    if (errno != 0)
        g_assert_not_reached ();

as g_ascii_strtoll() would return 10, but also set errno to EAGAIN.

Work around that by using wrapper functions that retry. This certainly
should be fixed in glib (or glibc), but the issues are severe enough to
warrant a workaround.

Note that our workarounds are very defensive. We only retry 2 times, if
we get an unexpected errno value. This is in the hope to recover from
a spurious EAGAIN. It won't recover from other errors.

https://bugzilla.redhat.com/show_bug.cgi?id=1797915
(cherry picked from commit 7e49f4a199)
(cherry picked from commit eec2740d71)
(cherry picked from commit 500f0b96ae)
2020-05-02 17:05:15 +02:00
..
c-list shared/c-list: re-import from latest c-util/c-list 2019-02-06 07:54:19 +01:00
c-rbtree shared: workaround -Wunused-but-set-variable warning with assertions 2019-04-04 09:54:44 +02:00
c-siphash shared/c-siphash: re-import from latest c-util/c-siphash 2019-02-06 08:27:07 +01:00
n-acd shared: workaround -Wunused-but-set-variable warning with assertions 2019-04-04 09:54:44 +02:00
nm-glib-aux all: use wrappers for g_ascii_strtoll(), g_ascii_strtoull(), g_ascii_strtod() 2020-05-02 17:05:15 +02:00
nm-libnm-core-aux shared: build helper "libnm-libnm-core-{intern|aux}.la" library for libnm-core 2019-04-18 20:07:44 +02:00
nm-libnm-core-intern shared: build helper "libnm-libnm-core-{intern|aux}.la" library for libnm-core 2019-04-18 20:07:44 +02:00
nm-std-aux shared: move "nm-dbus-compat.h" header to "nm-std-aux/nm-dbus-compat.h" 2019-04-18 20:03:54 +02:00
nm-udev-aux shared: move udev helper to separate directory "shared/nm-udev-aux" 2019-04-18 19:46:50 +02:00
nm-utils shared: move most of "shared/nm-utils" to "shared/nm-glib-aux" 2019-04-18 19:57:27 +02:00
systemd shared: move most of "shared/nm-utils" to "shared/nm-glib-aux" 2019-04-18 19:57:27 +02:00
meson.build shared: build helper "libnm-libnm-core-{intern|aux}.la" library for libnm-core 2019-04-18 20:07:44 +02:00
nm-default.h shared: move most of "shared/nm-utils" to "shared/nm-glib-aux" 2019-04-18 19:57:27 +02:00
nm-meta-setting.c shared: add set function to nm_setting_8021x_scheme_vtable 2019-03-25 09:12:32 +01:00
nm-meta-setting.h shared: add set function to nm_setting_8021x_scheme_vtable 2019-03-25 09:12:32 +01:00
nm-test-libnm-utils.h Revert "all: goodbye libnm-glib" 2019-04-03 08:52:38 +02:00
nm-test-utils-impl.c shared: move "nm-dbus-compat.h" header to "nm-std-aux/nm-dbus-compat.h" 2019-04-18 20:03:54 +02:00
nm-version-macros.h.in release: bump version to 1.18.7 (development) 2020-04-24 16:15:03 +02:00