~ubuntu-branches/ubuntu/warty/petsc/warty

« back to all changes in this revision

Viewing changes to src/sys/src/error/errabort.c.html

  • Committer: Bazaar Package Importer
  • Author(s): Adam C. Powell, IV
  • Date: 2004-06-07 13:41:43 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20040607134143-92p586zrauvie0le
Tags: 2.2.0-2
* Upstream patch level 2.
* New PETSC_BOPT_EXTRA option for different BOPT and lib names, with _c++
  symlinks only for plain and single (closes: #249617).
* New DEBIAN_DIST=contrib option to link with hypre, parmetis (closes:
  #249619).
* Combined petsc-c and petsc-fortran substvars into petsc-compilers.
* Extra quote in -dev prerm eliminates "too many arguments" problem.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
<html>
4
4
<head>
5
5
<title></title>
6
 
<meta name="generator" content="c2html 0.9.1">
7
 
<meta name="date" content="2002-05-31T15:55:07+00:00">
 
6
<meta name="generator" content="c2html 0.9.4">
 
7
<meta name="date" content="2004-02-27T19:56:24+00:00">
8
8
</head>
9
9
 
10
10
<body bgcolor="#FFFFFF">
19
19
<a name="line9">  9: </a><font color="#A020F0">#endif</font>
20
20
<a name="line10"> 10: </a><font color="#A020F0">#include </font><font color="#666666">"petscfix.h"</font><font color="#A020F0"></font>
21
21
 
22
 
<a name="line12"> 12: </a><font color="#B22222">/*@C</font>
23
 
<a name="line13"> 13: </a><font color="#B22222">   <A href="../../../../docs/manualpages/Sys/PetscAbortErrorHandler.html#PetscAbortErrorHandler">PetscAbortErrorHandler</A> - Error handler that calls abort on error. </font>
24
 
<a name="line14"> 14: </a><font color="#B22222">   This routine is very useful when running in the debugger, because the </font>
25
 
<a name="line15"> 15: </a><font color="#B22222">   user can look directly at the stack frames and the variables.</font>
26
 
 
27
 
<a name="line17"> 17: </a><font color="#B22222">   Not Collective</font>
28
 
 
29
 
<a name="line19"> 19: </a><font color="#B22222">   Input Parameters:</font>
30
 
<a name="line20"> 20: </a><font color="#B22222">+  line - the line number of the error (indicated by __LINE__)</font>
31
 
<a name="line21"> 21: </a><font color="#B22222">.  file - the file in which the error was detected (indicated by __FILE__)</font>
32
 
<a name="line22"> 22: </a><font color="#B22222">.  dir - the directory of the file (indicated by __SDIR__)</font>
33
 
<a name="line23"> 23: </a><font color="#B22222">.  mess - an error text string, usually just printed to the screen</font>
34
 
<a name="line24"> 24: </a><font color="#B22222">.  n - the generic error number</font>
35
 
<a name="line25"> 25: </a><font color="#B22222">.  p - specific error number</font>
36
 
<a name="line26"> 26: </a><font color="#B22222">-  ctx - error handler context</font>
37
 
 
38
 
<a name="line28"> 28: </a><font color="#B22222">   Options Database Keys:</font>
39
 
<a name="line29"> 29: </a><font color="#B22222">+  -on_error_abort - Activates aborting when an error is encountered</font>
40
 
<a name="line30"> 30: </a><font color="#B22222">-  -start_in_debugger [noxterm,dbx,xxgdb]  [-display name] - Starts all</font>
41
 
<a name="line31"> 31: </a><font color="#B22222">    processes in the debugger and uses <A href="../../../../docs/manualpages/Sys/PetscAbortErrorHandler.html#PetscAbortErrorHandler">PetscAbortErrorHandler</A>().  By default the </font>
42
 
<a name="line32"> 32: </a><font color="#B22222">    debugger is gdb; alternatives are dbx and xxgdb.</font>
43
 
 
44
 
<a name="line34"> 34: </a><font color="#B22222">   Level: developer</font>
45
 
 
46
 
<a name="line36"> 36: </a><font color="#B22222">   Notes:</font>
47
 
<a name="line37"> 37: </a><font color="#B22222">   Most users need not directly employ this routine and the other error </font>
48
 
<a name="line38"> 38: </a><font color="#B22222">   handlers, but can instead use the simplified interface <A href="../../../../docs/manualpages/Sys/SETERRQ.html#SETERRQ">SETERRQ</A>, which</font>
49
 
<a name="line39"> 39: </a><font color="#B22222">   has the calling sequence</font>
50
 
<a name="line40"> 40: </a><font color="#B22222">$     <A href="../../../../docs/manualpages/Sys/SETERRQ.html#SETERRQ">SETERRQ</A>(number,p,mess)</font>
51
 
 
52
 
<a name="line42"> 42: </a><font color="#B22222">   Notes for experienced users:</font>
53
 
<a name="line43"> 43: </a><font color="#B22222">   Use <A href="../../../../docs/manualpages/Sys/PetscPushErrorHandler.html#PetscPushErrorHandler">PetscPushErrorHandler</A>() to set the desired error handler.  The</font>
54
 
<a name="line44"> 44: </a><font color="#B22222">   currently available PETSc error handlers include <A href="../../../../docs/manualpages/Sys/PetscTraceBackErrorHandler.html#PetscTraceBackErrorHandler">PetscTraceBackErrorHandler</A>(),</font>
55
 
<a name="line45"> 45: </a><font color="#B22222">   <A href="../../../../docs/manualpages/Sys/PetscAttachDebuggerErrorHandler.html#PetscAttachDebuggerErrorHandler">PetscAttachDebuggerErrorHandler</A>(), and <A href="../../../../docs/manualpages/Sys/PetscAbortErrorHandler.html#PetscAbortErrorHandler">PetscAbortErrorHandler</A>().</font>
56
 
 
57
 
<a name="line47"> 47: </a><font color="#B22222">   Concepts: error handler^aborting</font>
58
 
<a name="line48"> 48: </a><font color="#B22222">   Concepts: aborting on error</font>
59
 
 
60
 
<a name="line50"> 50: </a><font color="#B22222">.seealso: <A href="../../../../docs/manualpages/Sys/PetscPushErrorHandler.html#PetscPushErrorHandler">PetscPushErrorHandler</A>(), <A href="../../../../docs/manualpages/Sys/PetscTraceBackErrorHandler.html#PetscTraceBackErrorHandler">PetscTraceBackErrorHandler</A>(), </font>
61
 
<a name="line51"> 51: </a><font color="#B22222">          <A href="../../../../docs/manualpages/Sys/PetscAttachDebuggerErrorHandler.html#PetscAttachDebuggerErrorHandler">PetscAttachDebuggerErrorHandler</A>()</font>
62
 
<a name="line52"> 52: </a><font color="#B22222">@*/</font>
63
 
<a name="line53"> 53: </a><strong><font color="#4169E1"><a name="PetscAbortErrorHandler"></a>int <A href="../../../../docs/manualpages/Sys/PetscAbortErrorHandler.html#PetscAbortErrorHandler">PetscAbortErrorHandler</A>(int line,char *func,char *file,char* dir,int n,int p,char *mess,void *ctx)</font></strong>
64
 
<a name="line54"> 54: </a>{
65
 
 
66
 
<a name="line57"> 57: </a>  abort();
67
 
<a name="line58"> 58: </a>  <font color="#4169E1">return</font>(0);
68
 
<a name="line59"> 59: </a>}
 
22
<a name="line14"> 14: </a><font color="#B22222">/*@C</font>
 
23
<a name="line15"> 15: </a><font color="#B22222">   <A href="../../../../docs/manualpages/Sys/PetscAbortErrorHandler.html#PetscAbortErrorHandler">PetscAbortErrorHandler</A> - Error handler that calls abort on error. </font>
 
24
<a name="line16"> 16: </a><font color="#B22222">   This routine is very useful when running in the debugger, because the </font>
 
25
<a name="line17"> 17: </a><font color="#B22222">   user can look directly at the stack frames and the variables.</font>
 
26
 
 
27
<a name="line19"> 19: </a><font color="#B22222">   Not Collective</font>
 
28
 
 
29
<a name="line21"> 21: </a><font color="#B22222">   Input Parameters:</font>
 
30
<a name="line22"> 22: </a><font color="#B22222">+  line - the line number of the error (indicated by __LINE__)</font>
 
31
<a name="line23"> 23: </a><font color="#B22222">.  func - function where error occured (indicated by __FUNCT__)</font>
 
32
<a name="line24"> 24: </a><font color="#B22222">.  file - the file in which the error was detected (indicated by __FILE__)</font>
 
33
<a name="line25"> 25: </a><font color="#B22222">.  dir - the directory of the file (indicated by __SDIR__)</font>
 
34
<a name="line26"> 26: </a><font color="#B22222">.  mess - an error text string, usually just printed to the screen</font>
 
35
<a name="line27"> 27: </a><font color="#B22222">.  n - the generic error number</font>
 
36
<a name="line28"> 28: </a><font color="#B22222">.  p - specific error number</font>
 
37
<a name="line29"> 29: </a><font color="#B22222">-  ctx - error handler context</font>
 
38
 
 
39
<a name="line31"> 31: </a><font color="#B22222">   Options Database Keys:</font>
 
40
<a name="line32"> 32: </a><font color="#B22222">+  -on_error_abort - Activates aborting when an error is encountered</font>
 
41
<a name="line33"> 33: </a><font color="#B22222">-  -start_in_debugger [noxterm,dbx,xxgdb]  [-display name] - Starts all</font>
 
42
<a name="line34"> 34: </a><font color="#B22222">    processes in the debugger and uses <A href="../../../../docs/manualpages/Sys/PetscAbortErrorHandler.html#PetscAbortErrorHandler">PetscAbortErrorHandler</A>().  By default the </font>
 
43
<a name="line35"> 35: </a><font color="#B22222">    debugger is gdb; alternatives are dbx and xxgdb.</font>
 
44
 
 
45
<a name="line37"> 37: </a><font color="#B22222">   Level: developer</font>
 
46
 
 
47
<a name="line39"> 39: </a><font color="#B22222">   Notes:</font>
 
48
<a name="line40"> 40: </a><font color="#B22222">   Most users need not directly employ this routine and the other error </font>
 
49
<a name="line41"> 41: </a><font color="#B22222">   handlers, but can instead use the simplified interface <A href="../../../../docs/manualpages/Sys/SETERRQ.html#SETERRQ">SETERRQ</A>, which</font>
 
50
<a name="line42"> 42: </a><font color="#B22222">   has the calling sequence</font>
 
51
<a name="line43"> 43: </a><font color="#B22222">$     <A href="../../../../docs/manualpages/Sys/SETERRQ.html#SETERRQ">SETERRQ</A>(number,mess)</font>
 
52
<a name="line44"> 44: </a><font color="#B22222">   or its variants, <A href="../../../../docs/manualpages/Sys/SETERRQ1.html#SETERRQ1">SETERRQ1</A>(number,formatstring,arg1), <A href="../../../../docs/manualpages/Sys/SETERRQ2.html#SETERRQ2">SETERRQ2</A>(), ... that</font>
 
53
<a name="line45"> 45: </a><font color="#B22222">   allow including arguments in the message.</font>
 
54
 
 
55
<a name="line47"> 47: </a><font color="#B22222">   Notes for experienced users:</font>
 
56
<a name="line48"> 48: </a><font color="#B22222">   Use <A href="../../../../docs/manualpages/Sys/PetscPushErrorHandler.html#PetscPushErrorHandler">PetscPushErrorHandler</A>() to set the desired error handler.  The</font>
 
57
<a name="line49"> 49: </a><font color="#B22222">   currently available PETSc error handlers include <A href="../../../../docs/manualpages/Sys/PetscTraceBackErrorHandler.html#PetscTraceBackErrorHandler">PetscTraceBackErrorHandler</A>(),</font>
 
58
<a name="line50"> 50: </a><font color="#B22222">   <A href="../../../../docs/manualpages/Sys/PetscAttachDebuggerErrorHandler.html#PetscAttachDebuggerErrorHandler">PetscAttachDebuggerErrorHandler</A>(), and <A href="../../../../docs/manualpages/Sys/PetscAbortErrorHandler.html#PetscAbortErrorHandler">PetscAbortErrorHandler</A>().</font>
 
59
 
 
60
<a name="line52"> 52: </a><font color="#B22222">   Concepts: error handler^aborting</font>
 
61
<a name="line53"> 53: </a><font color="#B22222">   Concepts: aborting on error</font>
 
62
 
 
63
<a name="line55"> 55: </a><font color="#B22222">.seealso: <A href="../../../../docs/manualpages/Sys/PetscPushErrorHandler.html#PetscPushErrorHandler">PetscPushErrorHandler</A>(), <A href="../../../../docs/manualpages/Sys/PetscTraceBackErrorHandler.html#PetscTraceBackErrorHandler">PetscTraceBackErrorHandler</A>(), </font>
 
64
<a name="line56"> 56: </a><font color="#B22222">          <A href="../../../../docs/manualpages/Sys/PetscAttachDebuggerErrorHandler.html#PetscAttachDebuggerErrorHandler">PetscAttachDebuggerErrorHandler</A>()</font>
 
65
<a name="line57"> 57: </a><font color="#B22222">@*/</font>
 
66
<a name="line58"> 58: </a><strong><font color="#4169E1"><a name="PetscAbortErrorHandler"></a>int <A href="../../../../docs/manualpages/Sys/PetscAbortErrorHandler.html#PetscAbortErrorHandler">PetscAbortErrorHandler</A>(int line,const char *fun,const char *file,const char* dir,int n,int p,const char *mess,void *ctx)</font></strong>
 
67
<a name="line59"> 59: </a>{
 
68
<a name="line60"> 60: </a>  int <A href="../../../../docs/manualpages/Sys/rank.html#rank">rank</A>;
 
69
 
 
70
<a name="line63"> 63: </a>  <A href="http://www.mcs.anl.gov/mpi/www/www3/MPI_Comm_rank.html#MPI_Comm_rank">MPI_Comm_rank</A>(MPI_COMM_WORLD,&amp;<A href="../../../../docs/manualpages/Sys/rank.html#rank">rank</A>);
 
71
<a name="line64"> 64: </a>  (*<A href="../../../../docs/manualpages/Sys/PetscErrorPrintf.html#PetscErrorPrintf">PetscErrorPrintf</A>)(<font color="#666666">"[%d]PETSC ERROR: %s() line %d in %s%s %s\n"</font>,<A href="../../../../docs/manualpages/Sys/rank.html#rank">rank</A>,fun,line,dir,file,mess);
 
72
 
 
73
<a name="line66"> 66: </a>  abort();
 
74
<a name="line67"> 67: </a>  <font color="#4169E1">return</font>(0);
 
75
<a name="line68"> 68: </a>}
69
76
 
70
77
</pre>
71
78
</body>