Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Thursday, June 13, 2019
 
 

sigsegv (3)

Name

sigsegv - Handling page faults in user mode

Synopsis

#include <sigsegv.h>

Description

SIGSEGV(3)                 Library Functions Manual                 SIGSEGV(3)



NAME
       sigsegv  -  Handling page faults in user mode


SYNOPSIS
       #include <sigsegv.h>


DESCRIPTION
       Sigsegv  is  a  set of functions for handling page faults in user mode.
       Multithreading is used to improve the performance of a  program.A  page
       fault  occurs when a program tries to access to a region of memory that
       is currently not available. Catching and handling a  page  fault  is  a
       useful technique for implementing:

           o      pageable virtual memory

           o      memory-mapped access to persistent databases

           o      generational garbage collectors

           o      stack overflow handlers

           o      distributed shared memory

           o
                   ...


       The  sigsegv  functions are summarized in this section in the following
       groups:


           o      Global SIGSEGV handlers

           o      Local SIGSEGV handlers (a handler per memory area)

           o      Stack overflow handlers


       The <sigsegv.h> header defines the following symbols:


           o      HAVE_SIGSEGV_RECOVERY

           o      HAVE_STACK_OVERFLOW_RECOVERY

           o      LIBSIGSEGV_VERSION


       The types listed below are defined as described in <sigsegv.h>:

           o      sigsegv_handler_t

           o      sigsegv_handler_t

           o      stackoverflow_context_t

           o      sigsegv_area_handler_t


GLOBAL SIGSEGV HANDLERS
       int sigsegv_install_handler (sigsegv_handler_t handler);

       void sigsegv_deinstall_handler (void);


LOCAL SIGSEGV HANDLERS
       void sigsegv_init (sigsegv_dispatcher* dispatcher);

       void* sigsegv_register (sigsegv_dispatcher* dispatcher,
                               void*    address,    unsigned     long     len,
                               sigsegv_area_handler_t   handler,   void*  han-
                               dler_arg);

       void sigsegv_unregister (sigsegv_dispatcher* dispatcher,
                                void* ticket);

       int sigsegv_dispatch (sigsegv_dispatcher* dispatcher,
                             void* fault_address);


STACK OVERFLOW HANDLERS
       int stackoverflow_install_handler (stackoverflow_handler_t
                                  handler, void*  extra_stack,  unsigned  long
                                  extra_stack_size);

       void stackoverflow_deinstall_handler (void);



ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+--------------------+
       |ATTRIBUTE TYPE |  ATTRIBUTE VALUE   |
       +---------------+--------------------+
       |Availability   | library/libsigsegv |
       +---------------+--------------------+
       |Stability      | Uncommitted        |
       +---------------+--------------------+
SEE ALSO
       attributes(7),   sigsegv(3),   standards(7),   sigsegv_install_handler,
       sigsegv_deinstall_handler(3),   sigsegv_init(3),   sigsegv_register(3),
       sigsegv_unregister(3),  sigsegv_dispatch(3), stackoverflow_install_han-
       dler(3), stackoverflow_deinstall_handler(3)



NOTES
       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source  was  downloaded  from   https://ftp.gnu.org/gnu/libsigsegv/lib-
       sigsegv-2.10.tar.gz

       Further information about this software can be found on the open source
       community website at https://www.gnu.org/software/libsigsegv.



Solaris 11.4                      13 Jan 2009                       SIGSEGV(3)