2 |
C $Name$ |
C $Name$ |
3 |
|
|
4 |
#include "CPP_EEOPTIONS.h" |
#include "CPP_EEOPTIONS.h" |
5 |
|
CBOP |
6 |
|
|
7 |
SUBROUTINE MEMSYNC |
C !ROUTINE: MEMSYNC |
8 |
|
|
9 |
C /==========================================================\ |
C !INTERFACE: |
10 |
C | SUBROUTINE MEMSYNC | |
SUBROUTINE MEMSYNC |
|
C | o Place holder for memory sync routine | |
|
|
C |==========================================================| |
|
|
C | This routine is called wherever the code requires | |
|
|
C | that writes performed by one thread or process must | |
|
|
C | be guaranteed visible to other processes and or threads. | |
|
|
C | On SPARC this routine would implement a | |
|
|
C | asm("membar #LoadStore|#StoreStore"); | |
|
|
C | On ALPHA | |
|
|
C | asm("mb"); | |
|
|
C | Note: I have yet to show this is necessary although | |
|
|
C | the Memory Channel writes must need something like| |
|
|
C | this. | |
|
|
C \==========================================================/ |
|
11 |
IMPLICIT NONE |
IMPLICIT NONE |
12 |
|
|
13 |
|
C !DESCRIPTION: |
14 |
|
C *==========================================================* |
15 |
|
C | SUBROUTINE MEMSYNC |
16 |
|
C | o Place holder for memory sync routine |
17 |
|
C *==========================================================* |
18 |
|
C | This routine is called wherever the code requires |
19 |
|
C | that writes performed by one thread or process must |
20 |
|
C | be guaranteed visible to other processes and or threads. |
21 |
|
C | On SPARC this routine would implement a |
22 |
|
C | asm("membar #LoadStore|#StoreStore"); |
23 |
|
C | On ALPHA |
24 |
|
C | asm("mb"); |
25 |
|
C | Note: I have yet to show this is necessary although |
26 |
|
C | the Memory Channel writes must need something like |
27 |
|
C | this. |
28 |
|
C *==========================================================* |
29 |
|
CEOP |
30 |
|
|
31 |
END |
END |