|
|
researchv9-SUN3(old)
#include "copyright.h"
/* $Header: /var/lib/cvsd/repos/research/researchv9/X11/src/X.V11R1/lib/X/XClDisplay.c,v 1.1.1.1 2018/04/24 17:22:00 root Exp $ */
/* Copyright Massachusetts Institute of Technology 1985 */
#include "Xlibint.h"
extern Display *_XHeadOfDisplayList;
/*
* XCloseDisplay - XSync the connection to the X Server, close the connection,
* and free all associated storage.
*/
XCloseDisplay (dpy)
register Display *dpy;
{
register _XExtension *ext;
register int i;
register Display **dp = &_XHeadOfDisplayList;
register Display *cp = _XHeadOfDisplayList;
for (i = 0; i < dpy->nscreens; i++) {
register Screen *sp = &dpy->screens[i];
XFreeGC (dpy, sp->default_gc);
}
XSync(dpy, 1); /* throw away pending input events */
ext = dpy->ext_procs;
while (ext) { /* call out to any extensions interested */
if (ext->close_display != NULL)
(*ext->close_display)(dpy, &ext->codes);
ext = ext->next;
}
LockDisplay(dpy);
_XDisconnectDisplay(dpy->fd);
while (cp != NULL) {
if (cp == dpy) {
*dp = cp->next;
_XFreeDisplayStructure (dpy);
return;
}
dp = &(cp->next);
cp = *dp;
}
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.