|
I think () is optional. -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Rich Duzenbury Sent: Tuesday, January 17, 2006 11:49 AM To: RPG programming on the AS400 / iSeries Subject: Re: alarm() not working as expected On Tue, 2006-01-17 at 10:29 -0600, Lim Hock-Chai wrote: > 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) I thought the compiler would complain if you didn't use parens on function calls. Is this code checking a field called errno, or is it running the function errno()? Perhaps try it as if errno() = EINTR ? Also, on the second time through, perhaps you could tell us the value of recvlen? Was it 0? Regards, Rich -- This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l.
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.