I see in a few places in ob1 we do things like this: OPAL_THREAD_ADD32(&sendreq->req_state, -1);
Why do we do this? req_state is technically an enum value, so we shouldn't be adding/subtracting to it (granted, it looks like the enum values were carefully chosen to allow this). Additionally, req_state is volatile; the atomics shouldn't be necessary.
Is there some other non-obvious reason? Also, I see this in a few places: req->req_state = 2; which really should be req->req_state = OMPI_REQUEST_ACTIVE; -- Jeff Squyres Cisco Systems