MpiMutex Derived Type

type, public :: MpiMutex


Inherits

type~~mpimutex~~InheritsGraph type~mpimutex MpiMutex c_ptr c_ptr type~mpimutex->c_ptr locks_ptr

Inherited by

type~~mpimutex~~InheritedByGraph type~mpimutex MpiMutex type~directoryservice DirectoryService type~directoryservice->type~mpimutex mutex type~maplframework MaplFramework type~maplframework->type~directoryservice directory_service type~servermanager ServerManager type~servermanager->type~directoryservice directory_service type~extdatadriver ExtDataDriver type~extdatadriver->type~servermanager cap_server type~mapl_cap MAPL_Cap type~mapl_cap->type~servermanager cap_server

Constructor

public interface MpiMutex

  • private function new_MpiMutex(comm) result(lock)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: comm

    Return Value type(MpiMutex)


Type-Bound Procedures

procedure, public :: acquire

  • private subroutine acquire(this)

    Arguments

    Type IntentOptional Attributes Name
    class(MpiMutex), intent(inout) :: this

procedure, public :: free_mpi_resources

  • private subroutine free_mpi_resources(this)

    Arguments

    Type IntentOptional Attributes Name
    class(MpiMutex), intent(inout) :: this

procedure, public :: release

  • private subroutine release(this)

    Arguments

    Type IntentOptional Attributes Name
    class(MpiMutex), intent(inout) :: this

Source Code

   type :: MpiMutex
      private
      integer :: comm
      integer :: npes
      integer :: rank
      integer :: window
      integer :: pe_locks_type
      type (c_ptr) :: locks_ptr
      logical, allocatable :: local_data(:)
   contains
      procedure :: acquire
      procedure :: release
      procedure :: free_mpi_resources
   end type MpiMutex