PreviousUpNext

15.3.402  src/lib/src/lib/thread-kit/src/posix/threadkit-driver-for-os.api

## threadkit-driver-for-os.api
#
# This is the interface to an OS specific module that glues the various
# OS-specific scheduling operations together (i.e., timeouts, I/O, signals,
# etc...).

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




# This api defines the argtype for the generics:
#
#     src/lib/src/lib/thread-kit/src/glue/threadkit-base-for-os-g.pkg
#     src/lib/src/lib/thread-kit/src/glue/thread-scheduler-control-g.pkg

# This api is implemented by:
#
#     src/lib/src/lib/thread-kit/src/posix/threadkit-driver-for-posix.pkg
#
api Threadkit_Driver_For_Os {
    #
    start_threadkit_driver:                                                             Void -> Void;                   # Called at start-up time. 

    wake_sleeping_threads_and_schedule_fd_io_and_harvest_dead_subprocesses__iu: Void -> Void;                           # Called at pre-emption points.

    block_until_some_thread_becomes_runnable:                                           Void -> Bool;                   # Called when there are no runnable threads.
                                                                                                                        # If possible blocks until some thread becomes runnable
                                                                                                                        # (for example due to a timeout or I/O on a pipe or socket)
                                                                                                                        # and then returns TRUE.  If there is no way for anything to
                                                                                                                        # ever become runnable it returns FALSE. (This is an error condition.)

    stop_threadkit_driver:                                                              Void -> Void;                   # Called when the system is shutting down.
};



## 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