PreviousUpNext

15.3.382  src/lib/src/lib/thread-kit/src/core-thread-kit/io-now-possible-mailop.api

## io-now-possible-mailop.api
#
# Interface to a module which basically uses C-level select()/poll()                    # BSD systems implement select(), SysV systems implement poll(), many modern OSes implement both.
# to determine when file or socket I/O is possible (i.e., when
# there is data available in an input buffer or space available
# in an output buffer).
#
# NOTE: It currently does not work if more than
#       one thread blocks on the same descriptor.        XXX BUGGO FIXME

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



###            "Software is like sex:
###             It's better when it's free."
###
###                             -- Linus Torvalds



stipulate
    package mop =  mailop;                                                              # mailop                is from   src/lib/src/lib/thread-kit/src/core-thread-kit/mailop.pkg
    package wio =  winix__premicrothread::io;                                           # winix__premicrothread is from   src/lib/std/winix--premicrothread.pkg
herein

    # This api is implemented in:
    #
    #     src/lib/src/lib/thread-kit/src/core-thread-kit/io-now-possible-mailop.pkg
    #
    api Io_Now_Possible_Mailop {
        #
        io_now_possible_on':                                    wio::Ioplea -> mop::Mailop( wio::Ioplea_Result );

        add_any_new_fd_io_opportunities_to_run_queue__iu:       Void -> Void;

        have_fds_on_io_watch:                                   Void -> Bool;                   # TRUE iff we've (potentially) got something to do.
    };
end;


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext