Chris Young
074e6f3ec6
Remove some code duplication, tidy up and documentation
2014-07-03 00:08:56 +01:00
Chris Young
f52501d9ad
If we try to duplicate an existing scheduled event, reschedule it instead.
2014-07-02 18:43:44 +01:00
Chris Young
5105249bf7
tidy up schedule removal
2014-07-02 18:35:16 +01:00
Vincent Sanders
5c6a0eda3b
fixup missing includes from schedule changes
2014-03-09 16:14:05 +00:00
Vincent Sanders
87f6314dab
move scheduleing into browser operation table
2014-03-09 15:37:40 +00:00
Chris Young
ade86e496e
Replace AllocVec with AllocVecTags. Remove some instances of MEMF_CLEAR where it is not necessary.
2013-10-12 13:11:13 +01:00
Chris Young
262db10204
Avoid crashing on NULL schedule_list
...
svn path=/trunk/netsurf/; revision=12040
2011-03-13 23:20:03 +00:00
John Mark Bell
408f78b737
Move schedule.h to utils/
...
svn path=/trunk/netsurf/; revision=12039
2011-03-13 22:50:54 +00:00
Chris Young
8c1e6db760
Don't crash if removing events when we have no list
...
svn path=/trunk/netsurf/; revision=12035
2011-03-13 19:52:04 +00:00
Chris Young
6a7402b330
Empty the schedule list before freeing and closing resources
...
svn path=/trunk/netsurf/; revision=12034
2011-03-13 19:43:56 +00:00
Chris Young
9017a03330
Add missing includes; Don't mix TimeVal definitions
...
svn path=/trunk/netsurf/; revision=12032
2011-03-13 19:12:03 +00:00
Daniel Silverstone
93e9bfe323
Shunt the schedule function definitions to desktop/schedule.h. Shunt the hlcache/llcache to using schedule to get their cleanups run.
...
svn path=/trunk/netsurf/; revision=12029
2011-03-13 18:26:46 +00:00
Chris Young
6eb8783632
Less ridiculous time calculation
...
svn path=/trunk/netsurf/; revision=11826
2011-02-26 12:54:56 +00:00
Chris Young
3123192dfc
Move timer.device stuff to schedule.c
...
svn path=/trunk/netsurf/; revision=11712
2011-02-19 17:19:38 +00:00
Chris Young
6bced73998
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
2011-02-16 21:29:39 +00:00
Chris Young
4703d643f5
Fix some long-standing issues with events not getting captured, make sure the
...
timer.device version of the scheduler is working and make it the default.
svn path=/trunk/netsurf/; revision=11637
2011-02-09 21:52:28 +00:00
John Mark Bell
625b59f61a
First pass of AmigaOS 3 compatibility
...
svn path=/trunk/netsurf/; revision=11155
2010-12-30 00:53:11 +00:00
Chris Young
4aa363eedc
Change schedule_run to a BOOL as this more standard for platform code.
...
svn path=/trunk/netsurf/; revision=10516
2010-04-29 18:22:04 +00:00
Chris Young
a93fa04a93
Ensure ami_remove_timer_event code doesn't get executed unless necessary.
...
svn path=/trunk/netsurf/; revision=10509
2010-04-28 22:19:10 +00:00
Chris Young
9f6a4d9745
Revert previous change, causing instability.
...
svn path=/trunk/netsurf/; revision=9649
2009-10-16 19:49:56 +00:00
Chris Young
4059d2b096
Fix-up the timer.device scheduler and reinstate it as default. Unfortunately this
...
doesn't remove the need for INTUITICKS messages as we still need to break out for page
reflow (which doesn't use the scheduler), but it should make animations more accurate.
svn path=/trunk/netsurf/; revision=9648
2009-10-15 21:35:29 +00:00
Vincent Sanders
cbf07e1bc3
make schedule_run return if it has active jobs to schedule
...
svn path=/trunk/netsurf/; revision=6447
2009-02-11 22:33:55 +00:00
Chris Young
5bff3e3287
Update for new SDK
...
svn path=/trunk/netsurf/; revision=5915
2008-12-20 10:54:59 +00:00
Chris Young
d934e52dc6
Minor fixes, changing some defaults to safer values, screen_modeid should now work.
...
Added screen_depth to stop it complaining when trying to BestModeID() a 32-bit screen
on a system that doesn't have one.
svn path=/trunk/netsurf/; revision=5650
2008-11-03 19:21:40 +00:00
Chris Young
cae0d4a43b
Change memory allocations to MEMF_PRIVATE to enable paging on OS4.1.
...
svn path=/trunk/netsurf/; revision=5649
2008-11-02 00:21:49 +00:00
Chris Young
dfec4035dd
List traversing tidy-up.
...
svn path=/trunk/netsurf/; revision=5499
2008-10-06 18:20:16 +00:00
Chris Young
f78ed94926
Disabled the new scheduler by default as it is more unstable than I thought :(
...
Defining AMI_SCHEDULER_USES_TIMER will enable it again.
svn path=/trunk/netsurf/; revision=5291
2008-09-09 06:25:22 +00:00
Chris Young
9fc58606db
Scheduled events now signal when the scheduled time has passed.
...
The timer appears to stop signalling events occasionally - needs some investigation.
svn path=/trunk/netsurf/; revision=5287
2008-09-08 18:14:14 +00:00
Chris Young
1486ef8b08
Reversed order of running a callback and removing it from the schedule list, this
...
resolves a serious system freeze especially prevalent on XOOPS-based websites.
svn path=/trunk/netsurf/; revision=5137
2008-08-17 16:24:22 +00:00
Chris Young
d1c876e03c
Fully implemented schedule, schedule_run and schedule_remove.
...
svn path=/trunk/netsurf/; revision=4875
2008-08-03 16:10:10 +00:00
Chris Young
26203b2215
Initial Amiga port files, mostly empty stub functions.
...
svn path=/trunk/netsurf/; revision=4864
2008-08-02 14:31:32 +00:00