× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



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 thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.