From 152c8a986dcd62182b117b0a9200d8b73a34473f Mon Sep 17 00:00:00 2001 From: FlightControl Date: Tue, 13 Dec 2016 12:10:12 +0100 Subject: [PATCH] Pogress - Still a problem, getting obscolete calls after a garbage collect where i should not get them ... --- Moose Development/Moose/Core/Scheduler2.lua | 15 +--- Moose Development/Moose/Core/Timer.lua | 2 +- .../SCH-000 - Simple Scheduling.lua | 13 ++- .../SCH-000 - Simple Scheduling.miz | Bin 17738 -> 18147 bytes ...SCH-300 - GC Simple Object Scheduling.lua} | 7 +- ...SCH-300 - GC Simple Object Scheduling.miz} | Bin 18167 -> 18147 bytes .../SCH-310 - GC Object Repeat Scheduling.lua | 80 ++++++++++++++++++ .../SCH-310 - GC Object Repeat Scheduling.miz | Bin 0 -> 17605 bytes 8 files changed, 100 insertions(+), 17 deletions(-) rename Moose Test Missions/SCH - Scheduler/{SCH-002 - No Object Scheduling because GC/SCH-002 - No Object Scheduling because GC.lua => SCH-300 - GC Simple Object Scheduling/SCH-300 - GC Simple Object Scheduling.lua} (95%) rename Moose Test Missions/SCH - Scheduler/{SCH-002 - No Object Scheduling because GC/SCH-002 - No Object Scheduling because GC.miz => SCH-300 - GC Simple Object Scheduling/SCH-300 - GC Simple Object Scheduling.miz} (76%) create mode 100644 Moose Test Missions/SCH - Scheduler/SCH-310 - GC Object Repeat Scheduling/SCH-310 - GC Object Repeat Scheduling.lua create mode 100644 Moose Test Missions/SCH - Scheduler/SCH-310 - GC Object Repeat Scheduling/SCH-310 - GC Object Repeat Scheduling.miz diff --git a/Moose Development/Moose/Core/Scheduler2.lua b/Moose Development/Moose/Core/Scheduler2.lua index 363626328..e4bcfe7d9 100644 --- a/Moose Development/Moose/Core/Scheduler2.lua +++ b/Moose Development/Moose/Core/Scheduler2.lua @@ -58,18 +58,7 @@ function SCHEDULER:New( TimeEventObject, TimeEventFunction, TimeEventFunctionArg local self = BASE:Inherit( self, BASE:New() ) self:F2( { StartSeconds, RepeatSecondsInterval, RandomizationFactor, StopSeconds } ) - self.TimeEventObject = TimeEventObject - self.TimeEventFunction = TimeEventFunction - self.TimeEventFunctionArguments = TimeEventFunctionArguments - self.StartSeconds = StartSeconds - self.Repeat = false - self.RepeatSecondsInterval = RepeatSecondsInterval or 0 - self.RandomizationFactor = RandomizationFactor or 0 - self.StopSeconds = StopSeconds - - self.StartTime = timer.getTime() - - _TIMERDISPATCHER:AddSchedule( self ) + self:Schedule( TimeEventObject, TimeEventFunction, TimeEventFunctionArguments, StartSeconds, RepeatSecondsInterval, RandomizationFactor, StopSeconds ) return self end @@ -119,6 +108,8 @@ function SCHEDULER:Start() timer.removeFunction( self.ScheduleID ) end self:T( { self.StartSeconds } ) + _TIMERDISPATCHER:AddSchedule( self ) + self.ScheduleID = timer.scheduleFunction( self._Scheduler, self, timer.getTime() + self.StartSeconds + .001 ) end diff --git a/Moose Development/Moose/Core/Timer.lua b/Moose Development/Moose/Core/Timer.lua index 19ea1bc14..96eae1411 100644 --- a/Moose Development/Moose/Core/Timer.lua +++ b/Moose Development/Moose/Core/Timer.lua @@ -103,7 +103,7 @@ function TIMER:AddSchedule( Scheduler, ScheduleFunction, ScheduleArguments, Star local StartTime = CurrentTime + Start if Status and (( Result == nil ) or ( Result and Result ~= false ) ) then - if Repeat ~= 0 and ( not Stop ) or ( Stop and CurrentTime <= StartTime + Stop ) then + if Repeat ~= 0 and ( Stop == 0 ) or ( Stop ~= 0 and CurrentTime <= StartTime + Stop ) then local ScheduleTime = CurrentTime + Repeat + diff --git a/Moose Test Missions/SCH - Scheduler/SCH-000 - Simple Scheduling/SCH-000 - Simple Scheduling.lua b/Moose Test Missions/SCH - Scheduler/SCH-000 - Simple Scheduling/SCH-000 - Simple Scheduling.lua index 5b1cc0462..be50637aa 100644 --- a/Moose Test Missions/SCH - Scheduler/SCH-000 - Simple Scheduling/SCH-000 - Simple Scheduling.lua +++ b/Moose Test Missions/SCH - Scheduler/SCH-000 - Simple Scheduling/SCH-000 - Simple Scheduling.lua @@ -19,6 +19,15 @@ local TestScheduler = SCHEDULER:New( nil, function() - BASE:E( "Hello World") + BASE:E( "Hello World 1") end, {}, 1 - ) \ No newline at end of file + ) + +SCHEDULER:New( nil, + function() + BASE:E( "Hello World 2") + end, {}, 2 + ) + +collectgarbage() + diff --git a/Moose Test Missions/SCH - Scheduler/SCH-000 - Simple Scheduling/SCH-000 - Simple Scheduling.miz b/Moose Test Missions/SCH - Scheduler/SCH-000 - Simple Scheduling/SCH-000 - Simple Scheduling.miz index 3cf8a601a008a9ed3867868b61029c27171821ca..2c6329813b8dc751822f0f939c97525be771f7b3 100644 GIT binary patch delta 3431 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 delta 2977 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 XMl%9eKa;^m7z!){000O=00000d8wCK diff --git a/Moose Test Missions/SCH - Scheduler/SCH-002 - No Object Scheduling because GC/SCH-002 - No Object Scheduling because GC.lua b/Moose Test Missions/SCH - Scheduler/SCH-300 - GC Simple Object Scheduling/SCH-300 - GC Simple Object Scheduling.lua similarity index 95% rename from Moose Test Missions/SCH - Scheduler/SCH-002 - No Object Scheduling because GC/SCH-002 - No Object Scheduling because GC.lua rename to Moose Test Missions/SCH - Scheduler/SCH-300 - GC Simple Object Scheduling/SCH-300 - GC Simple Object Scheduling.lua index ee34c7a79..852a01bdc 100644 --- a/Moose Test Missions/SCH - Scheduler/SCH-002 - No Object Scheduling because GC/SCH-002 - No Object Scheduling because GC.lua +++ b/Moose Test Missions/SCH - Scheduler/SCH-300 - GC Simple Object Scheduling/SCH-300 - GC Simple Object Scheduling.lua @@ -42,19 +42,22 @@ end do local Test1 = TEST_BASE:New( "Hello World Test 1" ) +collectgarbage() Test1 = nil +collectgarbage() BASE:E( Test1 ) end +collectgarbage() local Test2 = TEST_BASE:New( "Hello World Test 2" ) - +collectgarbage() +BASE:E( Test2 ) local Test3 = TEST_BASE:New( "Hello World Test 3" ) Test3 = nil collectgarbage() -BASE:E( Test2 ) BASE:E( Test3 ) BASE:E( "Collect Garbage executed." ) diff --git a/Moose Test Missions/SCH - Scheduler/SCH-002 - No Object Scheduling because GC/SCH-002 - No Object Scheduling because GC.miz b/Moose Test Missions/SCH - Scheduler/SCH-300 - GC Simple Object Scheduling/SCH-300 - GC Simple Object Scheduling.miz similarity index 76% rename from Moose Test Missions/SCH - Scheduler/SCH-002 - No Object Scheduling because GC/SCH-002 - No Object Scheduling because GC.miz rename to Moose Test Missions/SCH - Scheduler/SCH-300 - GC Simple Object Scheduling/SCH-300 - GC Simple Object Scheduling.miz index 8707c5c492ffa14fabe538d19efe05ae614177e8..2cdac6499820380d22fa646923cfd223152da0eb 100644 GIT binary patch delta 3671 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 delta 3656 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 t{iFVOSm