1
1
Brian Barrett f2a6e63d82 Fix for the double iWrite problem Edgar found with ROMIO, plus some other
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.
2006-05-13 02:30:40 +00:00
..