[openib-general] opensm - umad_receiver break on alloc errors

Yael Kalka yael at mellanox.co.il
Sun Nov 20 01:20:00 PST 2005


Hi Hal,

While reviewing the umad_receiver function in osm_vendor_ibumad.c we've
noticed
that when umad_alloc() calls fail, the receiver breaks.
What happens then is that SM continues to live, though the umad_receiver
thread 
doesn't exist anymore.
I think that there is no use in keeping the SM alive in this case.
As a result, I think we should do one of the following when umad_alloc()
failes:
1. If umad_alloc() fails - issue an error to the syslog, and exit SM.
This is a 
fatal case.
2. Use continue instead of break. Assuming that if umad_alloc() fails
this time - 
doesn't mean it'll fail again.

What do you think?
Yael




More information about the general mailing list