I think that you roll your own syncronization primitive, instead of using
an async-channel. Create a thread and have a little loop that gets whatever
the events you want to support (e.g., get, put, is-full?) and then work
directly at this level. This is the beauty of CML; writing such things is
easy.

Robby


On Fri, Nov 29, 2013 at 2:23 PM, Eric Dobson <eric.n.dob...@gmail.com>wrote:

> I'm trying to make a custom output port that is backed by a
> async-channel. One of the operations that ports need to provide is an
> event that is ready when progress on the event can be made. But since
> I cannot tell if the async-channel is full and put would not block
> without actually sending a value, I cannot provide such an event. Is
> it possible to provide such an API or does the implementation of
> async-channels prevent this?
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users
>
____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to