Sent event type error

"Stever, John B" <[email protected]>
Newsgroups gmane.network.myrinet.general
Message-ID <AD081BAB251CC44BB5674ED4BB2E504B2C6879@USRV-EXCH2.na.uis.unisys.com>
I have a multi-threaded app running on a 4Xprocessor system (W2K) that hits
the gm_send_with_callback interface pretty hard.  I am getting a panic error
returned from the unknown function indicating that the type field in the
event was 0x9d (157).  I typically have three PostSends outstanding at the
time this happens.  Perhaps coincidentally, 0x9d happens to be the normal
sent event type (29) plus the eighth bit set, so it looks like a corruption
of the type field.  I have seen this value prior to calling gm_unknown, in
which case I trap it.  But it also happens when gm_unknown has been called
with the value in the type field correctly set to 29. 

I have a global lock around all gm calls, but I cannot afford to keep the
lock up from the time of calling gm_unknown until I get the callback on that
event.  So I don't know any way to lock what happens in GM after it returns
from unknown until the callback routine gets control.  During that window,
another thread may well do a PostSend on that port.  Will a collision
between those two threads produce the bad stuff above?  The error is
consistently the same and always happens within a couple of minutes of
starting heavy execution.

Is there any value in using a separate callback routine for each port?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.