https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82378

Thomas Koenig <tkoenig at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #1 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
The races do not happen for

program main
  use omp_lib
  !$OMP PARALLEL NUM_THREADS(100)
  call file_open(OMP_get_thread_num())
  !$OMP END PARALLEL 
contains
  recursive subroutine file_open(i)
  integer :: i
  integer :: nunit
  nunit = i + 20
  write (nunit,*) 'asdf',i
  close (nunit)
  end subroutine file_open
end program main

so it might be advisable to close files local to a thread as
a workaround.

Reply via email to