How does D handle null pointers?

Sean Kelly sean at invisibleduck.org
Mon Aug 23 08:34:32 PDT 2010


"Steven Schveighoffer" <schveiguy at yahoo.com> wrote:
> On Fri, 20 Aug 2010 22:07:03 -0400, Adam B <cruxic at gmail.com> wrote:
> 
>>> Walter has refused to put in null checks on the theory that the OS
> > > does  >> it for
>>> you - hence the segfault. Of course, then the only way to get a  >>
> > > stacktrace is to
>>> either have a segfault handler which prints one or to look at a core
> > >  >> dump
>>> (assuming that you get one). Neither is a very pleasant solution.
>> 
>> I see.  I guess I can sympathize with Walter's perspective somewhat -
>> it does feel redundant for both the application AND the OS to be
>> checking pointers.  Perhaps then it is the OS that's holding us back.
>> If only we could trap a segfault signal and have the OS tell us which
>> thread caused it and provide some mechanism to resume the thread with
>> an exception...  Hopefully some Linux kernel developers are reading
>> this ;)
> 
> Once you get a seg fault, your code is not guaranteed to be correct.  
> Memory that contained code or data could have been corrupted.  Even
> your  stack may be corrupt.
> 
> I think D should handle it by making a best effort to print out a
> trace  and exit.

Ok I can do this.


More information about the Digitalmars-d mailing list