struct sigaction previous_sa;
int ret;
- sa.sa_sigaction = handler;
+ sa.sa_sigaction = (void (*)(int, siginfo_t *, void *))handler;
sigfillset (&sa.sa_mask);
sa.sa_flags = SA_SIGINFO | flags;
#if MONO_ARCH_HAS_MONO_CONTEXT
MonoContext tmp = current->thread_saved_state [ASYNC_SUSPEND_STATE_INDEX].ctx;
mono_threads_get_runtime_callbacks ()->setup_async_callback (&tmp, current->async_target, current->user_data);
- current->async_target = current->user_data = NULL;
+ current->user_data = NULL;
+ current->async_target = NULL;
mono_monoctx_to_sigctx (&tmp, context);
#else
g_error ("The new interruption machinery requires a working mono-context");