mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-18 18:12:12 -05:00
f37ed4cd78
Pass the temporary directory to jt9 and use it to give the correct paths to temporary files. Also jt9 passes the absolute path to kvasd.dat in the temporary directory to kvasd. Clear out all the annoying cruft that has accumulated due to having to run with $CWD as the temporary directory. Use QStandardPaths to find the writable data directory where needed rather than passing it around between objects. This now works because the $CWD hasn't been changed. Do away with the CMake option WSJT_STANDARD_FILE_LOCATIONS as it is no longer needed. Fix astro status file azel.dat formatting. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4732 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
72 lines
1.6 KiB
Fortran
72 lines
1.6 KiB
Fortran
subroutine jt9a()
|
|
|
|
use prog_args
|
|
|
|
! These routines connect the shared memory region to the decoder.
|
|
interface
|
|
function address_jt9()
|
|
integer*1, pointer :: address_jt9
|
|
end function address_jt9
|
|
end interface
|
|
|
|
integer*1 attach_jt9
|
|
! integer*1 lock_jt9,unlock_jt9
|
|
integer size_jt9
|
|
integer*1, pointer :: p_jt9
|
|
character*80 cwd
|
|
! Multiple instances:
|
|
character*80 mykey
|
|
logical fileExists
|
|
common/tracer/limtrace,lu
|
|
|
|
! Multiple instances:
|
|
i0 = len(trim(shm_key))
|
|
|
|
call getcwd(cwd)
|
|
open(12,file=trim(data_dir)//'/timer.out',status='unknown')
|
|
|
|
limtrace=0
|
|
! limtrace=-1 !Disable all calls to timer()
|
|
lu=12
|
|
|
|
! Multiple instances: set the shared memory key before attaching
|
|
mykey=trim(repeat(shm_key,1))
|
|
i0 = len(mykey)
|
|
i0=setkey_jt9(trim(mykey))
|
|
|
|
i1=attach_jt9()
|
|
|
|
10 inquire(file=trim(temp_dir)//'/.lock',exist=fileExists)
|
|
if(fileExists) then
|
|
call sleep_msec(100)
|
|
go to 10
|
|
endif
|
|
|
|
inquire(file=trim(temp_dir)//'/.quit',exist=fileExists)
|
|
if(fileExists) then
|
|
i1=detach_jt9()
|
|
go to 999
|
|
endif
|
|
if(i1.eq.999999) stop !Silence compiler warning
|
|
|
|
nbytes=size_jt9()
|
|
if(nbytes.le.0) then
|
|
print*,'jt9a: Shared memory mem_jt9 does not exist.'
|
|
print*,"Must start 'jt9 -s <thekey>' from within WSJT-X."
|
|
go to 999
|
|
endif
|
|
p_jt9=>address_jt9()
|
|
call timer('jt9b ',0)
|
|
call jt9b(p_jt9,nbytes)
|
|
call timer('jt9b ',1)
|
|
|
|
100 inquire(file=trim(temp_dir)//'/.lock',exist=fileExists)
|
|
if(fileExists) go to 10
|
|
call sleep_msec(100)
|
|
go to 100
|
|
|
|
999 call timer('jt9b ',101)
|
|
|
|
return
|
|
end subroutine jt9a
|