diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2011-02-19 17:19:38 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2011-02-19 17:19:38 +0000 |
commit | 3123192dfca6336a0fc90d34dec4269aa329b4d0 (patch) | |
tree | 20e561959237b4c584ce12978c7ec15236ccfedb /amiga/schedule.c | |
parent | b76ef4333a83e8f543411c578433d5db457788de (diff) | |
download | netsurf-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-x | amiga/schedule.c | 32 |
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); +} |