diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2011-02-16 21:29:39 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2011-02-16 21:29:39 +0000 |
commit | 6bced73998312f7ddb68f5d572fef2214ddbe4f4 (patch) | |
tree | d1dc490184496792d09025aa13cfb9b3f9d384d1 /amiga/object.c | |
parent | bbdb7cd440accc92fd9bfaf8c4821bba2844e3e5 (diff) | |
download | netsurf-6bced73998312f7ddb68f5d572fef2214ddbe4f4.tar.gz netsurf-6bced73998312f7ddb68f5d572fef2214ddbe4f4.tar.bz2 |
Modify scheduler to use a binary heap (using libpbl).
Scheduled events are now in event time order, so schedule_run simply takes the top
event off the heap and runs it (if we're polling, rather than having received a signal
that the next event is due to be run, we check first that we have passed the scheduled
time).
This should provide performance benefits as we are no longer trawling the entire list
of scheduled events (potentially hundreds) every time an event is signalled or the
schedule list is polled.
svn path=/trunk/netsurf/; revision=11703
Diffstat (limited to 'amiga/object.c')
-rwxr-xr-x | amiga/object.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/amiga/object.c b/amiga/object.c index 93094cbda..cb5adaa00 100755 --- a/amiga/object.c +++ b/amiga/object.c @@ -77,11 +77,7 @@ void FreeObjList(struct MinList *objlist) do { nnode=(struct nsObject *)GetSucc((struct Node *)node); - if(node->Type == AMINS_CALLBACK) - ami_remove_timer_event((struct nscallback *)node->objstruct); - DelObject(node); - }while(node=nnode); FreeVec(objlist); |