f2a6e63d82
things I found: - Locking should prevent it from happening (I think), but there was a race condition in the component progress -- a callback could be triggered that would free the request before it was off the outstanding requests list. - When pulling a request off the component free list, make sure to reinitialize the free_called state on the IO request. This was what was causing Edgar's failures - In the request cleanup code, pull the request out of the per- component free list before returning to the free list. This probably would cause asserts to fire, although it looks like I wrote the loops such that it would have been memory safe if the asserts didn't fire. Not really sure why I did that, but let's try it again... This should go to the v1.0 and v1.1 branches. This commit was SVN r9913. |
||
---|---|---|
.. | ||
base | ||
romio | ||
io.h | ||
Makefile.am |