Clean up System V IPC objects allocated by test.
authorDon Breazeal <donb@codesourcery.com>
Wed, 4 Feb 2015 21:15:06 +0000 (13:15 -0800)
committerDon Breazeal <donb@codesourcery.com>
Wed, 4 Feb 2015 21:24:35 +0000 (13:24 -0800)
commitb9394193d08bef2193f805ded0af898e4c10a509
treedaf3134b6f87ed89547af9ae89ffef01499d3670
parent881d5d5db08ee6b343e1f1fc560d785fed29428e
Clean up System V IPC objects allocated by test.

This commit modifies the test program gdb.base/info-os.c so that
it cleans up all allocated System V IPC objects when a fatal
error occurs.  Without this, it was possible for the program
to leave IPC objects on the system, and such objects persist
until they are manually deleted or the system reboots.

I looked at changing the SysV IPC key for allocating the IPC objects to
IPC_PRIVATE.  That would prevent errors due to namespace conflicts with the
key.  However, the test needs to read the actual key number from the 'info
os' command output, and IPC_PRIVATE won't work for that.

gdb/testsuite/ChangeLog:
2015-02-04  Don Breazeal  <donb@codesourcery.com>

        * gdb.base/info-os.c (shmid, semid, msqid): Make variables static
        and initialize them.
        (ipc_cleanup): New function.
        (main): Don't declare shmid, semid, and msqid.  Add a call to
        atexit so that we call ipc_cleanup on exit.
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/info-os.c