[Spice-devel] [PATCH spice-gtk 2/4] coroutine: replace IN_MAIN_CONTEXT macro
Christophe Fergeau
cfergeau at redhat.com
Tue Nov 19 08:04:27 PST 2013
On Tue, Nov 19, 2013 at 04:14:23PM +0100, Marc-André Lureau wrote:
> Use a nicer function, with correct prefix.
> Remove extra "context" from function name
> ---
> gtk/coroutine.h | 8 +++++---
> gtk/coroutine_gthread.c | 2 +-
> gtk/coroutine_ucontext.c | 2 +-
> gtk/coroutine_winfibers.c | 2 +-
> gtk/gio-coroutine.c | 2 +-
> gtk/spice-channel-priv.h | 2 +-
> spice-common | 2 +-
> 7 files changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/gtk/coroutine.h b/gtk/coroutine.h
> index 8d6c406..c7e3069 100644
> --- a/gtk/coroutine.h
> +++ b/gtk/coroutine.h
> @@ -55,8 +55,6 @@ struct coroutine
> #endif
> };
>
> -#define IN_MAIN_CONTEXT (coroutine_self() == NULL || coroutine_is_main_context(coroutine_self()))
> -
> int coroutine_init(struct coroutine *co);
>
> int coroutine_release(struct coroutine *co);
> @@ -69,7 +67,11 @@ void *coroutine_yieldto(struct coroutine *to, void *arg);
>
> void *coroutine_yield(void *arg);
>
> -gboolean coroutine_is_main_context(struct coroutine *co);
> +gboolean coroutine_is_main(struct coroutine *co);
> +
> +static inline gboolean coroutine_self_is_main(void) {
> + return coroutine_self() == NULL || coroutine_is_main(coroutine_self());
> +}
>
> #endif
> /*
> diff --git a/gtk/coroutine_gthread.c b/gtk/coroutine_gthread.c
> index ab30631..3542a82 100644
> --- a/gtk/coroutine_gthread.c
> +++ b/gtk/coroutine_gthread.c
> @@ -160,7 +160,7 @@ void *coroutine_yield(void *arg)
> return coroutine_swap(coroutine_self(), to, arg);
> }
>
> -gboolean coroutine_is_main_context(struct coroutine *co)
> +gboolean coroutine_is_main(struct coroutine *co)
> {
> return (co == &leader);
> }
> diff --git a/gtk/coroutine_ucontext.c b/gtk/coroutine_ucontext.c
> index 4689166..6ee3695 100644
> --- a/gtk/coroutine_ucontext.c
> +++ b/gtk/coroutine_ucontext.c
> @@ -145,7 +145,7 @@ void *coroutine_yield(void *arg)
> return coroutine_swap(coroutine_self(), to, arg);
> }
>
> -gboolean coroutine_is_main_context(struct coroutine *co)
> +gboolean coroutine_is_main(struct coroutine *co)
> {
> return (co == &leader);
> }
> diff --git a/gtk/coroutine_winfibers.c b/gtk/coroutine_winfibers.c
> index 266b1de..bdecea6 100644
> --- a/gtk/coroutine_winfibers.c
> +++ b/gtk/coroutine_winfibers.c
> @@ -112,7 +112,7 @@ void *coroutine_yield(void *arg)
> return coroutine_swap(coroutine_self(), to, arg);
> }
>
> -gboolean coroutine_is_main_context(struct coroutine *co)
> +gboolean coroutine_is_main(struct coroutine *co)
> {
> return (co == &leader);
> }
> diff --git a/gtk/gio-coroutine.c b/gtk/gio-coroutine.c
> index dd2b9fc..9de9b54 100644
> --- a/gtk/gio-coroutine.c
> +++ b/gtk/gio-coroutine.c
> @@ -252,7 +252,7 @@ void g_object_notify_main_context(GObject *object,
> {
> struct signal_data data;
>
> - if (IN_MAIN_CONTEXT) {
> + if (coroutine_self_is_main()) {
> g_object_notify(object, property_name);
> } else {
>
> diff --git a/gtk/spice-channel-priv.h b/gtk/spice-channel-priv.h
> index 351126f..0816061 100644
> --- a/gtk/spice-channel-priv.h
> +++ b/gtk/spice-channel-priv.h
> @@ -186,7 +186,7 @@ void spice_caps_set(GArray *caps, guint32 cap, const gchar *desc);
> /* coroutine context */
> #define emit_main_context(object, event, args...) \
> G_STMT_START { \
> - if (IN_MAIN_CONTEXT) { \
> + if (coroutine_self_is_main()) { \
> do_emit_main_context(G_OBJECT(object), event, &((struct event) { args })); \
> } else { \
> g_signal_emit_main_context(G_OBJECT(object), do_emit_main_context, \
> diff --git a/spice-common b/spice-common
> index 1450bb4..5dfdd0c 160000
> --- a/spice-common
> +++ b/spice-common
> @@ -1 +1 @@
> -Subproject commit 1450bb4ddbd8ceab9192e4f84606aa5ae54c5ea6
> +Subproject commit 5dfdd0c0d5174d1d833d4830e898dcd354cf07cf
ACK with that removed.
Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20131119/cf9c5721/attachment.pgp>
More information about the Spice-devel
mailing list