summaryrefslogtreecommitdiff
path: root/perl.c
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2002-09-01 22:23:55 +0300
committerhv <hv@crypt.org>2002-09-04 12:55:54 +0000
commit5311654c160c66b924ce3fd64ced30ed3ff8a96b (patch)
treebf899a4c790a7ec28acd0573399f004bbf456476 /perl.c
parent30d6fba6aa7467c9f9b076801c9a8093e7735500 (diff)
downloadperl-5311654c160c66b924ce3fd64ced30ed3ff8a96b.tar.gz
use sysconf(_SC_CLK_TCK) for times()
Message-ID: <20020901162355.GH12536@lyta.hut.fi> p4raw-id: //depot/perl@17833
Diffstat (limited to 'perl.c')
-rw-r--r--perl.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/perl.c b/perl.c
index 393ad4f75b..e04670d900 100644
--- a/perl.c
+++ b/perl.c
@@ -26,6 +26,18 @@ char *nw_get_sitelib(const char *pl);
#include <unistd.h>
#endif
+#ifdef __BEOS__
+# define HZ 1000000
+#endif
+
+#ifndef HZ
+# ifdef CLK_TCK
+# define HZ CLK_TCK
+# else
+# define HZ 60
+# endif
+#endif
+
#if !defined(STANDARD_C) && !defined(HAS_GETENV_PROTOTYPE) && !defined(PERL_MICRO)
char *getenv (char *); /* Usually in <stdlib.h> */
#endif
@@ -295,6 +307,14 @@ perl_construct(pTHXx)
PL_origenviron = environ;
#endif
+ /* Use sysconf(_SC_CLK_TCK) if available, if not
+ * available or if the sysconf() fails, use the HZ. */
+#if defined(HAS_SYSCONF) && defined(_SC_CLK_TCK)
+ PL_clocktick = sysconf(_SC_CLK_TCK);
+ if (PL_clocktick <= 0)
+#endif
+ PL_clocktick = HZ;
+
ENTER;
}