[Openib-windows] RE: Errors handeling on Winsock direct
ftillier at silverstorm.com
Fri Oct 28 08:40:09 PDT 2005
> From: Tzachi Dar [mailto:tzachid at mellanox.co.il]
> Sent: Friday, October 28, 2005 4:36 AM
> Error handling is probably one of the most complicated areas in programming
> (or should I say computer science?).
It is also the area that is most overlooked.
> Generally speaking a never fail functions are very hard to design, but writing
> a program without them is impossible. On the other hand if a function might
> fail, the failure has to be reported.
How the error is reported is implementation specific. A function does not have
to return an error value to cause the error to be reported. Specifically,
ib_cq_comp in the WSD provider doesn't need to return an error if it handles any
errors internally. As long as error cases are handled, the function can remain
a void function without issue.
Currently, the only errors not handled are affiliated asynchronous errors. All
other errors that are reported through a WC are handled. These errors are
passed up to the Winsock client through the GetLastError mechanism. See the
check in most of the DLL entry points on the qp_error field which is used to
report previous errors.
More information about the ofw