First draft of the resource-management functions. Tested manually but still
very fresh.
Instead of independent synchronization commands in each of the implemented
functions, provide a generic serialization wrapper. Simplify the actual
methods for resource manipulations, provide locked_* version for parallel
execution.
Move comma-test-run test into a subdirectory. More tests will follow.
Install resources-util.
Added unit tests for enqueue/dequeue functions.
Modify the description of the acquired_resources function. More like a TODO
note, because implementation has not been updated yet.
Provide a function for calculating PID position in the queue. Improve path
handling in enqueue/dequeue: path argument is in human-readable form, all ^=
additions and '/' -> '\/' replacements are done inside the functions.
Add a test for enqueue/dequeue/check_position methods.
Start working on resource-counter test.
Minor bug fix in initialize_resources. Add it to the test.
Simple test of acquire_resources. No resource conflict yet.
Minor: just move the function to a better place.
Provide a common function for preparing output for comma-test-match parsing.
Improve comments a bit.
Add a test of the non_negative function.
First simple test of acquire_resources failure for large requests. Minor bug
fixed in the function itself (but TODO items remain) and the test extended.
Add tests for multiple out-of-resources requests and for releasing
resources.
Minor: cleaned up failure descriptions.
Wrote up the continuation of the test. Does not work because of the missing
features in acquire_resources (to-do notes).
Implemented the logic (hopefully correct) of acquire_resources function. One
more auxiliary method have been added to check if the waiting list is empty.
Minor changes to improve output.