|
@@ -682,6 +682,18 @@ void aio_context_destroy(AioContext *ctx)
|
|
aio_free_deleted_handlers(ctx);
|
|
aio_free_deleted_handlers(ctx);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+void aio_context_use_g_source(AioContext *ctx)
|
|
|
|
+{
|
|
|
|
+ /*
|
|
|
|
+ * Disable io_uring when the glib main loop is used because it doesn't
|
|
|
|
+ * support mixed glib/aio_poll() usage. It relies on aio_poll() being
|
|
|
|
+ * called regularly so that changes to the monitored file descriptors are
|
|
|
|
+ * submitted, otherwise a list of pending fd handlers builds up.
|
|
|
|
+ */
|
|
|
|
+ fdmon_io_uring_destroy(ctx);
|
|
|
|
+ aio_free_deleted_handlers(ctx);
|
|
|
|
+}
|
|
|
|
+
|
|
void aio_context_set_poll_params(AioContext *ctx, int64_t max_ns,
|
|
void aio_context_set_poll_params(AioContext *ctx, int64_t max_ns,
|
|
int64_t grow, int64_t shrink, Error **errp)
|
|
int64_t grow, int64_t shrink, Error **errp)
|
|
{
|
|
{
|