summaryrefslogtreecommitdiff
path: root/ext/Time/HiRes/HiRes.xs
diff options
context:
space:
mode:
Diffstat (limited to 'ext/Time/HiRes/HiRes.xs')
-rw-r--r--ext/Time/HiRes/HiRes.xs5
1 files changed, 3 insertions, 2 deletions
diff --git a/ext/Time/HiRes/HiRes.xs b/ext/Time/HiRes/HiRes.xs
index 4f85f3b3f2..529223160e 100644
--- a/ext/Time/HiRes/HiRes.xs
+++ b/ext/Time/HiRes/HiRes.xs
@@ -618,8 +618,9 @@ sleep(...)
if (items > 0) {
NV seconds = SvNV(ST(0));
if (seconds >= 0.0) {
- UV useconds = 1E6 * (seconds - (UV)seconds);
- sleep((UV)seconds);
+ UV useconds = 1E6 * (seconds - (UV)seconds);
+ if (seconds >= 1.0)
+ sleep((UV)seconds);
usleep(useconds);
} else
croak("Time::HiRes::sleep(%"NVgf"): negative time not invented yet", seconds);