Re: calling methods

2018-05-29 Thread Lance Dillon
Like in the case of something in glib adding a timeout for a signal, which calls back into pike, but that is a separate thread not called from pike directly... I see, thanks... On Tuesday, May 29, 2018, 5:13:08 AM EDT, Marcus Comstedt (ACROSS) (Hail Ilpalazzo!) @ Pike (-) developers forum

Re: calling methods

2018-05-29 Thread Marcus Comstedt (ACROSS) (Hail Ilpalazzo!) @ Pike (-) developers forum
invoke_signal_func calls Pike code (via apply_svalue). To run Pike code, you need to hold the interpreter lock. But that is not all. You also need to have a Pike stack and a frame pointer, which are thread local. These are kept in a structure called a "Pike_interpreter_struct", which in turn is

Re: calling methods

2018-05-29 Thread Henrik Grubbstr�m (Lysator) @ Pike (-) developers forum
> Could I trouble you for some insight into your GI branch code? > I was looking at > >static void signal_func_wrapper(struct signal_data *d, gpointer go, guint >n_params, >    const GValue *param_values, GValue >*return_value) { >    struct signal_wrapper_context