1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/ossrv/genericservices/taskscheduler/group/RELEASE.TXT Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,220 @@
1.4 +Release 016
1.5 +-----------
1.6 +By NicholaT 1st October 2001
1.7 +
1.8 +* Fix for defect "Task Scheduler asserts that new schedules are inserted at the end of the list" (EXT-4ZT8K9)
1.9 +
1.10 +Release 015
1.11 +-----------
1.12 +By NicholaT 15th August 2001
1.13 +
1.14 +* Fix for defect "Main, KERN-EXEC, 3" (WIR-4Z7J5T)
1.15 +
1.16 +Release 014
1.17 +-----------
1.18 +By AlexW 1st June 2001
1.19 +
1.20 +* Fix for defect "Schedules.dat reserves all disk space although messages were sent" (WIR-4WPENB)
1.21 +* Fix for defect "SchSvr: Too many unnecessary TNames on the heap" (WIR-4WPEPX)
1.22 +* Fix for defect "SchSvr: Deleting a schedule doesn't cancel the schedule timer" (WIR-4WKD42)
1.23 +* Fix for defect "Wins specific task scheduler start up problem" (WIR-4WXHU4)
1.24 +* Fix for defect "A short message cannot be sent immeditely if there is a scheduled sms message in outbox." (WIR-4WYLUZ)
1.25 +
1.26 +Release 013
1.27 +-----------
1.28 +By ChrisD 6th April 2001
1.29 +
1.30 +* Fix for defect "SMS sending during bidirectional cable data transfer HSCSD v.120 2+2" (EDNTPAN-4VHHMP)
1.31 +
1.32 +Release 012
1.33 +-----------
1.34 +By AlexW 28th February 2001
1.35 +
1.36 +* Fixed for defect "Messages with "Resend" status are not sent after reboot" (EDNHLJT-4TRAAE)
1.37 +
1.38 +Release 011
1.39 +-----------
1.40 +By AlexW 9th June 2000
1.41 +
1.42 +* Fix for defect "Task files are not created by the task scheduler" (EDNPHAR-4L3P6N)
1.43 +* Fixed the task file creation code so that RFs are not leaked anymore
1.44 +
1.45 +Release 010
1.46 +-----------
1.47 +By AlexW 1st June 2000
1.48 +
1.49 +* Fix for defect "Schedule server should use the cleanup stack more" (EDNCDUG-4KVJYF)
1.50 +
1.51 +Release 009
1.52 +-----------
1.53 +By ChrisD 6 April 2000
1.54 +
1.55 +Remove unused variable warnings in schman.cpp.
1.56 +
1.57 +Release 008
1.58 +-----------
1.59 +By ChrisD 28 March 2000
1.60 +
1.61 +Minor changes to fix build warnings in source & testcode. Reordered testcode
1.62 +in bld.inf to build in dependency order. Updated testcode to accomodate new
1.63 +Base API for RThread::Create and RProcess::CommandLine which has changed
1.64 +in recent base releases.
1.65 +
1.66 +All tests run successfully in wins udeb except TTASKLAUNCHING which is not
1.67 +complete yet.
1.68 +
1.69 +Release 007
1.70 +-----------
1.71 +By AlexW 29 February 2000
1.72 +
1.73 +* More boiler plating updates
1.74 +* Test code reorganised - all test code now placed in "Test" subdirectory.
1.75 +* New test code project to verify fixes for defects
1.76 +* Update to TYear2000 so that it now builds properly
1.77 +* Added minimal task handler as used by TScheduling test project and TYear2000
1.78 +* Fix for defect "CTaskExecutor::DoCancelL() does nothing" (EDNAWIR-4FWKPR)
1.79 +* Fix for defect "SCHSVR missing trailing L on internal server calls (and test code)"
1.80 + (EDNAWIR-4GRLA4)
1.81 +
1.82 +
1.83 +Release 006
1.84 +-----------
1.85 +By AlexW 24 January 2000
1.86 +
1.87 +
1.88 +Summary
1.89 +=======
1.90 +o Implemented change request AALR-4EDG75 (GT Change Requests). This required adding additional
1.91 + parameters to two RScheduler methods.
1.92 +o Fixed defect EDNAWIR-4FQJ6A - "Registering twice with the task scheduler causes a memory leak"
1.93 + (Symbian Defect Tracking v3.0)
1.94 +o Fixed defect EDNAWIR-4FRFR6 - "Can't retrieve task data when target buffer is too big to hold
1.95 + the data" (Symbian Defect Tracking v3.0)
1.96 +o Fixed defect EDNAWIR-4FQGXP - "Cannot schedule new tasks when schedule server data file is
1.97 + missing" (Symbian Defect Tracking v3.0)
1.98 +o Fixed defect EDNAWIR-4GQN48 - "CClientProxy leaves with a "count" value" (Symbian Defect
1.99 + Tracking v3.0)
1.100 +
1.101 +
1.102 +API Changes
1.103 +===========
1.104 +
1.105 +TTime& aNextDue is new - This returns the next time a task/shedule is due.
1.106 +
1.107 + TInt RScheduler::GetScheduleL(const TInt aScheduleHandle, TScheduleState& aState,
1.108 + CArrayFixFlat<TScheduleEntryInfo>& aEntries,
1.109 + CArrayFixFlat<TTaskInfo>& aTasks,
1.110 + TTime& aNextDue);
1.111 +
1.112 +
1.113 +TTime& aNextDue, TSchedulerItemRef& aRef are new - This returns the Schedule reference
1.114 +for the taskId provided as parameter one, and also the next due time for this schedule.
1.115 +
1.116 + TInt RScheduler::GetTaskInfoL(const TInt aTaskId, TTaskInfo& aTaskInfo, TPtr8& aTaskData,
1.117 + TSchedulerItemRef& aRef, TTime& aNextDue);
1.118 +
1.119 +
1.120 +Source Changes
1.121 +==============
1.122 +
1.123 +o Added TScheduleBackup::OpenStoreOrCreateLC(...) which attempts to open the schedule
1.124 + store, or if it doesn't exist, recreates it (schstore.cpp/h).
1.125 + Updated TScheduleBackup to use this new method rather than opening the store explicitly.
1.126 +
1.127 +o Amended CSchSession::RegisterClientL(...) to delete any existing iClient instance should
1.128 + the client session have already registered previously (fixes memory leak).
1.129 +
1.130 +o Added two new tests to tsch.cpp project, one to check the added Change Request functionality,
1.131 + and the other, an additional task Id test.
1.132 +
1.133 +o Added THelpers.cpp/h to provide support methods for the TSch test project.
1.134 +
1.135 +
1.136 +Testing
1.137 +=======
1.138 +All tests pass under WINS.
1.139 +
1.140 +
1.141 +Building
1.142 +========
1.143 +All projects for this component build for all platforms.
1.144 +
1.145 +
1.146 +To Do
1.147 +=====
1.148 +o testOOM<...> is bugged and no longer works due to the addition of error logging. This is not
1.149 + a defect in the logging, but a defect in the test code.
1.150 +o The tests are based heavily on timing. This prevents satisfactory testing on a target device.
1.151 + Update the test exe and test code to use a semaphore to indicate successful exection rather than
1.152 + relying on a timed delay.
1.153 +
1.154 +
1.155 +Release 005
1.156 +-----------
1.157 +By AlexW 22 November 1999
1.158 +
1.159 +Added functionality to report and store task launching, and return value errors
1.160 +to the log engine by implementing CClientProxy::FailedToExecute().
1.161 +
1.162 +Changes
1.163 +-------
1.164 +1) Renamed FailedToExecute() to FailedToExecuteL() as this method allocates memory and
1.165 +may potentially leave.
1.166 +
1.167 +2) Added new mixin MExecutorErrorHandler to the task executor header file (schexec.h).
1.168 +The CClientProxy now implements the virtual function defined within this class, and
1.169 +the task executor now requires a reference to this class during construction (this is
1.170 +not an optional mixin). Should an error be returned by the launched task, then the
1.171 +virtual function implemented by this mixin is called and error cleanup may occur.
1.172 +
1.173 +3) Added new (private) active object, CLogSubmitter, to the CClientProxy class which
1.174 +manages the submission of the log event to the log server (submission occurs
1.175 +asynchronously). The active object waits for the completion of the submission, and
1.176 +after completion has occurred, the CLogEvent object is destroyed.
1.177 +
1.178 +In order to start the submission process, the active scheduler must be started.
1.179 +Due to the nature of the task manager, the next active object to have its RunL
1.180 +called is not necessarily the CLogSubmitter (another task may be scheduled to run
1.181 +instead).
1.182 +
1.183 +Because potentially many tasks may be executed in parallel, multiple errors may
1.184 +occur at the same time for any single client. This therefore requires a nested
1.185 +start of the active scheduler when the CClientProxy::iLogSubmitter is already active.
1.186 +
1.187 +4) In order to store a contextual error message in the log, FailedToExecuteL() now
1.188 +has another overload. This simply takes two parameters, the first being the error
1.189 +code, and the second the error message to write to the log.
1.190 +
1.191 +As the contextual error message can only be defined at the point in time immediately
1.192 +before the tasks are executed, the error message is prepared by the CClientProxy
1.193 +class (in CClientProxy::BuildTaskErrorMessageL(...)) and is subsequently 'given'
1.194 +to the CTaskExecutor so that (should an error occur) it can inform the CClientProxy,
1.195 +by way of the MExecutorErrorHandler mixin, of the error that occurred and the appropriate
1.196 +message to write to the log.
1.197 +
1.198 +Changed a lot of source files to use _LIT rather than #defined'd _Ls
1.199 +
1.200 +Also correctly capitalized full paths in some source files (i.e. "C:\system" => "C:\System").
1.201 +
1.202 +
1.203 +Release 004
1.204 +---------
1.205 +Steve Etherington 26 October 1999
1.206 +Builds under current system.
1.207 +No significant changes
1.208 +
1.209 +Release 001
1.210 +-----------
1.211 +Built by WilliamB 26 June 1998
1.212 +
1.213 +Uses e32 128, e32tools 091, e32toolp 091, e32utils 018, f32 095, bafl 078, store 049
1.214 +
1.215 +Release valids on a clean drive.
1.216 +
1.217 +First release of task scheduler.
1.218 +
1.219 +Deb/Rel interoperable.
1.220 +
1.221 +Test code run and passed for all builds, except Y2K test code (tschy2k.exe) which
1.222 +hasn't been run because the test plan hasn't been approved yet
1.223 + since 003