From owner-freebsd-ports@FreeBSD.ORG Sun Apr 17 20:29:20 2005 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7177816A4CE for ; Sun, 17 Apr 2005 20:29:20 +0000 (GMT) Received: from sccmmhc91.asp.att.net (sccmmhc91.asp.att.net [204.127.203.211]) by mx1.FreeBSD.org (Postfix) with ESMTP id C708C43D2F for ; Sun, 17 Apr 2005 20:29:19 +0000 (GMT) (envelope-from stephen@math.missouri.edu) Received: from [10.0.0.4] (12-216-244-56.client.mchsi.com[12.216.244.56]) by sccmmhc91.asp.att.net (sccmmhc91) with ESMTP id <20050417202919m9100pv1aue>; Sun, 17 Apr 2005 20:29:19 +0000 Message-ID: <4262C71E.6070304@math.missouri.edu> Date: Sun, 17 Apr 2005 15:29:18 -0500 From: Stephen Montgomery-Smith User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.7) Gecko/20050416 X-Accept-Language: en-us, en MIME-Version: 1.0 To: chuck@pkix.net Content-Type: multipart/mixed; boundary="------------080208020009070007040000" cc: freebsd-ports Subject: Floating point exceptions with bzflag X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Apr 2005 20:29:20 -0000 This is a multi-part message in MIME format. --------------080208020009070007040000 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Dear Chuck, I am really enjoying the games/bzflag port. But every so often it crashes with a floating point exception. My guess is that the other operating systems simply ignore them. The following (band aid) patch seems to fix the problem: --- src/bzflag/playing.cxx-orig Tue Mar 8 15:03:12 2005 +++ src/bzflag/playing.cxx Sun Apr 17 10:12:31 2005 @@ -5911,6 +5911,7 @@ // catch kill signals before changing video mode so we can // put it back even if we die. ignore a few signals. + bzSignal(SIGFPE, SIG_IGN); bzSignal(SIGILL, SIG_PF(dying)); bzSignal(SIGABRT, SIG_PF(dying)); bzSignal(SIGSEGV, SIG_PF(dying)); --------------080208020009070007040000 Content-Type: text/plain; name="patch-playing.cxx" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="patch-playing.cxx" --- src/bzflag/playing.cxx-orig Tue Mar 8 15:03:12 2005 +++ src/bzflag/playing.cxx Sun Apr 17 10:12:31 2005 @@ -5911,6 +5911,7 @@ // catch kill signals before changing video mode so we can // put it back even if we die. ignore a few signals. + bzSignal(SIGFPE, SIG_IGN); bzSignal(SIGILL, SIG_PF(dying)); bzSignal(SIGABRT, SIG_PF(dying)); bzSignal(SIGSEGV, SIG_PF(dying)); --------------080208020009070007040000--