mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2026-08-07 01:49:09 +00:00
Constify event_loop_core
Was used as write variable only for testing. Avoid usage of not constant globals. Making globals constants avoid future race condition usages. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
This commit is contained in:
parent
6f388ef65a
commit
c70b2067a9
@ -17,9 +17,9 @@
|
||||
*/
|
||||
|
||||
/*
|
||||
*This file export a global variable:
|
||||
* This file exports a global variable:
|
||||
*
|
||||
* SpiceCoreInterfaceInternal event_loop_core;
|
||||
* const SpiceCoreInterfaceInternal event_loop_core;
|
||||
*/
|
||||
|
||||
#include "red-common.h"
|
||||
@ -168,7 +168,7 @@ static void watch_remove(SpiceWatch *watch)
|
||||
free(watch);
|
||||
}
|
||||
|
||||
SpiceCoreInterfaceInternal event_loop_core = {
|
||||
const SpiceCoreInterfaceInternal event_loop_core = {
|
||||
.timer_add = timer_add,
|
||||
.timer_start = timer_start,
|
||||
.timer_cancel = timer_cancel,
|
||||
|
||||
@ -58,7 +58,7 @@ struct SpiceCoreInterfaceInternal {
|
||||
GMainContext *main_context;
|
||||
};
|
||||
|
||||
extern SpiceCoreInterfaceInternal event_loop_core;
|
||||
extern const SpiceCoreInterfaceInternal event_loop_core;
|
||||
|
||||
typedef struct RedsState RedsState;
|
||||
|
||||
|
||||
@ -36,6 +36,7 @@ int debug = 0;
|
||||
} \
|
||||
}
|
||||
|
||||
static SpiceCoreInterfaceInternal base_core_interface;
|
||||
static GMainContext *main_context = NULL;
|
||||
|
||||
GMainContext *basic_event_loop_get_context(void)
|
||||
@ -69,12 +70,12 @@ static void ignore_sigpipe(void)
|
||||
|
||||
static SpiceTimer* base_timer_add(SpiceTimerFunc func, void *opaque)
|
||||
{
|
||||
return event_loop_core.timer_add(&event_loop_core, func, opaque);
|
||||
return base_core_interface.timer_add(&base_core_interface, func, opaque);
|
||||
}
|
||||
|
||||
static SpiceWatch *base_watch_add(int fd, int event_mask, SpiceWatchFunc func, void *opaque)
|
||||
{
|
||||
return event_loop_core.watch_add(&event_loop_core, fd, event_mask, func, opaque);
|
||||
return base_core_interface.watch_add(&base_core_interface, fd, event_mask, func, opaque);
|
||||
}
|
||||
|
||||
static SpiceCoreInterface core = {
|
||||
@ -91,13 +92,14 @@ SpiceCoreInterface *basic_event_loop_init(void)
|
||||
ignore_sigpipe();
|
||||
spice_assert(main_context == NULL);
|
||||
main_context = g_main_context_new();
|
||||
core.timer_start = event_loop_core.timer_start;
|
||||
core.timer_cancel = event_loop_core.timer_cancel;
|
||||
core.timer_remove = event_loop_core.timer_remove;
|
||||
core.watch_update_mask = event_loop_core.watch_update_mask;
|
||||
core.watch_remove = event_loop_core.watch_remove;
|
||||
event_loop_core.channel_event = core.channel_event = event_loop_channel_event;
|
||||
event_loop_core.main_context = main_context;
|
||||
base_core_interface = event_loop_core;
|
||||
core.timer_start = base_core_interface.timer_start;
|
||||
core.timer_cancel = base_core_interface.timer_cancel;
|
||||
core.timer_remove = base_core_interface.timer_remove;
|
||||
core.watch_update_mask = base_core_interface.watch_update_mask;
|
||||
core.watch_remove = base_core_interface.watch_remove;
|
||||
base_core_interface.channel_event = core.channel_event = event_loop_channel_event;
|
||||
base_core_interface.main_context = main_context;
|
||||
|
||||
return &core;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user