Date: Tue, 15 Sep 1998 15:30:57 +0200 (CEST) From: Mikael Karpberg <karpen@ocean.campus.luth.se> To: kheuer@gwdu60.gwdg.de (Konrad Heuer) Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: Catching SIGSEGV Message-ID: <199809151330.PAA00371@ocean.campus.luth.se> In-Reply-To: <Pine.BSF.3.96.980915114921.5972A-100000@gwdu60.gwdg.de> from Konrad Heuer at "Sep 15, 98 12:22:11 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
According to Konrad Heuer: > int nsegv = 0; > int *ptr; > int zero = 0; > > void sighdl ( int sig ) > { > ptr = &zero; > nsegv++; > } > > int dowork ( ) > { > int buf; > > signal(SIGSEGV, sighdl); > > ptr = InvalidAddress; > buf = *ptr; > } My guess is that you would want to declare things like this: volatile int nsegv = 0; volatile int *ptr; int zero = 0; Then the restarted "buf = *ptr;" line will not use a buffered value for ptr but read it from memory. I think. /Mikael To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199809151330.PAA00371>