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

Reply via email to