The speedy temp file contains in this order:
Below is a a graphical view of the file structure:![]() |
create_time |   | Time when file was created. | |
group_head | Pointer to a linked list of groups | ||
slot_free | Pointer to a linked list of free slots | ||
slots_alloced | Number of slots in the slot array. | ||
file_corrupt | Boolean - is this file corrupt? This is true if a process locked this file, but exited or was killed before unlocking it. | ||
file_removed | Boolean - has this file been removed from the filesystem? |
Slots can either be allocated by increasing the slots_alloced and increasing the file size if necessary, or by grabbing a free slot from the slot_free linked list.
Each slot is a union that can contain one of the following types of records:
Most records are arranged into linked lists of slots. Each slot is identified by its index within the array, starting at 1. Slot-0 represents the "null" slot and is used to terminate linked lists.
next_slot |   | Pointer to the next free slot in the linked list |
A group record contains:
next_slot |   | Pointer to the next group in the linked list | |
script_head | Pointer to the list of scripts within this group | ||
name | If using a group name, this will point to a Group Name slot. | ||
be_head | Linked list of all backends that are executing as part of this group, no matter what their state. | ||
be_wait | Linked list of backends that are waiting for a connection from a frontend. | ||
fe_wait | Linked list of frontend processes that are waiting for a connection from a backend. | ||
fe_tail | Pointer to the last slot in the fe_wait linked list. |
next_slot |   | Pointer to the next script in the linked list | |
dev_num | The st_dev field from the unix stat structure | ||
ino_num | The st_ino field from the unix stat structure. | ||
mtime | The st_mtime field from the unix stat structure. |
next_slot |   | Pointer to the next proc in the linked list. This is used for all proc lists except be_wait. | ||||||||
prev_slot | Pointer to the previous proc in the linked list. This is used for all proc lists except be_wait. | |||||||||
pid | The unix process id. | |||||||||
be_wait_next | Pointer to the next proc in the be_wait linked list. | |||||||||
be_wait_prev | Pointer to the previous proc in the be_wait linked list. | |||||||||
maturity |
Represents how mature this process is:
|
next_slot |   | Pointer to the next proc in the linked list. | |
prev_slot | Pointer to the previous proc in the linked list. | ||
pid | The unix process id. | ||
sent_sig | Boolean - has this frontend been sent an alarm signal? |
name |   | Array of characters containing the group name. |