void
future_acquire(qthread_t *me);
The argument is a pointer to the thread attempting to acquire. This can be found out with a call to qthread_self()
If a thread calls the acquire function with an argument which is not a qthread which was created as a future, the function will do nothing and will not block. T his is acceptable behavior and it is generally expected that threads will attempt to acquire after creating or joining with futures in the chance that acquisition is necessary.
The typical sequence for creating futures is:
1) yield
2) loop creating futures
3) [optional: join with futures]
4) acquire