#
232819dd |
| 04-Jan-2016 |
David van Moolenbroek <david@minix3.org> |
VFS: store process suspension state as union
Previously, VFS would use various subsets of a number of fproc structure fields to store state when the process is blocked (suspended) for various reason
VFS: store process suspension state as union
Previously, VFS would use various subsets of a number of fproc structure fields to store state when the process is blocked (suspended) for various reasons. As a result, there was a fair amount of abuse of fields, hidden state, and confusion as to which fields were used with which suspension states.
Instead, the suspension state is now split into per-state structures, which are then stored in a union. Each of the union's structures should be accessed only right before, during, and right after the fp_blocked_on field is set to the corresponding blocking type. As a result, it is now very clear which fields are in use at which times, and we even save a bit of memory as a side effect.
Change-Id: I5c24e353b6cb0c32eb41c70f89c5cfb23f6c93df
show more ...
|