PreviousUpNext

15.4.1103  src/lib/std/src/nj/wrap-export.pkg

## wrap-export.pkg

# Compiled by:
#     src/lib/std/src/standard-core.sublib

# This is the wrapper for executable heap images.

package wrap_export
: (weak)
api {

    # We need the PAIR wrapper to make sure that the second argument will be fully
    # wrapped when it is passed to the run-time system.

    Pair (X, Y) = PAIR  (X, Y);

    wrap:  ( (String, List( String ))
             ->
             winix_types::process::Status
           )
           ->
           Pair( String, List( String ) )
           ->
           X;

}
{

    package process
        =
        winix_process;

                                        # winix_process is from   src/lib/std/src/posix/winix-process.pkg

    # We need the PAIR wrapper to make sure that the second argument will be fully
    # wrapped when it is passed to the run-time system.
    #
    Pair (X, Y) =  PAIR  (X, Y);

    fun wrap f (PAIR args)
        =
        {   at::run_functions_scheduled_to_run  at::APP_STARTUP;

            process::exit(  (f args)
                            except
                                exn = process::failure
                         );
        };

};




## COPYRIGHT (c) 1995 AT&T Bell Laboratories.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2012,
## released under Gnu Public Licence version 3.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext