1 |
C $Id$ |
C $Header$ |
2 |
|
C $Name$ |
3 |
|
|
4 |
#include "CPP_EEOPTIONS.h" |
#include "CPP_EEOPTIONS.h" |
5 |
|
|
25 |
C | barrier code to allow threads to be scheduled more | |
C | barrier code to allow threads to be scheduled more | |
26 |
C | appropriately. | |
C | appropriately. | |
27 |
C \==========================================================/ |
C \==========================================================/ |
28 |
|
IMPLICIT NONE |
29 |
|
|
30 |
C === Global data === |
C === Global data === |
31 |
#include "SIZE.h" |
#include "SIZE.h" |
61 |
IF ( nChecks .GT. 10 ) THEN |
IF ( nChecks .GT. 10 ) THEN |
62 |
thError(myThid) = .TRUE. |
thError(myThid) = .TRUE. |
63 |
eeBootError = .TRUE. |
eeBootError = .TRUE. |
64 |
WRITE(msgBuffer,'(A,I,A,I,A)') |
WRITE(msgBuffer,'(A,I5,A,I5,A)') |
65 |
& 'S/R INI_CHECK_THREADS: Only ',numberThreadsRunning, |
& 'S/R INI_CHECK_THREADS: Only ',numberThreadsRunning, |
66 |
& ' thread(s), ',nThreads,' are needed for this configuration!' |
& ' thread(s), ',nThreads,' are needed for this configuration!' |
67 |
CALL PRINT_ERROR( msgBuffer , myThid) |
CALL PRINT_ERROR( msgBuffer , myThid) |
68 |
C-- Not enough threads are running so halt the program. |
C-- Not enough threads are running so halt the program. |
69 |
C I didn't want this here but it is the only place I have found that |
C I did not want this here but it is the only place I have found that |
70 |
C KAP deadlocks if it there are fewer threads than iterations in a BLOCKED(1) |
C KAP deadlocks if it there are fewer threads than iterations in a BLOCKED(1) |
71 |
C loop. The deadlock appears to be in the routine mppjoin which never |
C loop. The deadlock appears to be in the routine mppjoin which never |
72 |
C returns. I tried putting the STOP in main or breaking out of the loop in main |
C returns. I tried putting the STOP in main or breaking out of the loop in main |
77 |
GOTO 11 |
GOTO 11 |
78 |
ENDIF |
ENDIF |
79 |
IF ( numberThreadsRunning .NE. nThreads ) THEN |
IF ( numberThreadsRunning .NE. nThreads ) THEN |
80 |
|
#ifdef HAVE_SYSTEM |
81 |
|
#ifndef TARGET_T3E |
82 |
|
#ifndef TARGET_CRAY_VECTOR |
83 |
CALL SYSTEM('sleep 1') |
CALL SYSTEM('sleep 1') |
84 |
|
#endif |
85 |
|
#endif |
86 |
|
#endif |
87 |
GOTO 10 |
GOTO 10 |
88 |
ENDIF |
ENDIF |
89 |
11 CONTINUE |
11 CONTINUE |
91 |
C |
C |
92 |
RETURN |
RETURN |
93 |
END |
END |
|
|
|
|
C $Id$ |
|