ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/mdtools/interface_implementation/simError.c
Revision: 154
Committed: Tue Oct 22 22:12:44 2002 UTC (21 years, 10 months ago) by mmeineke
Content type: text/plain
File size: 951 byte(s)
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 mmeineke 154 #include <stdlib.h>
2     #include <stdio.h>
3    
4     #ifdef IS_MPI
5     #include <mpi.h>
6     #endif // IS_MPI
7    
8     #include "simError.h"
9    
10    
11     int simError( void ) {
12    
13     #ifdef IS_MPI
14     int myRank;
15     int myError = 1;
16     int isError;
17     int isFatal;
18    
19     MPI_Comm_rank( MPI_COMM_WORLD, &myRank );
20    
21     if( isEventLoop ){
22     fprintf( stderr,
23     "Error on node %d: %s\n",
24     myRank,
25     painCave.errMsg );
26     return 1;
27     }
28     else{
29     fprintf( stderr,
30     "Error on node %d: %s\n",
31     myRank,
32     painCave.errMsg );
33     MPI_Allreduce( &myError, &isError, 1, MPI_INT, MPI_LOR, MPI_COMM_WORLD );
34     MPI_Allreduce( &painCave.isFatal, &isFatal, 1, MPI_INT, MPI_LOR,
35     MPI_COMM_WORLD );
36     if( isFatal ){
37     MPI_Finalize();
38     exit(0);
39     }
40     return 1;
41     }
42    
43     #else
44    
45     fprintf( stderr,
46     "simError: %s\n",
47     painCave.errMsg );
48    
49     if( painCave.isFatal ){
50     exit(0);
51     }
52    
53     return 1;
54    
55     #endif // IS_MPI
56    
57     return 0; // in case nobody caught that.
58    
59     }
60    
61