-
-
Notifications
You must be signed in to change notification settings - Fork 705
Deprecate GCond
and GMutex
compat layer
#4249
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deprecate GCond
and GMutex
compat layer
#4249
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
GCond
and GMutex
compat layerGCond
and GMutex
compat layer
7f3432e
to
5b0f1e6
Compare
ddb745e
to
81575c6
Compare
3af143b
to
24a198a
Compare
Commit 2a20e41 ensures ABI compatibility for the public |
Changing `GCond *` to `GCond` in public structures would break ABI compatibility, at least when building against GLib 2.x. See: https://gitlab.gnome.org/GNOME/glib/-/issues/1256.
24a198a
to
2a20e41
Compare
if (fits->line) | ||
g_mutex_clear(&fits->lock); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't ideal. An alternative might be merging this with fitsload.c
, but that is a much larger change.
This looks OK to me, well done for doing this horrible job. I think the size of |
Ah, you're right. Though, we didn't mark these How about a ping-pong strategy? We could land this PR as-is for 8.17 and then revert 2a20e41 in 8.18. This would hopefully appease the API/ABI checkers. |
Sure, why not. OK to merge now? |
Sure, let's merge! :) |
This PR migrates and deprecates the following functions in favor of their GLib equivalents:
vips_g_mutex_new()
is replaced byg_mutex_init()
vips_g_mutex_free()
is replaced byg_mutex_clear()
vips_g_cond_new()
is replaced byg_cond_init()
vips_g_cond_free()
is replaced byg_cond_clear()
Additionally, explicit calls toEdit: split to #4362.g_mutex_{init,clear}()
have been removed for mutexes initialized in static storage, as this is only necessary for mutexes that are part of dynamically allocated structures.Context: #4134 (comment).
The abi-compliance-checker results are available at:
https://kleisauke.nl/compat_reports/vips/master_to_deprecate-gcond-gmutex-compat-layer/compat_report.html
Marked as draft to investigate a potential ABI breakage in the publicEdit: fixed with commit 2a20e41.VipsSemaphore
structure.