summaryrefslogtreecommitdiff
path: root/amiga/schedule.c
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2011-02-19 17:19:38 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2011-02-19 17:19:38 +0000
commit3123192dfca6336a0fc90d34dec4269aa329b4d0 (patch)
tree20e561959237b4c584ce12978c7ec15236ccfedb /amiga/schedule.c
parentb76ef4333a83e8f543411c578433d5db457788de (diff)
downloadnetsurf-3123192dfca6336a0fc90d34dec4269aa329b4d0.tar.gz
netsurf-3123192dfca6336a0fc90d34dec4269aa329b4d0.tar.bz2
Move timer.device stuff to schedule.c
svn path=/trunk/netsurf/; revision=11712
Diffstat (limited to 'amiga/schedule.c')
-rwxr-xr-xamiga/schedule.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/amiga/schedule.c b/amiga/schedule.c
index 1c670c4bb..030ed266a 100755
--- a/amiga/schedule.c
+++ b/amiga/schedule.c
@@ -133,7 +133,7 @@ void schedule_run(BOOL poll)
nscb = pblHeapGetFirst(schedule_list);
- if(nscb == -1) return false;
+ if(nscb == -1) return;
if(poll)
{
@@ -188,3 +188,33 @@ void ami_schedule_free(void)
{
pblHeapFree(schedule_list);
}
+
+void ami_schedule_open_timer(void)
+{
+ msgport = AllocSysObjectTags(ASOT_PORT,
+ ASO_NoTrack,FALSE,
+ TAG_DONE);
+
+ tioreq = (struct TimeRequest *)AllocSysObjectTags(ASOT_IOREQUEST,
+ ASOIOR_Size,sizeof(struct TimeRequest),
+ ASOIOR_ReplyPort,msgport,
+ ASO_NoTrack,FALSE,
+ TAG_DONE);
+
+ OpenDevice("timer.device", UNIT_WAITUNTIL, (struct IORequest *)tioreq, 0);
+
+ TimerBase = (struct Device *)tioreq->Request.io_Device;
+ ITimer = (struct TimerIFace *)GetInterface((struct Library *)TimerBase,"main",1,NULL);
+}
+
+void ami_schedule_close_timer(void)
+{
+ if(ITimer)
+ {
+ DropInterface((struct Interface *)ITimer);
+ }
+
+ CloseDevice((struct IORequest *) tioreq);
+ FreeSysObject(ASOT_IOREQUEST,tioreq);
+ FreeSysObject(ASOT_PORT,msgport);
+}