Thread safety enhancements to jt9

Serialize thread unsafe FFTW3 calls

Serialize FFTW3 plan initializations in four2a

Serialize decoder results output to file/console

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4928 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Bill Somerville
2015-02-04 01:41:26 +00:00
parent 16452ae32f
commit 91b909b581
7 changed files with 89 additions and 52 deletions
+4 -8
View File
@@ -49,29 +49,25 @@ subroutine decoder(ss,id2)
if(nmode.eq.65) go to 800
! print*,'A'
!$OMP PARALLEL SECTIONS PRIVATE(id)
!$omp parallel sections
!$OMP SECTION
! print*,'B'
!$omp section
call timer('decjt9 ',0)
call decjt9(ss,id2,nutc,nfqso,newdat,npts8,nfa,nfsplit,nfb,ntol,nzhsym, &
nagain,ndepth,nmode)
call timer('decjt9 ',1)
!$OMP SECTION
!$omp section
if(nmode.ge.65 .and. (.not.done65)) then
if(newdat.ne.0) dd(1:npts65)=id2(1:npts65)
nf1=nfa
nf2=nfb
! print*,'C'
call timer('jt65a ',0)
call jt65a(dd,npts65,newdat,nutc,nf1,nf2,nfqso,ntol65,nagain,ndecoded)
call timer('jt65a ',1)
endif
!$OMP END PARALLEL SECTIONS
! print*,'D'
!$omp end parallel sections
! JT65 is not yet producing info for nsynced, ndecoded.
800 write(*,1010) nsynced,ndecoded