I should clarify, if the ret < 0, then the error is from the bmi layer. If the ret == 1, then the error is probably from the job layer. In either case, you're right that its impossible for the job to complete if the server hasn't been sent the request yet. The current code handles error reporting from the job_bmi_recv call a bit better, which is why I suggested it.

-sam

On Apr 14, 2005, at 7:23 AM, Christoph Kling wrote:

Hi,

create, open, and close works well with my bmi method (BMI-GAMMA). But I have a problem when I try to read or write with MPI.
The client posts a receive job using: (msgpairarray.c, line 302)

/* post receive of response; job_id stored in recv_id */
   ret = job_bmi_recv(msg_p->svr_addr,
...

and tests this job. The server has allready sent a response and the client crashes because the receive job(response) has succeeded before the client has sent a request.

if ((ret < 0) || (ret == 1))
       {
       /* it is impossible for this recv to complete at this point
        * without errors; we haven't sent the request yet!
        */
       assert(ret < 0 || msg_p->recv_status.error_code != 0);
...


I'm working with the version 1.0.0. Any Idea why the server is quick or whats wrong here?

Regards
Chris

--
Christoph Kling, Dipl.Ing. FH
Durlacherstr. 4a
10715 Berlin

"Die Wirklichkeit ist nur ein Teil des Möglichen."
Friedrich Dürrenmatt (1921-1990), Schweizer Schriftsteller

_______________________________________________
PVFS2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers



_______________________________________________
PVFS2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers

Reply via email to