a "struct file_list *", which allows us to call it with a copy of the
current file_struct entry that we've modified. This is better than
modifying the entry directly because the latter causes the shared
memory between the generator and the receiver to slowly vanish as
the in-memory changes happen.