(let ((gc-tick (car (gc-timestamp))))
(if (fix:< done-tick gc-tick)
(begin
+ (%trace ";run-glib cleaning up\n")
(run-glib-cleanups)
+ (%trace ";run-glib clean up done\n")
(set! done-tick gc-tick)))
(if (fix:< next-secondary-tick gc-tick)
(begin
+ (%trace ";run-glib secondary-gc daemons\n")
(trigger-secondary-gc-daemons!)
+ (%trace ";run-glib secondary-gc daemons done\n")
(set! next-secondary-tick
(fix:+ gc-tick secondary-gc-rate)))))))
(with-thread-timer-stopped
(%trace ";run-glib until "time"\n")
(run-glib (select-registry-handle io-registry) time)
(%trace ";run-glib done at "(real-time-clock)"\n"))))
+ (%trace ";run-glib yields\n")
(yield-current-thread)
+ (%trace ";run-glib loops\n")
(glib-thread-loop))))))
(detach-thread glib-thread))
src->runnable ? "thread"
: interrupts_p () ? "interrupt"
: OS_process_any_status_change () ? "subprocess"
- : src->time_limit == 0.0 ? "" : "i/o");
+ : src->time_limit == 0.0 ? "" : "io");
return (TRUE);
}
if (src->time_limit == -1.0)
GPollFD * gfd = scan->data;
if (gfd->revents != 0)
{
- fprintf (stderr, ";scheme_source_check: i/o ready on %d\n",
+ fprintf (stderr, ";scheme_source_check: io ready on %d\n",
gfd->fd);
}
scan = scan->next;
run_glib (unsigned long registry, double time)
{
/* Return to the toolkit with the scheme_source set up to dispatch
- to Scheme again when I/O is ready, or a certain TIME has passed.
- If TIME has already passed, the I/O registry is ignored and
- Scheme is ready to run again immediately. If I/O is empty, the
+ to Scheme again when IO is ready, or a certain TIME has passed.
+ If TIME has already passed, the IO registry is ignored and
+ Scheme is ready to run again immediately. If IO is empty, the
simulated poll should not re-enter Scheme until TIME. */
set_registry (scheme_source,