release_file_lock Subroutine

public subroutine release_file_lock(lock_fd, status)

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: lock_fd
integer, intent(out) :: status

Called by

proc~~release_file_lock~~CalledByGraph proc~release_file_lock release_file_lock proc~lookup_cell_cache lookup_cell_cache proc~lookup_cell_cache->proc~release_file_lock proc~publish_cell_cache_and_unlock publish_cell_cache_and_unlock proc~publish_cell_cache_and_unlock->proc~release_file_lock proc~precompute_periodic_root_operator precompute_periodic_root_operator proc~precompute_periodic_root_operator->proc~lookup_cell_cache proc~precompute_periodic_root_operator->proc~publish_cell_cache_and_unlock proc~core_complete_plan_impl core_complete_plan_impl proc~core_complete_plan_impl->proc~precompute_periodic_root_operator proc~core_build_panel_plan_impl core_build_panel_plan_impl proc~core_build_panel_plan_impl->proc~core_complete_plan_impl proc~core_build_plan_impl core_build_plan_impl proc~core_build_plan_impl->proc~core_complete_plan_impl

Source Code

  subroutine release_file_lock(lock_fd, status)
    integer, intent(inout) :: lock_fd
    integer, intent(out) :: status

    if (lock_fd < 0) then
      status = filesystem_success
      return
    end if
    if (c_close(int(lock_fd, c_int)) == 0_c_int) then
      status = filesystem_success
    else
      status = filesystem_os_error
    end if
    lock_fd = -1
  end subroutine release_file_lock