Das Problem besteht darin, dass mit den Zeilen

Code:
    flags = fcntl(sock: F_GETFL);      
    flags = %bitor(flags: O_NONBLOCK); 
    fcntl(sock: F_SETFL: flags);
der Socket nicht geblockt wird. Wenn ich diese Zeilen weglasse und die Waage aus irgendeinem Grund nicht antwortet, bleibt das Programm ohne Fehlermeldung stehen.
Der Versuch mit
Code:
d TimeOut         DS                           
d  Sekunden                     10i 0 inz(5)   
d  usec                         10i 0 inz(0)   

RetCode = setsockopt(sock             
                      :SOL_SOCKET     
                      :SO_RCVTIMEO    
                      :%addr(Timeout) 
                      : %size(Timeout)
                    );
ein Timeout zu setzen, bringt leider auch keinen Erfolg. Habe ich vielleicht beim Setzen des Timeout einen Gedankenfehler?