Kbase P160711: Procedure using sockets does not time out even though SO-RCVTIMEO is set
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  24/02/2010 |
|
Status: Unverified
SYMPTOM(s):
Procedure using sockets does not time out even though SO-RCVTIMEO is set
READ-RESPONSE procedure does not appear to time out.
FACT(s) (Environment):
GET-BYTES-AVAILABLE never gets any bytes.
SO-RCVTIMEO is set.
READ method uses READ-EXACT-NUM mode.
Code in main block includes the following line:
WAIT-FOR READ-RESPONSE OF hSocket.
All Supported Operating Systems
Progress/OpenEdge Product Family
Progress 9.x
OpenEdge 10.x
CAUSE:
WAIT-FOR READ-RESPONSE does not respond to the SO-RCVTIMEO socket option. SO-RCVTIMEO only applies to the socket READ method. The READ method is correctly returning zero bytes, However, since there are no bytes available to be read, the WAIT-FOR will wait forever for a response.
FIX:
Use the PAUSE <n> option on the WAIT-FOR statement to limit the amount of time the procedure will wait for the READ-RESPONSE.