NetworkManager/shared/nm-glib-aux
Thomas Haller 7e49f4a199 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
2020-04-01 17:18:37 +02:00
..
tests meson: merge branch 'inigomartinez/meson-license' 2020-03-28 12:45:19 +01:00
nm-c-list.h shared: add nm_c_list_for_each_entry_prev() helper macro 2019-10-18 22:09:18 +02:00
nm-dbus-aux.c shared: allow nm_dbus_connection_call_finish_variant_cb() with D-Bus methods that have no return value 2020-03-23 09:32:04 +01:00
nm-dbus-aux.h shared: add nm_dbus_connection_call_set() util 2020-02-10 19:11:50 +01:00
nm-dedup-multi.c all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-dedup-multi.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-enum-utils.c all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-enum-utils.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-errno.c shared: drop _STATIC variant of macros that define functions 2020-02-13 17:17:07 +01:00
nm-errno.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-glib.h license: relicense "shared/nm-glib-aux/nm-glib.h" under LGPL-2.1+ 2020-02-16 15:41:36 +01:00
nm-hash-utils.c shared: add nm_pint_hash()/nm_pint_equals() utils 2019-11-25 12:58:33 +01:00
nm-hash-utils.h shared: add nm_pint_hash()/nm_pint_equals() utils 2019-11-25 12:58:33 +01:00
nm-io-utils.c shared: add io-util to read data from a fd into a GString 2019-12-24 10:13:51 +01:00
nm-io-utils.h shared: add io-util to read data from a fd into a GString 2019-12-24 10:13:51 +01:00
nm-jansson.h license: relicense "shared/nm-glib-aux/nm-jansson.h" under LGPL-2.1+ 2020-02-16 15:41:40 +01:00
nm-json-aux.c all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-json-aux.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-keyfile-aux.c all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-keyfile-aux.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-logging-base.c shared: move log level info from core to "nm-logging-base.h" 2019-11-28 19:20:33 +01:00
nm-logging-base.h shared: move log level info from core to "nm-logging-base.h" 2019-11-28 19:20:33 +01:00
nm-logging-fwd.h shared: add LOGD_DHCP_from_addr_family() helper 2020-02-17 14:45:09 +01:00
nm-macros-internal.h shared: add NM_SWAP() macro 2020-03-26 21:28:56 +01:00
nm-obj.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-random-utils.c all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-random-utils.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-ref-string.c shared: assert in nm_ref_string_unref() for valid NMRefString instance 2019-11-07 11:34:36 +01:00
nm-ref-string.h shared: fix handling %NULL argument in nm_ref_string_equals_str() 2020-03-02 15:49:41 +01:00
nm-secret-utils.c shared: improve nm_free_secret() to clear entire memory buffer 2020-01-09 17:45:01 +01:00
nm-secret-utils.h shared: improve nm_free_secret() to clear entire memory buffer 2020-01-09 17:45:01 +01:00
nm-shared-utils.c all: use wrappers for g_ascii_strtoll(), g_ascii_strtoull(), g_ascii_strtod() 2020-04-01 17:18:37 +02:00
nm-shared-utils.h shared: add nm_g_ascii_strtoull() to workaround bug 2020-04-01 17:18:01 +02:00
nm-time-utils.c shared/trivial: rename time related functions to use "nsec"/"msec" abbreviation instead of "ns"/"ms" 2020-02-10 19:11:50 +01:00
nm-time-utils.h shared: add nm_utils_get_monotonic_timestamp_msec_cached() helper 2020-02-10 19:11:50 +01:00
nm-value-type.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00