[MPICH] MPICH2: Internal use of errno?

Rajeev Thakur thakur at mcs.anl.gov
Wed Sep 14 10:15:40 CDT 2005


MPICH2 makes system calls for communication, which can/will set the value of
errno. MPICH2 uses nonblocking sockets; a nonblocking connect(), for
example, will set errno to EINPROGRESS (Operation now in progress). So you
should reset errno in each iteration if you need it.

Rajeev 

> -----Original Message-----
> From: owner-mpich-discuss at mcs.anl.gov 
> [mailto:owner-mpich-discuss at mcs.anl.gov] On Behalf Of James Frye
> Sent: Wednesday, September 14, 2005 8:36 AM
> To: mpich-discuss at mcs.anl.gov
> Subject: [MPICH] MPICH2: Internal use of errno?
> 
> Hi,
> 
> I've encountered something unusual with some MPI code I'm writing.  My
> code is a communication layer that passes information between many
> instances of a sequential program.  The sequential program is 
> in wide use,
> so I can at most make very limited changes to it.
> 
> The sequential program tests the C errno variable at various 
> places.  When
> I run it under MPICH2 (the mpd demon), it sees an errno=22 
> (Operation now
> in progress), which seems to be coming from something MPICH 
> is doing.  I
> can get rid of the effects by setting errno in my code in 
> each iteration.
> 
> So my questions are 1) Is this known? and 2) Is it something 
> I need to be
> concerned with?
> 
> Thanks,
> James
> 
> 




More information about the mpich-discuss mailing list