Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ElmerCSC
GitHub Repository: ElmerCSC/elmerfem
Path: blob/devel/matc/src/error.c
3196 views
1
/*****************************************************************************
2
*
3
* Elmer, A Finite Element Software for Multiphysical Problems
4
*
5
* Copyright 1st April 1995 - , CSC - IT Center for Science Ltd., Finland
6
*
7
* This library is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public
9
* License as published by the Free Software Foundation; either
10
* version 2.1 of the License, or (at your option) any later version.
11
*
12
* This library is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with this library (in file ../LGPL-2.1); if not, write
19
* to the Free Software Foundation, Inc., 51 Franklin Street,
20
* Fifth Floor, Boston, MA 02110-1301 USA
21
*
22
*****************************************************************************/
23
24
/*******************************************************************************
25
*
26
* Error/signal trapping for MATC.
27
*
28
*******************************************************************************
29
*
30
* Author: Juha Ruokolainen
31
*
32
* Address: CSC - IT Center for Science Ltd.
33
* Keilaranta 14, P.O. BOX 405
34
* 02101 Espoo, Finland
35
* Tel. +358 0 457 2723
36
* Telefax: +358 0 457 2302
37
* EMail: [email protected]
38
*
39
* Date: 30 May 1996
40
*
41
* Modified by:
42
*
43
* Date of modification:
44
*
45
******************************************************************************/
46
47
/*
48
* $Id: error.c,v 1.3 2007/06/08 08:12:17 jpr Exp $
49
*
50
* $Log: error.c,v $
51
* Revision 1.3 2007/06/08 08:12:17 jpr
52
* *** empty log message ***
53
*
54
* Revision 1.2 2005/05/27 12:26:19 vierinen
55
* changed header install location
56
*
57
* Revision 1.1.1.1 2005/04/14 13:29:14 vierinen
58
* initial matc automake package
59
*
60
* Revision 1.2 1998/08/01 12:34:34 jpr
61
*
62
* Added Id, started Log.
63
*
64
*
65
*/
66
67
#include "elmer/matc.h"
68
#include "str.h"
69
70
void sig_trap(int sig)
71
/*======================================================================
72
? Interrupt or floating point exception. Free all memory allocated
73
| after last call to doread, give an error message and
74
| longjump back to doread.
75
& longjmp, mem_free_all
76
~ doread
77
^=====================================================================*/
78
{
79
fprintf( math_out, "^C\n" );
80
81
#if 0
82
signal(SIGINT, sig_trap);
83
signal(SIGFPE, sig_trap);
84
#endif
85
86
mem_free_all();
87
88
longjmp(*jmpbuf, 2);
89
}
90
91
void error_old(char *fmt,void *p1, void *p2)
92
/*======================================================================
93
? An error is detected by the program. Free all memory allocated
94
| after last call to doread, give an error message and
95
| longjump back to doread.
96
& longjmp, fprintf, mem_free_all
97
~ doread
98
^=====================================================================*/
99
{
100
PrintOut( "MATC ERROR: " );
101
PrintOut( fmt,p1,p2 );
102
103
mem_free_all();
104
105
longjmp(*jmpbuf, 2);
106
}
107
108
109