PreviousUpNext

15.3.386  src/lib/src/lib/thread-kit/src/core-thread-kit/mailslot.api

## mailslot.api
#
# Synchronous message-passing -- nothing happens until both
# sending and receiving thread are ready to proceed.

# Compiled by:
#     src/lib/std/standard.lib





stipulate
    package mop =  mailop;                                              # mailop                is from   src/lib/src/lib/thread-kit/src/core-thread-kit/mailop.pkg
herein

    # This api is implemented in:
    #
    #     src/lib/src/lib/thread-kit/src/core-thread-kit/mailslot.pkg
    #
    api Mailslot {
        #
        Mailslot(X);

        make_mailslot:                   Void -> Mailslot(X);

        same_mailslot:                  (Mailslot(X), Mailslot(X)) -> Bool;

        put_in_mailslot:                (Mailslot(X), X) -> Void;
        take_from_mailslot:              Mailslot(X) -> X;

        put_in_mailslot':               (Mailslot(X), X) -> mop::Mailop( Void );
        take_from_mailslot':             Mailslot(X)     -> mop::Mailop(X);

        nonblocking_put_in_mailslot:    (Mailslot(X), X) -> Bool;
        nonblocking_take_from_mailslot:  Mailslot(X) -> Null_Or(X);
    };
end;


## COPYRIGHT (c) 1989-1991 John H. Reppy
## COPYRIGHT (c) 1995 AT&T Bell Laboratories.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext