1 |
C $Header: /u/gcmpack/models/MITgcmUV/eesupp/src/memsync.F,v 1.2 1998/12/08 19:47:16 adcroft Exp $ |
2 |
|
3 |
#include "CPP_EEOPTIONS.h" |
4 |
|
5 |
SUBROUTINE MEMSYNC |
6 |
|
7 |
C /==========================================================\ |
8 |
C | SUBROUTINE MEMSYNC | |
9 |
C | o Place holder for memory sync routine | |
10 |
C |==========================================================| |
11 |
C | This routine is called wherever the code requires | |
12 |
C | that writes performed by one thread or process must | |
13 |
C | be guaranteed visible to other processes and or threads. | |
14 |
C | On SPARC this routine would implement a | |
15 |
C | asm("membar #LoadStore|#StoreStore"); | |
16 |
C | On ALPHA | |
17 |
C | asm("mb"); | |
18 |
C | Note: I have yet to show this is necessary although | |
19 |
C | the Memory Channel writes must need something like| |
20 |
C | this. | |
21 |
C \==========================================================/ |
22 |
IMPLICIT NONE |
23 |
|
24 |
END |