os/ossrv/genericservices/taskscheduler/group/RELEASE.TXT
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 Release 016
     2 -----------
     3 By NicholaT 1st October 2001
     4 
     5 * Fix for defect "Task Scheduler asserts that new schedules are inserted at the end of the list" (EXT-4ZT8K9)
     6 
     7 Release 015
     8 -----------
     9 By NicholaT 15th August 2001
    10 
    11 * Fix for defect "Main, KERN-EXEC, 3" (WIR-4Z7J5T)
    12 
    13 Release 014
    14 -----------
    15 By AlexW 1st June 2001
    16 
    17 * Fix for defect "Schedules.dat reserves all disk space although messages were sent" (WIR-4WPENB)
    18 * Fix for defect "SchSvr: Too many unnecessary TNames on the heap" (WIR-4WPEPX)
    19 * Fix for defect "SchSvr: Deleting a schedule doesn't cancel the schedule timer" (WIR-4WKD42)
    20 * Fix for defect "Wins specific task scheduler start up problem" (WIR-4WXHU4)
    21 * Fix for defect "A short message cannot be sent immeditely if there is a scheduled sms message in outbox." (WIR-4WYLUZ)
    22 
    23 Release 013
    24 -----------
    25 By ChrisD 6th April 2001
    26 
    27 * Fix for defect "SMS sending during bidirectional cable data transfer HSCSD v.120 2+2" (EDNTPAN-4VHHMP)
    28 
    29 Release 012
    30 -----------
    31 By AlexW 28th February 2001
    32 
    33 * Fixed for defect "Messages with "Resend" status are not sent after reboot" (EDNHLJT-4TRAAE)
    34 
    35 Release 011
    36 -----------
    37 By AlexW 9th June 2000
    38 
    39 * Fix for defect "Task files are not created by the task scheduler" (EDNPHAR-4L3P6N)
    40 * Fixed the task file creation code so that RFs are not leaked anymore
    41 
    42 Release 010
    43 -----------
    44 By AlexW 1st June 2000
    45 
    46 * Fix for defect "Schedule server should use the cleanup stack more" (EDNCDUG-4KVJYF)
    47 
    48 Release 009
    49 -----------
    50 By ChrisD 6 April 2000
    51 
    52 Remove unused variable warnings in schman.cpp.
    53 
    54 Release 008
    55 -----------
    56 By ChrisD 28 March 2000
    57 
    58 Minor changes to fix build warnings in source & testcode.  Reordered testcode 
    59 in bld.inf to build in dependency order.  Updated testcode to accomodate new 
    60 Base API for RThread::Create and RProcess::CommandLine which has changed 
    61 in recent base releases.
    62 
    63 All tests run successfully in wins udeb except TTASKLAUNCHING which is not 
    64 complete yet.
    65 
    66 Release 007
    67 -----------
    68 By AlexW 29 February 2000
    69 
    70 * More boiler plating updates
    71 * Test code reorganised - all test code now placed in "Test" subdirectory.
    72 * New test code project to verify fixes for defects
    73 * Update to TYear2000 so that it now builds properly
    74 * Added minimal task handler as used by TScheduling test project and TYear2000
    75 * Fix for defect "CTaskExecutor::DoCancelL() does nothing" (EDNAWIR-4FWKPR)
    76 * Fix for defect "SCHSVR missing trailing L on internal server calls (and test code)"
    77   (EDNAWIR-4GRLA4)
    78 
    79 
    80 Release 006
    81 -----------
    82 By AlexW 24 January 2000
    83 
    84 
    85 Summary
    86 =======
    87 o  Implemented change request AALR-4EDG75 (GT Change Requests). This required adding additional
    88    parameters to two RScheduler methods.
    89 o  Fixed defect EDNAWIR-4FQJ6A - "Registering twice with the task scheduler causes a memory leak"
    90    (Symbian Defect Tracking v3.0)
    91 o  Fixed defect EDNAWIR-4FRFR6 - "Can't retrieve task data when target buffer is too big to hold 
    92    the data" (Symbian Defect Tracking v3.0)
    93 o  Fixed defect EDNAWIR-4FQGXP - "Cannot schedule new tasks when schedule server data file is
    94    missing" (Symbian Defect Tracking v3.0)
    95 o  Fixed defect EDNAWIR-4GQN48 - "CClientProxy leaves with a "count" value" (Symbian Defect 
    96    Tracking v3.0)
    97 
    98 
    99 API Changes
   100 ===========
   101 
   102 TTime& aNextDue is new - This returns the next time a task/shedule is due.
   103 
   104   TInt RScheduler::GetScheduleL(const TInt aScheduleHandle, TScheduleState& aState, 
   105                                 CArrayFixFlat<TScheduleEntryInfo>& aEntries, 
   106                                 CArrayFixFlat<TTaskInfo>& aTasks, 
   107                                 TTime& aNextDue);
   108 
   109 
   110 TTime& aNextDue, TSchedulerItemRef& aRef are new - This returns the Schedule reference 
   111 for the taskId provided as parameter one, and also the next due time for this schedule.
   112 
   113   TInt RScheduler::GetTaskInfoL(const TInt aTaskId, TTaskInfo& aTaskInfo, TPtr8& aTaskData, 
   114                                 TSchedulerItemRef& aRef, TTime& aNextDue);
   115 
   116 
   117 Source Changes
   118 ==============
   119 
   120 o  Added TScheduleBackup::OpenStoreOrCreateLC(...) which attempts to open the schedule 
   121    store, or if it doesn't exist, recreates it (schstore.cpp/h).
   122    Updated TScheduleBackup to use this new method rather than opening the store explicitly.
   123 
   124 o  Amended CSchSession::RegisterClientL(...) to delete any existing iClient instance should
   125    the client session have already registered previously (fixes memory leak).
   126 
   127 o  Added two new tests to tsch.cpp project, one to check the added Change Request functionality,
   128    and the other, an additional task Id test.
   129 
   130 o  Added THelpers.cpp/h to provide support methods for the TSch test project.
   131 
   132 
   133 Testing
   134 =======
   135 All tests pass under WINS.
   136 
   137 
   138 Building
   139 ========
   140 All projects for this component build for all platforms.
   141 
   142 
   143 To Do
   144 =====
   145 o  testOOM<...> is bugged and no longer works due to the addition of error logging. This is not
   146    a defect in the logging, but a defect in the test code.
   147 o  The tests are based heavily on timing. This prevents satisfactory testing on a target device.
   148    Update the test exe and test code to use a semaphore to indicate successful exection rather than
   149    relying on a timed delay.
   150 
   151 
   152 Release 005
   153 -----------
   154 By AlexW 22 November 1999
   155 
   156 Added functionality to report and store task launching, and return value errors
   157 to the log engine by implementing CClientProxy::FailedToExecute().
   158 
   159 Changes
   160 -------
   161 1) Renamed FailedToExecute() to FailedToExecuteL() as this method allocates memory and
   162 may potentially leave.
   163 
   164 2) Added new mixin MExecutorErrorHandler to the task executor header file (schexec.h).
   165 The CClientProxy now implements the virtual function defined within this class, and
   166 the task executor now requires a reference to this class during construction (this is
   167 not an optional mixin). Should an error be returned by the launched task, then the
   168 virtual function implemented by this mixin is called and error cleanup may occur.
   169 
   170 3) Added new (private) active object, CLogSubmitter, to the CClientProxy class which 
   171 manages the submission of the log event to the log server (submission occurs
   172 asynchronously). The active object waits for the completion of the submission, and
   173 after completion has occurred, the CLogEvent object is destroyed. 
   174 
   175 In order to start the submission process, the active scheduler must be started.
   176 Due to the nature of the task manager, the next active object to have its RunL
   177 called is not necessarily the CLogSubmitter (another task may be scheduled to run
   178 instead). 
   179 
   180 Because potentially many tasks may be executed in parallel, multiple errors may 
   181 occur at the same time for any single client. This therefore requires a nested 
   182 start of the active scheduler when the CClientProxy::iLogSubmitter is already active.
   183 
   184 4) In order to store a contextual error message in the log, FailedToExecuteL() now
   185 has another overload. This simply takes two parameters, the first being the error
   186 code, and the second the error message to write to the log. 
   187 
   188 As the contextual error message can only be defined at the point in time immediately
   189 before the tasks are executed, the error message is prepared by the CClientProxy 
   190 class (in CClientProxy::BuildTaskErrorMessageL(...)) and is subsequently 'given'
   191 to the CTaskExecutor so that (should an error occur) it can inform the CClientProxy,
   192 by way of the MExecutorErrorHandler mixin, of the error that occurred and the appropriate
   193 message to write to the log.
   194 
   195 Changed a lot of source files to use _LIT rather than #defined'd _Ls
   196 	
   197 Also correctly capitalized full paths in some source files (i.e. "C:\system" => "C:\System").
   198 
   199 
   200 Release 004
   201 ---------
   202 Steve Etherington 26 October 1999
   203 Builds under current system.
   204 No significant changes
   205 
   206 Release 001
   207 -----------
   208 Built by WilliamB 26 June 1998
   209 
   210 Uses e32 128, e32tools 091, e32toolp 091, e32utils 018, f32 095, bafl 078, store 049
   211 
   212 Release valids on a clean drive.
   213 
   214 First release of task scheduler.
   215 
   216 Deb/Rel interoperable.
   217 
   218 Test code run and passed for all builds, except Y2K test code (tschy2k.exe) which
   219 hasn't been run because the test plan hasn't been approved yet
   220  since 003