[gambit-list] Pushing events between C++ and Scheme + timers
Joel Reymont
joelr at well.com
Wed Dec 8 14:30:20 EST 2004
> Marc Feeley wrote:
>Are you willing to start a C thread for the Scheme code?
I could but I'd rather avoid it if I can.
>This would
>decouple control between Scheme and C, allowing timers to be
>implemented in Scheme with the I/O timeout mechanisms.
How would you implement these timers?
>Then you need
>two pipes between the C and Scheme worlds. These pipes could be
>actual OS pipes, sockets, or a new type of device (this would be more
>efficient and portable, but require the implementation of a new device
>in _os_io.c).
Can they be simple Scheme lists?
I thought I could have 3 Scheme functions I would call from C++ where one
would start the Scheme loop in a Scheme thread and the other two would
let C++ post events (sexp) to the "incoming events" Scheme list and the
other would retrieve them from the "outgoing" list. The post/retrieve
functions would use a mutex to block access to the lists/queues. Then I
could do the timer by launching another thread within Gambit.
Maybe I'm misunderstanding the nature of integration that would be
required here. Please let me know!
Thanks, Joel
--
OpenPoker: The Linux of poker software
http://wagerlabs.com/forums
More information about the Gambit-list
mailing list