Lisandro Dalcin wrote: > The point is that NULL is not a valid return value, but MPI_COMM_NULL is.
In that case, you don't have a problem in the first place, because you *want* something that is not a valid return value. Are you sure you understand what the 'except' clause is doing here? It *doesn't* cause an exception to be raised when the routine returns that value. It's an out-of-band value for Pyrex to use to indicate that the routine has, or may have, already raised an exception. If you're calling an external routine, you need to check for whatever it uses to signal an error and raise and exception yourself. When you do that, Pyrex will use the exception value you've declared to signal that to calling Python-aware code. The exception value is ideally a value that the routine can't ever return normally, or (with '?') one that it returns rarely. If the external routine is guaranteed never to return NULL, then that's an ideal unconditional exception value for your wrapper routine to use. -- Greg _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
