1 /*-----------------------------------------------------------------------
2 
3 File  : cco_signals.h
4 
5 Author: Stephan Schulz
6 
7 Contents
8 
9   Signal handler for limit signals...not really necessary, but may
10   work around some Solaris bugs. Also some support infrastructure...
11 
12   Copyright 1998, 1999 by the author.
13   This code is released under the GNU General Public Licence and
14   the GNU Lesser General Public License.
15   See the file COPYING in the main E directory for details..
16   Run "eprover -h" for contact information.
17 
18 Changes
19 
20 <1> Fri Nov  6 14:50:28 MET 1998
21     New
22 
23 -----------------------------------------------------------------------*/
24 
25 #ifndef CCO_SIGNALS
26 
27 #define CCO_SIGNALS
28 
29 #include <signal.h>
30 #include <sys/types.h>
31 #include <sys/time.h>
32 #include <sys/resource.h>
33 
34 #include <cio_tempfile.h>
35 
36 /*---------------------------------------------------------------------*/
37 /*                    Data type declarations                           */
38 /*---------------------------------------------------------------------*/
39 
40 
41 
42 
43 /*---------------------------------------------------------------------*/
44 /*                Exported Functions and Variables                     */
45 /*---------------------------------------------------------------------*/
46 
47 extern rlim_t                ScheduleTimeLimit; /* Used for
48                                                  * determining how
49                                                  * much time the
50                                                  * scheduler can use
51                                                  * in total */
52 extern rlim_t                SystemTimeLimit; /* Returned by the
53                    initial getrlimit
54                    call as general hard
55                    time limit */
56 extern rlim_t                SoftTimeLimit;   /* Try to exit
57                    gracefully */
58 extern rlim_t                HardTimeLimit;   /* Exit now! */
59 extern sig_atomic_t TimeIsUp;
60 extern sig_atomic_t TimeLimitIsSoft; /* Have we hit hard or
61                    soft? */
62 extern bool                  SilentTimeOut;
63 
64 void ESignalSetup(int mysignal);
65 void ESignalHandler(int mysignal);
66 
67 
68 #endif
69 
70 /*---------------------------------------------------------------------*/
71 /*                        End of File                                  */
72 /*---------------------------------------------------------------------*/
73 
74 
75 
76 
77 
78