Gregory D Abram:
 |
 |No, thats clearly not desirable.  For some reason, the code in the UI
 |looking at the response from the exec to see if the execution has been
 |queued was modified to accept "rror" as well, so that error messages in
 |the startup process are recognized as indicating that the exec was
 |queued, which it wasn't.  Who knows why.  Anyway, clearly wrong, so I've
 |removed it.

Ok.  I pulled CVS late last night, and running this morning here on IRIX, I
still see the connection queued error for this situation.

In DXApplication::completeConnection(), c->waitForConnection()) returns 1
(normally 0).  

In DXChild::waitForConnection() around DXChild.C:1560, rdbuffer is getting
the familiar IRIX server error: 

     Error during Initialization
     cannot attach shared memory segment / failed on segment 3 of 3 \
     needed segments / last call to shmat returned errno = 12
     cannot initialize DX library

where it normally gets: port = 1900.

So this logic in DXChild.C appears to be the problem:

             if (strstr(rdbuffer, "Execution has been queued")   ||
                 strstr(rdbuffer, "Server appears to be in use") ||
------->>        strstr(rdbuffer, "rror"))           // suits added
             {
               return 1;
             }

Perhaps this should be:

             if (strstr(rdbuffer, "Execution has been queued")   ||
                 strstr(rdbuffer, "Server appears to be in use"))
             {
               return 1;
             }  
             else if (strstr(rdbuffer, "rror"))
             {
               this->errorString = DuplicateString(rdbuffer);
               return -1;
             }

Seems to work well here.

Randy

-- 
Randall Hopper (mailto:[EMAIL PROTECTED])
Lockheed Martin Operation Support
EPA Scientific Visualization Center
US EPA MD/24 ERC-1A; RTP, NC 27711

Reply via email to