Mike Gran

Results 46 comments of Mike Gran

I have been playing with Actions a bit. It has a somewhat annoying property of hiding some error messages, but, it would be a path forward.

I think the Github Actions is capable enough. As you say, #52 and the less common builds. Also to update the `bulid passing` flair.

[segv-task-thread.scm.txt](https://github.com/spk121/guile-gi/files/5869146/segv-task-thread.scm.txt)

But replacing GLib's `run-in-thread` with Guile's `call-with-new-thread` seems okay so far. Maybe the fix is *don't do that*.

That's probably enough. It appears that `g_task_thread_pool_thread` FFI goes to `callback_binding()` before trying to unpack any arguments, and that calling `scm_init_guile` in `callback_binding()` fixes. That then reveals a further problem...

OK, more info. OK, at some point I'd converted some of the type errors under `gig_argument_c_to_scm` to Guile errors `scm_wrong_type` etc. After adding `scm_init_guile` to `callback_binding` we're always in a...

I think what I'd really want in `callback_binding` and `c_callback_binding` is to install a continuation barrier only if we know that one doesn't already exist. ``` if (scm_thread_is_known_to_guile ()) callback_binding_inner(&args);...

OK. I changed the logic to catch callback errors and immediately quit if we're not in the main thread, or to throw if we're in the main thread, which is...

For the latter point, that's a great idea, and I hadn't thought of that. For the former, the `scm_with_guile` should dump the stack trace for the callback because it installs...