blob: e3cb04bde26e087cf19caedaf8a11833f01e62fb [file] [log] [blame]
Jim Cownie18d84732014-05-10 17:02:09 +00001! Utility functions to have a sleep function with better resolution and
2! which only stops one thread.
3
4 subroutine my_sleep(sleeptime)
5 implicit none
6 double precision :: sleeptime
7 integer :: u
8 integer :: t(8)
9 integer :: ms1, ms2
10 integer :: cnt
11
12 u = sleeptime * 1000
13
14 call date_and_time(values=t)
15
16 ! calculate start time in ms
17 ms1 = t(8) + t(7)*1000 + t(6)*60000 + t(5)*3600000
18
19 ms2 = ms1
20 cnt = 0
21 do while ( (ms2 - ms1) < u)
22 call date_and_time(values=t)
23 ms2 = t(8) + t(7)*1000 + t(6)*60000 + t(5)*3600000
24 cnt = cnt+1
25 end do
26 end subroutine