//===================================================== file = csim_ex4.c ===== //= Demonstration of CSIM processes and facilities (queueing) = //============================================================================= //= Notes: This program does nothing useful. = //=---------------------------------------------------------------------------= //= Build: Standard CSIM build = //=---------------------------------------------------------------------------= //= History: KJC (03/08/05) - Genesis = //============================================================================= //----- Include files --------------------------------------------------------- #include // Needed for printf() #include "csim.h" // Needed for CSIM stuff //----- Function prototypes --------------------------------------------------- void proc1(double hold_time); // Process #1 //----- Globals --------------------------------------------------------------- FACILITY Server; // Facility for a server //===== Main program ========================================================== void sim(void) { create("sim"); Server = facility("Server facility"); printf("BEGIN at %f \n", clock); proc1(10.0); hold(1.0); proc1(8.0); hold(1.0); proc1(6.0); hold(1.0); proc1(4.0); hold(100.0); printf("END at %f \n", clock); } void proc1(double hold_time) { create("process #1"); printf("(1) at %f \n", clock); reserve(Server); printf("(2) at %f \n", clock); hold(hold_time); release(Server); printf("(3) at %f \n", clock); }