Commit Graph

47 Commits

Author SHA1 Message Date
Chris Young
201bc569a4 More OS3 compilation fixes 2015-01-18 23:13:32 +00:00
Chris Young
f0633090f2 Avoid confusing double-negatives 2015-01-13 00:01:45 +00:00
Chris Young
d514cf30ee fix os4 build 2015-01-12 23:43:00 +00:00
Chris Young
ef6443b132 Don't create processes under OS3, or OS4 for now for testing 2015-01-12 23:29:36 +00:00
Chris Young
dd9a4af311 Remove unused variable 2014-12-01 23:38:13 +00:00
Chris Young
5f9c8b02b2 Clear message port variable so we don't errorneously send messages to it. 2014-12-01 21:48:37 +00:00
Chris Young
2f41c1ad11 Fix leak 2014-12-01 18:44:04 +00:00
Chris Young
70e777c30d Add some comments about timer.device. 2014-11-29 19:56:54 +00:00
Chris Young
335ba082fd Ensure we're not running events ahead of time. 2014-11-22 17:15:52 +00:00
Chris Young
4a395ad025 Process scheduled event changes before incoming timer events.
This stops things being run that have just been deleted.  However, may cause the next event to run early because we don't check the time.
2014-11-22 17:10:07 +00:00
Chris Young
277ceb9fc2 Reduce stack to 2K 2014-11-22 16:38:26 +00:00
Chris Young
9e98d77531 Reply to the timer before running the scheduled task. 2014-11-22 16:37:49 +00:00
Chris Young
2de1553a00 New scheduler 2014-11-22 16:27:39 +00:00
Chris Young
f8d8d218d8 Initial steps for a scheduler process 2014-11-22 16:27:39 +00:00
Chris Young
cfc9971d0e Remove no longer used poll option from schedule runner 2014-11-17 23:47:28 +00:00
Chris Young
fb0af6f269 Call open/close timer from schedule init/free functions 2014-11-10 23:50:28 +00:00
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