From owner-freebsd-hackers Sun Oct 10 12:17: 8 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from bingnet2.cc.binghamton.edu (bingnet2.cc.binghamton.edu [128.226.1.18]) by hub.freebsd.org (Postfix) with ESMTP id B8B4A155C1 for ; Sun, 10 Oct 1999 12:16:49 -0700 (PDT) (envelope-from zzhang@cs.binghamton.edu) Received: from sol.cs.binghamton.edu (cs1-gw.cs.binghamton.edu [128.226.171.72]) by bingnet2.cc.binghamton.edu (8.9.3/8.9.3) with SMTP id PAA25924 for ; Sun, 10 Oct 1999 15:16:46 -0400 (EDT) Date: Sun, 10 Oct 1999 15:16:43 -0400 (EDT) From: Zhihui Zhang To: freebsd-hackers@freebsd.org Subject: How to prevent a system call from restart? Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I modify the day time client program from the Stevens' book and run it on both a Sun workstation and a FreeBSD machine. In the program, I use signal() and alarm() to set a 5 seconds timeout. The program works as expected on Sun (after I comment out the daytime line in the file /etc/inetd.conf) but not on the FreeBSD machine. Later I find out that the reason maybe the recvfrom() restarts *automatically* in FreeBSD. Why the default behaviour is different from SunOS? If I am correct about the reason, can anyone tell me how to prevent the recvfrom() from restart after receiving the SIGALRM signal? By the way, I also try the socket timeout option. It works immediately. Any help is appreciated. -Zhihui To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message