File tree Expand file tree Collapse file tree 1 file changed +11
-5
lines changed Expand file tree Collapse file tree 1 file changed +11
-5
lines changed Original file line number Diff line number Diff line change 1
1
2
- template sleep_neg_raise(s) =
2
+ import ../ sys_impl/ auditImpl as sys
3
+ proc sleep_neg_raise_or2ms(s: int | float ): int =
3
4
# beaware: before Nim#23734, (in 2.1.1),
4
5
# Nim's std/os sleep will deadloop in Windows if `milsecs` is negative.
5
6
if s < 0 :
6
7
raise newException(ValueError, " sleep length must be non-negative" )
8
+ let ms = s* 1000
9
+ when s is float : int (ms+ 0.5 )
10
+ else : ms
11
+
7
12
when not defined(js):
8
13
import std/ os as nos
9
14
else :
22
27
""" .}
23
28
template sleep* (s: int | float ) =
24
29
# # raises ValueError if s < 0
25
- bind sleep, sleep_neg_raise
26
- let ss = s # prevent `s` being eval-ed twice.
27
- sleep_neg_raise(ss)
28
- sleep(milsecs= int (1000 * ss)) # param name based overload
30
+ bind sleep, sleep_neg_raise_or2ms, audit
31
+ sys.audit(" time.sleep" , s)
32
+ # also prevent `s` being eval-ed twice.
33
+ let ms = sleep_neg_raise_or2ms(s)
34
+ sleep(milsecs= ms) # param name based overload
You can’t perform that action at this time.
0 commit comments