Revision history for the Perl extension Time::HiRes.
+1.9703 [2006-12-08]
+ - use int main(int argc, char **argv) consistently in Makefile.PL,
+ should help with
+ [rt.cpan.org #23868] nanosleep not detected under Mac OS 10.3.9 starting with Time::HiRes 1.96
+ - if someone still has the locale-broken Perl 5.8.0,
+ suggest that they upgrade their Perl
+
1.9702 [2006-12-06]
- - restore the -DATLEASTFIVEOHOHFIVE
+ - restore the -DATLEASTFIVEOHOHFIVE, Win32 needed it still
1.9701 [2006-12-04]
- upgrade to ppport.h 3.10_02
Contributions for more systems (especially non-UNIX,
e.g. but not limited to: Win32, VMS, OS/2) gladly accepted.
+ (also more UNIX variants welcome: HP-UX? IRIX?)
Thanks to H.Merijn Brand, John Peacock, and Craig
Berry for brave beta testing.
1.91 [2006-09-29]
- ualarm() in SuSE 10.1 was overflowing after ~4.2 seconds,
- possibly due to a glibc bug/feature, workaround by using the
- setitimer() implementation of ualarm() if either useconds or
+ possibly due to a glibc bug/feature (suspected overflow at
+ 2**32 microseconds?), workaround by using the setitimer()
+ implementation of ualarm() if either useconds or
interval > 999_999 (this case seems to vary between systems:
are useconds more than 999_999 for ualarm() defined or not)
Added more ualarm() tests to catch various overflow points,
struct timeval tv;
gettimeofday(&tv, 0);
}
-int main _((int argc, char** argv, char** env))
+int main(int argc, char** argv)
{
foo();
}
# include <sys/time.h>
#endif
-int main _((int argc, char** argv, char** env))
+int main(int argc, char** argv)
{
$x;
}
/* int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); */
-int main _((int argc, char** argv, char** env)) {
+int main(int argc, char** argv) {
struct timespec ts1, ts2;
int ret;
ts1.tv_sec = 0;
#include "XSUB.h"
#include <$inc>
-int main _((int argc, char** argv, char** env))
+int main(int argc, char** argv)
{
return 0;
}
#include "perl.h"
#include "XSUB.h"
#include <$SYSCALL_H>
-int main _((int argc, char** argv, char** env))
+int main(int argc, char** argv)
{
struct timespec ts;
/* Many Linuxes get ENOSYS even though the syscall exists. */
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
-int main _((int argc, char** argv, char** env))
+int main(int argc, char** argv)
{
struct timespec ts;
int ret = clock_$xxx(CLOCK_REALTIME, &ts); /* Many Linuxes get ENOSYS. */
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
-int main _((int argc, char** argv, char** env))
+int main(int argc, char** argv)
{
clock_t tictoc;
clock_t ret = clock();
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
-int main _((int argc, char** argv, char** env))
+int main(int argc, char** argv)
{
int ret;
struct timerspec ts1;
print "NOT found.\n";
}
+ print "Looking for stat() subsecond timestamps...\n";
+
print "Trying struct stat st_atimespec.tv_nsec...";
my $has_stat_st_xtimespec;
if (try_compile_and_link(<<EOM)) {
$TIME_HEADERS
#include <sys/stat.h>
-int main _((int argc, char** argv, char** env)) {
+int main(int argc, char** argv) {
struct stat st;
st.st_atimespec.tv_nsec = 0;
}
if (try_compile_and_link(<<EOM)) {
$TIME_HEADERS
#include <sys/stat.h>
-int main _((int argc, char** argv, char** env)) {
+int main(int argc, char** argv) {
struct stat st;
st.st_atimensec = 0;
}
if (try_compile_and_link(<<EOM)) {
$TIME_HEADERS
#include <sys/stat.h>
-int main _((int argc, char** argv, char** env)) {
+int main(int argc, char** argv) {
struct stat st;
st.st_atime_n = 0;
}
if (try_compile_and_link(<<EOM)) {
$TIME_HEADERS
#include <sys/stat.h>
-int main _((int argc, char** argv, char** env)) {
+int main(int argc, char** argv) {
struct stat st;
st.st_atim.tv_nsec = 0;
}
if (try_compile_and_link(<<EOM)) {
$TIME_HEADERS
#include <sys/stat.h>
-int main _((int argc, char** argv, char** env)) {
+int main(int argc, char** argv) {
struct stat st;
st.st_uatime = 0;
}
}
if ($DEFINE =~ /-DTIME_HIRES_STAT=\d+/) {
- print "You seem to have stat subsecond timestamps.\n";
+ print "You seem to have stat() subsecond timestamps.\n";
print "(Your struct stat has them, but the filesystems must help.)\n";
} else {
print "You do not seem to have stat subsecond timestamps.\n";
Makefile:91: *** missing separator
then set the environment variable LC_ALL to "C" and retry
from scratch (re-run perl "Makefile.PL").
+(And consider upgrading your Perl.)
EOM
}
}