program test use omp_lib implicit none integer(omp_event_handle_kind) :: oevent, ievent integer :: i integer, allocatable :: temp(:) ALLOCATE(temp(5)) !$omp parallel num_threads(3) !$omp single DO i=1,5 !$omp task firstprivate(i) firstprivate(temp) detach(oevent) temp(:) = 0; temp(1) = -1; !print *,temp call omp_fulfill_event(oevent) !$omp end task ENDDO !$omp taskwait !$omp end single !$omp end parallel end program