Threads execution managemement.
[scilab.git] / scilab / modules / windows_tools / src / c / scilab_windows / scilab_main.c
1 /*
2 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 * Copyright (C) INRIA - Allan CORNET
4 *
5 * This file must be used under the terms of the CeCILL.
6 * This source file is licensed as described in the file COPYING, which
7 * you should have received as part of this distribution.  The terms
8 * are also available at
9 * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
10 *
11 */
12
13 /*--------------------------------------------------------------------------*/
14 #include <Windows.h>
15 #include <stdio.h>
16 #include <setjmp.h>
17 #include <signal.h>
18
19 #include "scilab_main.h"
20 #include "configvariable_interface.h"
21 #include "realmain.h"
22 #include "sciprint.h"
23 /*--------------------------------------------------------------------------*/
24 static void interrupt_setup (void);
25 static void interrupt (int an_int);
26 /*--------------------------------------------------------------------------*/
27 jmp_buf env;
28 /*--------------------------------------------------------------------------*/
29 int sci_windows_main ( int *nos, char *path, InitScriptType pathtype, int *lpath, int memory)
30 {
31     setbuf (stderr, (char *) NULL);
32     if (!setjmp (env))
33     {
34         /* first time */
35         interrupt_setup ();
36     }
37     /* take commands from stdin */
38     return 0;//realmain(*nos,path,pathtype,memory);
39 }
40 /*--------------------------------------------------------------------------*/
41 /* Set up to catch interrupts */
42 static void interrupt_setup (void)
43 {
44     (void) signal (SIGINT, interrupt);
45 }
46 /*--------------------------------------------------------------------------*/
47 void interrupt (int an_int)
48 {
49     (void) signal (SIGINT, interrupt);
50     (void) signal (SIGFPE, SIG_DFL);    /* turn off FPE trapping */
51     (void) fflush (stdout);
52     sciprint ("\n");
53     longjmp (env, TRUE);                /* return to prompt  */
54 }
55 /*--------------------------------------------------------------------------*/