Natools

Check-in [215f7beb0c]
Login
Overview
Comment:cron: fix fusion of even list
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 215f7beb0cc73fd47aaa8472d91f4f6fad22cee9
User & Date: nat on 2017-06-23 20:00:04
Other Links: manifest | tags
Context
2017-06-24
21:03
smaz_tests: new test showing a bug in multiblock base-64 encoding check-in: 84e2f2a874 user: nat tags: trunk
2017-06-23
20:00
cron: fix fusion of even list check-in: 215f7beb0c user: nat tags: trunk
2017-06-22
21:10
cron-tests: add a test showing a bug in event list fusion check-in: 908d0e14c9 user: nat tags: trunk
Changes

Modified src/natools-cron.adb from [e86553a260] to [ef3067335b].

198
199
200
201
202
203
204
205





206
207
208




209
210
211
212
213
214
215
            Previous : Callback_Refs.Reference;
         begin
            Map.Insert (Actual_Time, Callback, Position, Inserted);

            if not Inserted then
               Previous := Entry_Maps.Element (Position);

               if Previous.Update.Data.all in Event_List then





                  Append
                    (Event_List (Previous.Update.Data.all),
                     Callback);




               else
                  Map.Replace_Element
                    (Position,
                     Create_Event_List (Previous, Callback));
               end if;
            end if;
         end;







|
>
>
>
>
>
|
|
|
>
>
>
>







198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
            Previous : Callback_Refs.Reference;
         begin
            Map.Insert (Actual_Time, Callback, Position, Inserted);

            if not Inserted then
               Previous := Entry_Maps.Element (Position);

               if Previous.Query.Data.all in Event_List then
                  if Callback.Query.Data.all in Event_List then
                     for I of Event_List (Callback.Query.Data.all).List loop
                        Append (Event_List (Previous.Update.Data.all), I);
                     end loop;
                  else
                     Append
                       (Event_List (Previous.Update.Data.all),
                        Callback);
                  end if;
               elsif Callback.Query.Data.all in Event_List then
                  Append (Event_List (Callback.Update.Data.all), Previous);
                  Map.Replace_Element (Position, Callback);
               else
                  Map.Replace_Element
                    (Position,
                     Create_Event_List (Previous, Callback));
               end if;
            end if;
         end;