PreviousUpNext

15.3.385  src/lib/src/lib/thread-kit/src/glue/thread-scheduler-control.api

## thread-scheduler-control.api

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

# This API is implemented by:
#     src/lib/src/lib/thread-kit/src/glue/thread-scheduler-control-g.pkg

api Thread_Scheduler_Control {

    start_up_thread_scheduler
        :
        (Void -> Void)                                  # Thunk to run.
        ->
        winix::process::Status;

    start_up_thread_scheduler'
        :
        time::Time                                      # timeslice quantum
        ->
        (Void -> Void)                                  # Thunk to run.
        ->
        winix::process::Status;

    # Run given first_thread_thunk with
    # threadkit concurrency support.
    # Make life easy for the user by
    # nesting cleanly -- we start up
    # threadkit only if needed, if it
    # is already running we just run
    # the thunk and return:
    #
    thread_scheduler
        :
        (Void -> X)                                     # Thunk to run.
        ->
        Void;

    thread_scheduler_is_running
        :
        Void -> Bool;

    shut_down_thread_scheduler
        :
        winix::process::Status -> X;                    # winix::process::Status == Int.

    spawn_to_disk
        :
        ( String,
          (   (String, List( String ))
              ->
              winix::process::Status
          ),
          Null_Or( time::Time )
        )
        ->
        Void;

    include Threadkit_Startup_And_Shutdown_Hooks;       # Threadkit_Startup_And_Shutdown_Hooks          is from   src/lib/src/lib/thread-kit/src/core-thread-kit/threadkit-startup-and-shutdown-hooks.api
};


## COPYRIGHT (c) 1989-1991 John H. Reppy
## COPYRIGHT (c) 1996 AT&T Research.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2012,
## released under Gnu Public Licence version 3.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext