Annotation of 43BSD/contrib/X/Xlib/XCloseDisplay.c, revision 1.1

1.1     ! root        1: #include <X/mit-copyright.h>
        !             2: 
        !             3: /* $Header: XCloseDisplay.c,v 10.4 86/02/01 15:30:31 tony Rel $ */
        !             4: /* Copyright    Massachusetts Institute of Technology    1985  */
        !             5: 
        !             6: #include "XlibInternal.h"
        !             7: 
        !             8: /* 
        !             9:  * XCloseDisplay - XSync the connection to the X Server, close the connection,
        !            10:  * and free all associated storage.  Signals must be masked out during this
        !            11:  * operation to guarantee atomicity.
        !            12:  */
        !            13: XCloseDisplay (dpy)
        !            14:        register Display *dpy;
        !            15: {
        !            16:        register int sig_mask;
        !            17:        
        !            18:        /* 
        !            19:         * Mask out all signals so that the library internal state can
        !            20:         * be sync'ed with the rest of the world.  We don't want to be
        !            21:         * interupted while we are flushing and freeing buffers.
        !            22:         */
        !            23:        sig_mask = sigsetmask(-1);
        !            24:        XSync(TRUE);
        !            25:        if (close(dpy->fd) == -1) {
        !            26:                /* Argh! someone already closed the descriptor! */
        !            27:                _XIOError(_XlibCurrentDisplay);
        !            28:        }
        !            29:        sigsetmask(sig_mask);           /* Return signals to normal. */
        !            30:        if (dpy->displayname) free(dpy->displayname);
        !            31:        free(dpy->buffer);
        !            32:        free(dpy);
        !            33: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.