Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | (* mailbox.sig |
2 | * 2004 Matthew Fluet (mfluet@acm.org) | |
3 | * Ported to MLton threads. | |
4 | *) | |
5 | ||
6 | (* mailbox-sig.sml | |
7 | * | |
8 | * COPYRIGHT (c) 1995 AT&T Bell Laboratories | |
9 | * COPYRIGHT (c) 1989-1991 John H. Reppy | |
10 | * | |
11 | * Asynchronous channels (called mailboxes). | |
12 | *) | |
13 | ||
14 | signature MAILBOX = | |
15 | sig | |
16 | type 'a mbox | |
17 | ||
18 | val mailbox : unit -> 'a mbox | |
19 | val sameMailbox : ('a mbox * 'a mbox) -> bool | |
20 | ||
21 | val send : ('a mbox * 'a) -> unit | |
22 | val recv : 'a mbox -> 'a | |
23 | val recvEvt : 'a mbox -> 'a CML.event | |
24 | val recvPoll : 'a mbox -> 'a option | |
25 | end | |
26 | ||
27 | signature MAILBOX_EXTRA = | |
28 | sig | |
29 | include MAILBOX | |
30 | (*val resetMbox : 'a mbox -> unit*) | |
31 | end |