Ticket #144 (Fixed)Tue Jun 26 12:50:34 UTC 2007
Module: SysLoad module not RO5 safe
Reported by: | Steve Revill (20) | Severity: | Normal |
Part: | RISC OS: Module | Release: | |
Milestone: | New features for RISC OS 5 | Status | Fixed |
Details by Steve Revill (20):
The SysLoad module is currently hardwired to use a high resolution timer which pre-dates the introduction of the HAL. It’d be pretty simple to replace this with the gettimeofday() function in TCPIP libs (which would also allow that little assembler fragment to be removed).
This change would allow it to work correctly on all machines.
Changelog:
Modified by Andrew Hodgkinson (6) Tue, June 26 2007 - 15:40:59 GMT
- Summary changed from SysLoad module not RO5 safe to Module: SysLoad module not RO5 safe
Modified by GavinWraith (26) Wed, June 27 2007 - 15:49:15 GMT
I cannot check because I cannot get the build system to work, but I think that all is needed is to delete SysLoad.s and to create SysLoad.c.MiscAsm containing:
/* >SysLoad:c.MiscAsm */
#include “sys/time”
#include “unixlib.h”
static struct timeval *tp;
static struct timezone *tzp;
uint32_t Get_Hires_Time(void) {
gettimeofday(tp,tzp);
return (uint32_t) (tp->tv_usec/10);
}
What have I missed out?
Modified by Steve Revill (20) Sat, June 30 2007 - 14:06:12 GMT
That sounds about right to me.
Modified by Steve Revill (20) Fri, October 24 2008 - 12:32:25 GMT
- Status changed from Open to Fixed
Fixed – although there are reports of SysLoad being unstable in other ways.