summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | gregistrysettingsbackend: Remove translatable pspec nick/blurbPhilip Withnall2023-04-271-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The file was not listed in `POTFILES.in` (as pointed out by Piotr Drąg in https://gitlab.gnome.org/GNOME/glib/-/commit/fee0a7679a2bfc3590f57e2ed7c13057272c5fdc#note_1722885), so either it needs to be added to `POTFILES.in` or the translatable strings need to be removed. Recent prior art from GTK shows that there’s actually no longer any point in setting the nick/blurb as no tools use them (and if they did, it would result in a rubbish user experience). See https://gitlab.gnome.org/GNOME/gtk/-/issues/4904. Hence, drop the strings entirely. See #2991 for tracking this across all of GIO. Signed-off-by: Philip Withnall <pwithnall@endlessos.org> Helps: #2991
* | | | | Merge branch 'gtestutils-docs-section-hashes' into 'main'Philip Withnall2023-05-021-1/+1
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | gtestutils: Fix section marker in documentation See merge request GNOME/glib!3416
| * | | | gtestutils: Fix section marker in documentationArnaud Rebillout2023-05-021-1/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently 3 hashes is too many, and as a result this line is not displayed properly in the HTML documentation. 2 hashes seems to be just right, as can be seen with: $ git grep '^ \* ##' | wc -l 65 $ git grep '^ \* ###' | wc -l 1
* | | | Merge branch 'old-txt-docs' into 'main'Patrick Griffis2023-04-295-100/+91
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | docs: Update/Drop txt documents from docs directory See merge request GNOME/glib!3408
| * | | | docs: Port docs/macros.txt to Markdown and update itPhilip Withnall2023-04-282-56/+73
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
| * | | | docs: Drop outdated docs/debugging.txtPhilip Withnall2023-04-274-45/+19
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the document was about traps, which have not existed since commit 58cdf0b474ddcc94ba0bedc39c778cfa93c518ce, 10 years ago. The rest of the document was about `GOBJECT_DEBUG`, and that information would be more easily findable in the full GObject documentation — so move it there and update it a bit. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
* | | | Merge branch '2289-setuid-docs' into 'main'Patrick Griffis2023-04-291-3/+12
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | docs: Document that GIO should not be used in privileged processes Closes #2289 See merge request GNOME/glib!3413
| * | | | docs: Document that GIO should not be used in privileged processesPhilip Withnall2023-04-281-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Philip Withnall <pwithnall@endlessos.org> Fixes: #2289
* | | | | Merge branch '2958-thread-pool-docs' into 'main'Patrick Griffis2023-04-292-4/+26
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gthreadpool: Document that g_thread_pool_new() will spawn a thread Closes #2958 See merge request GNOME/glib!3412
| * | | | | docs: Add high-level documentation about malloc failurePhilip Withnall2023-04-281-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While I’m here. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
| * | | | | docs: Mention that calls after fork() must be async-signal-safePhilip Withnall2023-04-281-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Philip Withnall <pwithnall@endlessos.org> Helps: #2958
| * | | | | gthreadpool: Document that g_thread_pool_new() will spawn a threadPhilip Withnall2023-04-281-3/+7
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise it might look like it would only start spawning threads when jobs are enqueued. Signed-off-by: Philip Withnall <pwithnall@endlessos.org> Helps: #2958
* | | | | DOAP: GNOME Discourse is a developer-forum, not a mailing-listAndre Klapper2023-04-281-2/+2
|/ / / /
* | | | Merge branch 'html-doc-flag' into 'main'Philip Withnall2023-04-281-28/+30
|\ \ \ \ | |/ / / |/| | | | | | | | | | | meson: wrap html documentation generation with gtk_doc option See merge request GNOME/glib!3399
| * | | meson: wrap html documentation generation with gtk_doc optionJames Knight2023-04-271-28/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default, if a host environment has the `rst2html5` application available, builds will automatically perform some HTML documentation generation from the documentation's glib reference content (e.g. creating `gvariant-specification-1.0.html`). The creation of this documentation is not required for all use cases. This commit tweaks the building of the HTML-based GLIB specification document to be guarded by `gtk_doc`. Signed-off-by: James Knight <james.d.knight@live.com>
* | | | Merge branch 'thread-pool-docs-fix' into 'main'Patrick Griffis2023-04-271-0/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | gthreadpool: Clarify that item_free_func is not normally called See merge request GNOME/glib!3406
| * | | | gthreadpool: Clarify that item_free_func is not normally calledPhilip Withnall2023-04-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you’re only quickly looking at the API signature, it looks like `item_free_func` will be called for all items enqueued to the thread pool. As it happens, it’s actually only called for the items which are still enqueued when the thread pool is destroyed. The user’s `GFunc` is responsible for freeing items which are successfully dequeued and processed during the lifetime of the thread pool. That’s a bit of a gotcha, so document it more explicitly. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
* | | | | Merge branch 'threaded-resolver-assertion-fix' into 'main'Michael Catanzaro2023-04-271-3/+0
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | gthreadedresolver: Remove some incorrect assertions See merge request GNOME/glib!3405
| * | | | gthreadedresolver: Remove some incorrect assertionsPhilip Withnall2023-04-271-3/+0
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a timeout executes on the same main context iteration as completion or cancellation of a resolver lookup, `has_returned` will be set multiple times. That’s fine (the `GCond` will be notified multiple times, but that’s fine). It was triggering an incorrect assertion, so remove that. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
* | | | Merge branch 'resolver-thread-pool' into 'main'Philip Withnall2023-04-276-134/+626
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | gthreadedresolver: Switch to using a separate thread pool and support timeouts See merge request GNOME/glib!3397
| * | | | gresolver: Set timeout on default resolver to 30sPhilip Withnall2023-04-271-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default for the class is still to have no timeout, but it seems more practical for most use cases to set a non-infinite timeout on the default resolver. If applications have a more specific use case, they can change the timeout or replace the default resolver. See https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3397#note_1731387 Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
| * | | | tests: Fix cancellation source handling in resolver manual testPhilip Withnall2023-04-271-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If `async_cancel()` was invoked, it would remove the IO watch source, which would cause the `g_source_remove()` call at the end of `main()` to warn about an unknown source ID. Fix that by handling the source as a pointer instead of a handle. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
| * | | | tests: Support --timeout argument in resolver manual testPhilip Withnall2023-04-271-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For testing timeouts. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
| * | | | gthreadedresolver: Document design of GThreadedResolverPhilip Withnall2023-04-271-0/+41
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
| * | | | gthreadedresolver: Re-add cancellation and add timeout supportPhilip Withnall2023-04-271-0/+97
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
| * | | | gthreadedresolver: Switch to using a separate thread poolPhilip Withnall2023-04-271-36/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than running lookups in the global shared thread pool belonging to `GTask`, run them in a private thread pool. This is needed because the global shared thread pool is constrained to only 14 threads. If there are 14 ongoing calls to `g_task_run_in_thread()` from any library/code in the process, and then one of them asks to do a DNS lookup, the lookup will block forever. Under certain circumstances, particularly where there are a couple of deep chains of dependent tasks running with `g_task_run_in_thread()`, this can livelock the program. Since `GResolver` is likely to be called as a frequent leaf call in certain workloads, and in particular there are likely to be several lookups requested at the same time, it makes sense to move resolver lookups to a private thread pool. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
| * | | | gthreadedresolver: Centralise GTask return handling in worker threadsPhilip Withnall2023-04-271-63/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will make it simpler to handle timeouts and cancellation in future, as all the logic for working out whether to return will all be in one place, and all the lookup-specific code is now implemented in simple sync functions which don’t need to care about `GTask`s. This commit introduces no functional changes, it’s just setting up for the following commit. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
| * | | | gthreadedresolver: Combine closure structs for different lookup typesPhilip Withnall2023-04-271-51/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces no functional changes, but will make a reorganisation of the code simpler in the next commit. Rather than dealing with three different closure types, this changes the code to deal with one which is a tagged union of the three. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
| * | | | gthreadedresolver: Port to G_DECLARE_FINAL_TYPEPhilip Withnall2023-04-272-15/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The class and its header are not public, so this should not be an API or ABI break. This just simplifies the code a little and allows for easy extension of the object’s private data in future commits. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
| * | | | gresolver: Add GResolver:timeout propertyPhilip Withnall2023-04-273-2/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without a timeout, some lookup requests can go on forever, typically due to bugs in underlying systems. This can have particularly significant effects on the Happy Eyeballs algorithm in `GSocketClient`, which relies on multiple name lookups as its first step. Signed-off-by: Philip Withnall <pwithnall@endlessos.org> Helps: #2866
| * | | | gthreadedresolver: Add some additional debug printsPhilip Withnall2023-04-251-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These make it a bit easier to track the ongoing resolver tasks, as the tasks and/or their closures are not tracked in a big list somewhere. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
* | | | | Merge branch 'task-tracking' into 'main'Philip Withnall2023-04-272-0/+71
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | gtask: Track pending GTasks if G_ENABLE_DEBUG is defined See merge request GNOME/glib!3404
| * | | | | gtask: Track pending GTasks if G_ENABLE_DEBUG is definedPhilip Withnall2023-04-272-0/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Track the `GTask`s which are still alive (not finalised) in a shared list, and provide a secret debugging function for printing that list. Too often when debugging apps, I have found that a ‘leaked’ object is actually still (validly) referenced by an ongoing `GTask` which hasn’t completed for whatever reason. Or I have found that an operation has obviously stalled, but there are no pointers available to the `GTask` which is stalled, because it’s being tracked as a collection of closure pointers from some `GSource` which is hard to get to in the debugger. It will be very useful for debugging apps, if there’s a list of all the still alive `GTask`s somewhere. This is that list. The code is disabled if `G_ENABLE_DEBUG` is not defined, to avoid every `GTask` construction/finalisation imposing a global locking penalty. To use the new list, break in `gdb` while running your app, and call `g_task_print_alive_tasks()`, or inspect the `task_list` manually: ``` (gdb) print g_task_print_alive_tasks() 16:44:17:788 GLib-GIO 5 GTasks still alive: • GTask 0x6100000ac740, gs_plugin_appstream_setup_async, ref count: 1, ever_returned: 0, completed: 0 • GTask 0x6100000bf940, [gio] D-Bus read, ref count: 2, ever_returned: 0, completed: 0 • GTask 0x6100000aac40, gs_plugin_loader_setup_async, ref count: 1, ever_returned: 0, completed: 0 • GTask 0x61000006d940, gs_plugin_loader_job_process_async GsPluginJobRefine, ref count: 1, ever_returned: 0, completed: 0 • GTask 0x610000118c40, [gio] D-Bus read, ref count: 2, ever_returned: 0, completed: 0 ``` Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
* | | | | | Merge branch '2951-reinstate-fileinfo-criticals' into 'main'Philip Withnall2023-04-271-4/+4
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert "gfileinfo: Temporarily downgrade missing attribute criticals to debugs" Closes #2951 See merge request GNOME/glib!3379
| * | | | | | Revert "gfileinfo: Temporarily downgrade missing attribute criticals to debugs"Philip Withnall2023-04-141-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4cad66580b698e01d196cddc3b9950940a41fee9. Downgrading the criticals was only temporary. Now we’ve branched for GLib 2.78, the criticals can be reinstated early this cycle, so people have the maximum time to fix latent bugs in their code. Fixes: #2951
* | | | | | | Merge branch '98-current-path' into 'main'Marco Trevisan2023-04-271-10/+14
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gfileutils: Fix potential integer overflow in g_get_current_dir() Closes #98 See merge request GNOME/glib!3375
| * | | | | | | gfileutils: Fix potential integer overflow in g_get_current_dir()Philip Withnall2023-04-141-10/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In practice, this will never happen. If `getcwd()` returns `ERANGE` whenever the working directory is ≥ `PATH_MAX`, though, the previous implementation of the loop would run until `max_len == G_MAXULONG`, and would then overflow when adding `1` to it for a nul terminator in the allocation. Avoid that problem by always keeping `buffer_len` as a power of two, and relying on `getcwd()` to write a nul terminator within the buffer space it’s given. It seems to do this on all platforms we care about, because the previous version of the code never explicitly wrote a nul terminator anywhere. Signed-off-by: Philip Withnall <pwithnall@endlessos.org> Fixes: #98
* | | | | | | | Update Galician translationFran Dieguez2023-04-271-255/+255
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (cherry picked from commit 665d01fbca7a1d0bbe98d95fbcb3ee925b5d03b4)
* | | | | | | | Merge branch 'disable-coverity' into 'main'Michael Catanzaro2023-04-261-1/+1
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | ci: Disable the Coverity CI job See merge request GNOME/glib!3401
| * | | | | | | ci: Disable the Coverity CI jobPhilip Withnall2023-04-261-1/+1
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It’s not produced anything but false positives for several years now, and it would be better to save the CI/analysis/triage resources and instead focus on `scan_build` reports, which generally seem to be more useful. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
* | | | | | | Merge branch 'update-errfmt-in-gunixconnection-part3' into 'main'Philip Withnall2023-04-261-14/+20
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | restore error messages in gunixconnection while maintaining older compiler support See merge request GNOME/glib!3400
| * | | | | | | gio: switch gunixconnection ngettext with g_dngettext callsJames Knight2023-04-251-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes the use of `ngettext` with `g_dngettext`. The project defined `g_dngettext` (with domain support) provides the same functionality as `ngettext` with a NULL domain provided. The purpose of this change is to help address a build error for certain compilers that trigger a `format-nonliteral` error-promoted-warning when using `ngettext` (see also [1][2]). The benefit of switching to use `g_dngettext` is that the function is defined with `G_GNUC_FORMAT`. This provides a hint to GNU GCC compilers to still sanity check these arguments, but not generate a `format-nonliteral`. [1]: 4ae8606b6f80f9764e1f0a82cea7e23c8af487ae [2]: 0ca660315a9044696f778da087a6e3dd8910a765 Signed-off-by: James Knight <james.d.knight@live.com>
| * | | | | | | Revert "Fix error format in gio/gunixconnection.c (part 2)"James Knight2023-04-251-14/+17
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4ae8606b6f80f9764e1f0a82cea7e23c8af487ae. The idea for the change [1] was to address a build error for certain compilers that trigger a `format-nonliteral` error-promoted-warning since these compilers do not gracefully support `ngettext` usage. The changes following a pattern from an old commit [2]; however, James Hilliard has pointed out these changes do not work as intended. A deeper inspection of the commit showed that the commit was from an old merge request that was not pulled in, detailing why the changes did not work (see also [3][4]). Manipulating the sockets unit test confirms that the format values no longer get a proper value: ... ok 9 /socket/address ok 10 /socket/unix-from-fd ok 11 /socket/unix-connection ** GLib-GIO:ERROR:../gio/tests/socket.c:1493:test_unix_connection_ancillary_data: assertion failed (err == NULL): Expecting one fd, but got %d (g-io-error-quark, 0) ... And reverting this change restores the original functionality: ... ok 9 /socket/address ok 10 /socket/unix-from-fd ok 11 /socket/unix-connection ** GLib-GIO:ERROR:../gio/tests/socket.c:1493:test_unix_connection_ancillary_data: assertion failed (err == NULL): Expecting 1 control message, got 0 (g-io-error-quark, 0) ... [1]: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3390 [2]: 44b3d5d80445234041f6c59feb89645f7102c3a4 [3]: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/770 [4]: https://gitlab.gnome.org/GNOME/glib/-/issues/1744 Signed-off-by: James Knight <james.d.knight@live.com>
* | | | | | | Merge branch 'task-shared-resource-docs' into 'main'Philip Withnall2023-04-261-0/+7
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gtask: Document that g_task_run_in_thread() uses a shared resource See merge request GNOME/glib!3395
| * | | | | | | gtask: Document that g_task_run_in_thread() uses a shared resourcePhilip Withnall2023-04-251-0/+7
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It’s a bad idea to use it without some care for how much it’s being called in parallel, or dependencies between tasks. If the thread pool gets exhausted by too many inter-dependent calls to `g_task_run_in_thread()` then the process will livelock. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
* | | | | | | Merge branch 'unix-fd-source-docs' into 'main'Philip Withnall2023-04-261-3/+6
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | glib-unix: Improve documentation for g_unix_fd_source_new() See merge request GNOME/glib!3396
| * | | | | | | glib-unix: Improve documentation for g_unix_fd_source_new()Philip Withnall2023-04-251-3/+6
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In particular, document the type of the callback function. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
* | | | | | | Merge branch 'pkj/fix-g_futex_simple' into 'main'Sebastian Dröge2023-04-261-1/+5
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | Avoid having g_futex_simple() inadvertently modify errno See merge request GNOME/glib!3398
| * | | | | | Avoid having g_futex_simple() inadvertently modify errnoPeter Kjellerstedt2023-04-261-1/+5
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If both __NR_futex and __NR_futex_time64 are defined, g_futex_simple() will first call futex_time64(). If that fails with ENOSYS, then futex_time() is called instead. However, errno was not saved and restored in this case, which would result in g_futex_simple() returning with errno set to ENOSYS, even if futex_time() succeeded.
* | | | | | Merge branch 'doc-indentation' into 'main'Philip Withnall2023-04-242-2/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix small issues in docs See merge request GNOME/glib!3393