[gambit-list] FFI & threads
Marc Feeley
feeley at IRO.UMontreal.CA
Sun Oct 31 06:43:19 EST 2004
> Hello,
>
> I don't find a solution how to suspend
> a gambit thread until input is available
> (and/or output is possible) on a
> file descriptor with known number, which
> is opened in non-blocking mode by a
> foreign library. Is there a clean way
> without polling?
You could create a Scheme port from the file descriptor and then use
the normal I/O operations on that. Here is some (untested) code to
illustrate how this can be done:
(define direction-in 1)
(define direction-out 2)
(define direction-inout 3)
(define (fd->port fd mode) (##open-predefined mode '(fd-port) fd))
(define fd (get-fd-using-ffi!))
(define my-port (fd->port fd direction-inout))
... use my-port like a normal port ...
Marc
More information about the Gambit-list
mailing list