|
Oh, and here's my declaration of the errno() function: D errno PR * ExtProc('__errno') Note there are no parameters. -Bob Cozzi www.RPGxTools.com RPG xTools - Enjoy programming again. -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Lim Hock-Chai Sent: Tuesday, January 17, 2006 10:29 AM To: RPG programming on the AS400 / iSeries Subject: alarm() not working as expected I'm using alarm to control timeout on recv() and having the following problem: 1) When timeout occur (errno = EINTR), the program will continue to get the timeout error without at least waiting for timeout to occur again (which is set to 10 secs). Below is a code snap shot. C ...loop start here C eval recvData = *blank * set time out to 10 sec C callp alarm(10) C eval recvlen = recv(hostSock :%addr(recvData) C :%size(recvData)-10 C :0) * disable timeout C callp alarm(0) * if time out occured, return back to the main procedure to try to * send the @GO command. C if (errno = EINTR) C return *off C endif C .... C ....end of loop Any help would be appreciated.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.