Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

PgShmemCleanup()

Remove shared memory references

Synopsis:

void PgShmemCleanup();

Library:

ph

Description:

This function removes all shared memory references that you defined with PgShmemCreate() and PgShmemAttach(). If you created the block with PgShmemCreate(), the block is unlinked.

The Photon library uses atexit() to arrange for PgShmemCleanup() to be called when your program terminates normally. If your program terminates abnormally, it should call PgShmemCleanup() explicitly.

Examples:

This code fragment shows how you can use PgShmemCleanup() in a signal handler:

void ExitCleanup( int sig ) {    
    sig = sig;
    PgShmemCleanup();
    _exit( 1 );
}


main( ... ) {
…
    signal( SIGTERM, ExitCleanup );
    signal( SIGHUP, ExitCleanup );
    signal( SIGQUIT, ExitCleanup );
    signal( SIGINT, ExitCleanup );

    /* main loop */
…
}

Classification:

Photon

Safety:
Interrupt handler No
Signal handler No
Thread No

See also:

PgShmemAttach(), PgShmemCreate()

atexit() in the QNX Neutrino Library Reference