debugger: deadlock in the java EDT due to the debug mode fixed
[scilab.git] / scilab / modules / action_binding / src / c / InterpreterManagement.c
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2007-2008 - INRIA - Vincent COUVERT <vincent.couvert@inria.fr>
4  *
5  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  *
14  */
15
16 #include "InterpreterManagement.h"
17 #include "storeCommand.h"
18 #include "configvariable_interface.h"
19 /*--------------------------------------------------------------------------*/
20 int putCommandInScilabQueue(char *command)
21 {
22     if(isEnableDebug())
23     {
24         if(isDebugInterrupted())
25         {
26             return 1;
27         }
28
29         // 0 : don't pause the thread
30         return debuggerManagerExecute(command, 0);
31     }
32     else
33     {
34         return StoreCommand(command);
35     }
36 }
37 /*--------------------------------------------------------------------------*/
38 /*
39 * requestScilabExec
40 *
41 * WARNING : if the command is taking some time, scilab will not do anything else
42 * before the command returns.
43 */
44 int requestScilabExec(char *command)
45 {
46     if(isEnableDebug())
47     {
48         if(isDebugInterrupted())
49         {
50             return 1;
51         }
52
53         // 0 : don't pause the thread
54         return debuggerManagerExecute(command, 0);
55     }
56     else
57     {
58         return StorePrioritaryCommand(command);
59     }
60 }
61 /*--------------------------------------------------------------------------*/
62 int interruptScilab(void)
63 {
64     setExecutionBreak();
65     return 0;
66 }
67 /*--------------------------------------------------------------------------*/