Report a bug
		
				If you spot a problem with this page, click here to create a Bugzilla issue.
		
			Improve this page
		
			Quickly fork, edit online, and submit a pull request for this page.
			Requires a signed-in GitHub account. This works well for small changes.
			If you'd like to make larger changes you may want to consider using
			a local clone.
		
	etc.linux.memoryerror
Handle page protection errors using D errors (exceptions) or asserts.
License: 
Distributed under the
      Boost Software License 1.0.
    (See accompanying file LICENSE_1_0.txt)
Authors: 
Amaury SECHET, FeepingCreature, Vladimir Panteleev
Source etc/linux/memoryerror.d
- nothrow @system boolregisterMemoryErrorHandler();
- Register memory error handler, store the old handler.NullPointerError is thrown when dereferencing null pointers. A generic InvalidPointerError error is thrown in other cases.Returns:whether the registration was successfulLimitations Only x86 and x86_64 are supported for now. 
- nothrow @system boolderegisterMemoryErrorHandler();
- Revert the memory error handler back to the one from before calling registerMemoryErrorHandler().Returns:whether the registration of the old handler was successful
- classInvalidPointerError: object.Error;
- Thrown on POSIX systems when a SIGSEGV signal is received.
- classNullPointerError: etc.linux.memoryerror.InvalidPointerError;
- Thrown on null pointer dereferences.
- boolregisterMemoryAssertHandler()();
- Registers a signal handler for SIGSEGV that turns them into an assertion failure, providing a more descriptive error message and stack trace if the program is compiled with debug info and D assertions (as opposed to C assertions).Differences with the registerMemoryErrorHandler version are:- The handler is registered with SA_ONSTACK, so it can handle stack overflows.
- It uses assert(0) instead of throw new Error and doesn't support catching the error.
- This is a template so that the -check and -checkaction flags of the compiled program are used, instead of the ones used for compiling druntime.
 Returns:whether the registration was successful
- @system boolderegisterMemoryAssertHandler();
- Revert the memory error handler back to the one from before calling registerMemoryAssertHandler().Returns:whether the registration of the old handler was successful
Copyright © 1999-2025 by the D Language Foundation | Page generated by
Ddoc on Mon Mar 31 10:28:07 2025