|
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 |