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
..
2020-03-28 12:45:19 +01:00
2020-02-17 13:16:57 +01:00
2020-02-26 17:51:14 +01:00
2020-03-23 11:22:38 +01:00
2019-10-02 17:03:52 +02:00
2019-06-14 12:10:20 +02:00
2017-12-18 11:25:06 +01:00
2020-03-06 10:39:00 +01:00
2019-10-02 17:03:52 +02:00
2020-01-14 09:49:01 +01:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2020-01-14 09:51:56 +01:00
2019-12-03 16:32:08 +01:00
2019-10-02 17:03:52 +02:00
2020-02-16 15:55:55 +01:00
2019-11-06 17:30:25 +01:00
2019-11-06 17:30:25 +01:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2020-03-23 20:31:09 +01:00
2020-03-23 20:31:09 +01:00
2020-03-17 08:02:54 +01:00
2019-10-02 17:03:52 +02:00
2020-03-19 16:59:07 +01:00
2019-10-02 17:03:52 +02:00
2020-03-19 17:26:08 +01:00
2020-03-06 10:39:00 +01:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2020-03-19 16:59:07 +01:00
2019-10-02 17:03:52 +02:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2020-02-26 17:51:14 +01:00
2019-10-02 17:03:52 +02:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2020-03-23 09:32:04 +01:00
2019-10-02 17:03:52 +02:00
2020-03-23 11:05:34 +01:00
2019-10-02 17:03:52 +02:00
2019-11-28 17:56:35 +01:00
2019-10-02 17:03:52 +02:00
2020-02-17 14:43:13 +01:00
2020-02-17 14:43:13 +01:00
2020-02-17 15:27:35 +01:00
2019-12-09 07:49:16 +01:00
2020-02-17 15:27:35 +01:00
2019-10-02 17:03:52 +02:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2020-02-17 15:27:35 +01:00
2019-10-02 17:03:52 +02:00
2020-03-23 11:42:57 +01:00
2019-10-02 17:03:52 +02:00
2020-03-19 16:59:07 +01:00
2019-10-02 17:03:52 +02:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2020-02-26 17:51:14 +01:00
2019-10-02 17:03:52 +02:00
2020-01-28 11:17:41 +01:00
2019-10-02 17:03:52 +02:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2020-02-17 15:27:35 +01:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-12-24 07:48:35 +01:00
2019-10-02 17:03:52 +02:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2020-03-23 11:42:57 +01:00
2019-10-02 17:03:52 +02:00
2020-03-23 11:42:57 +01:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2020-03-23 11:22:38 +01:00
2019-10-02 17:03:52 +02:00
2020-02-17 15:27:35 +01:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2020-03-23 11:42:57 +01:00
2020-01-14 09:49:01 +01:00
2020-02-17 15:27:35 +01:00
2019-10-02 17:03:52 +02:00
2020-03-23 11:22:38 +01:00
2019-10-02 17:03:52 +02:00
2020-03-19 16:59:07 +01:00
2019-10-02 17:03:52 +02:00
2020-03-19 16:59:07 +01:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2020-02-11 15:23:06 +01:00
2019-10-02 17:03:52 +02:00
2020-03-23 09:32:04 +01:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2020-01-14 09:49:01 +01:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2020-03-19 16:59:07 +01:00
2020-04-01 17:18:37 +02:00
2019-12-05 14:00:10 +01:00
2020-03-23 09:38:24 +01:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2020-03-23 11:22:38 +01:00
2020-03-14 18:04:05 +01:00