[PATCH] fud.c : timeout in do_proxy_request

Etienne Goyer etienne.goyer at linuxquebec.com
Thu Jun 5 11:28:35 EDT 2003


recvfrom() does not return when alarm() trigger.  I am testing it on 
Linux RedHat 7.3, glibc 2.2.5.  

I am experiencing this problem when querying the fud daemon on the
MUPDATE master of Murder and the backend on which the queryed mailbox
reside does not have fud running.  If you use fud-client to test it
yourself, it must be taken into account that it include its own timeout
code.  It is possible to use the FUD Perl module I posted earlier
instead as it does not include any timeout mechanism.

Can somebody else using another OS/libc combo test it on their rig to
confirm the bug is specific to my setup (or not) ?

Thanks for your feedback.

On Thu, Jun 05, 2003 at 11:04:04AM -0400, Rob Siemborski wrote:
> On Wed, 4 Jun 2003, Etienne Goyer wrote:
> 
> > The fud daemon can proxy request for mailbox that are remote (ie
> > Murder).  In 2.1.13, the fud daemon will just sit there if the remote
> > fud is not responding.  It is strange because the recvfrom() is
> > alarm()'ed; however, the SIGALRM handler do nothing else than clear the
> > signal.
> 
> It shouldn't need to, when the alarm goes off recvfrom should return with
> a value of -1 and errno = EINTR, and therefore fud should continue on as
> normal (the next line catches the error).
> 
> -Rob
> 
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> Rob Siemborski * Andrew Systems Group * Cyert Hall 207 * 412-268-7456
> Research Systems Programmer * /usr/contributed Gatekeeper

-- 
Etienne Goyer                    Linux Québec Technologies Inc.
http://www.LinuxQuebec.com       etienne.goyer at linuxquebec.com




More information about the Info-cyrus mailing list