6 # infinite loop in postcat and in delivery agents
10 # Failure to update location info after following a pointer record,
11 # while updating a message header record
15 # This happens with repeated updates of the same message header.
16 # After the first update, the update #1 header record sits in the
17 # heap at the end of the queue file, and is followed by a reverse
18 # pointer to the start of the next message header record or the
19 # message body, somewhere in the middle of the queue file.
21 # The problem started with update #2 of that same message header.
22 # While following the reverse pointer record after the update #1
23 # header record to find out the start of the next header or message
24 # body, the header updating routine did not update its notion of
25 # where it was. Thus, it believed that the next header or body record
26 # was located after the reverse pointer record. That was not the
27 # middle of the message, but the end of the queue file. The second
28 # update would result in an update #2 header record, followed by a
29 # reverse pointer to what used to be the end of the queue file, but
30 # had meanwhile become the location of the update #2 header record.
32 # Thus, anything that tried to deliver mail would loop on the update
33 # #2 header record. After update update #3 of the same header, the
34 # delivery agent would loop on the update #3 record, etc.
36 upd_header 1 Subject long header text
37 upd_header 1 Subject long header text
38 upd_header 1 Subject long header text
39 upd_header 1 Subject long header text