From 13c9bd6a7563f96aec806ddc1e4f14c1147f41e9 Mon Sep 17 00:00:00 2001 From: Wolfgang Draxinger Date: Sun, 12 Feb 2023 01:21:27 +0100 Subject: Renamed x11atomstuffer to x11atomicbomb as per a suggestion by 'ace + rule 3 broken rimu {ARY}' on the Zig language Discord --- samples/X11/x11atomicbomb/Makefile | 3 ++ samples/X11/x11atomicbomb/x11atomicbomb.c | 72 ++++++++++++++++++++++++++++ samples/X11/x11atomstuffer/Makefile | 3 -- samples/X11/x11atomstuffer/x11atomstuffer.c | 73 ----------------------------- 4 files changed, 75 insertions(+), 76 deletions(-) create mode 100644 samples/X11/x11atomicbomb/Makefile create mode 100644 samples/X11/x11atomicbomb/x11atomicbomb.c delete mode 100644 samples/X11/x11atomstuffer/Makefile delete mode 100644 samples/X11/x11atomstuffer/x11atomstuffer.c (limited to 'samples') diff --git a/samples/X11/x11atomicbomb/Makefile b/samples/X11/x11atomicbomb/Makefile new file mode 100644 index 0000000..bece120 --- /dev/null +++ b/samples/X11/x11atomicbomb/Makefile @@ -0,0 +1,3 @@ +x11atomicbomb: x11atomicbomb.c + $(CC) -o x11atomicbomb x11atomicbomb.c -lX11 + diff --git a/samples/X11/x11atomicbomb/x11atomicbomb.c b/samples/X11/x11atomicbomb/x11atomicbomb.c new file mode 100644 index 0000000..2dadc1a --- /dev/null +++ b/samples/X11/x11atomicbomb/x11atomicbomb.c @@ -0,0 +1,72 @@ +/*------------------------------------------------------------------------ + * What happens if you bomb the X11 server with large and large amounts + * of atoms? When does it run out of memory? How is its performance + * impaired by this? This is a little program to experimenting with + * torturing the X11 server by overfeeding it with atoms. + * + * (c) 2013 datenwolf + * + * License agreement: This source code is provided "as is". You + * can use this source code however you want for your own personal + * use. If you give this source code to anybody else then you must + * leave this message in it. +------------------------------------------------------------------------*/ + +#include +#include +#include +#include + +#include +#include + +#include +#include + +static int Xscreen; +static Display *Xdisplay; + +char const doitkey[] = "wastemyX11server"; + +int main(int argc, char *argv[]) +{ + uint64_t i; + unsigned int r = getpid() ^ time(NULL); + + if( argc < 2 || strcmp(argv[1], doitkey) ) { + fprintf(stderr, +"***************** WARNING! *****************\n" +"\n" +"This program wastes serious resources of the\n" +"X11 server it is started on. Do not execute\n" +"this program on a production X11 session as\n" +"the allocated atoms can not be freed/reused\n" +"without resetting or quiting the X11 server.\n" +"\n" +"To actually perform this, do the following:\n" +"\n" +"%s %s\n" +"\n" +"***************** WARNING! *****************\n", + argv[0], doitkey); + return 0; + } + + Xdisplay = XOpenDisplay(NULL); + if (!Xdisplay) { + fprintf(stderr, "Couldn't connect to X server\n"); + return -1; + } + Xscreen = DefaultScreen(Xdisplay); + + for(i=0; i < 0xffffffff; i++) { + char atomstr[33]; + snprintf(atomstr,32, "_wasted_0x%08x_0x%08x", r, (unsigned int)i); + XInternAtom(Xdisplay, atomstr, False); + if( !(i % 0x00010000 ) ) { + fprintf(stderr, "%s\n", atomstr); + } + } + + return 0; +} diff --git a/samples/X11/x11atomstuffer/Makefile b/samples/X11/x11atomstuffer/Makefile deleted file mode 100644 index cf1c234..0000000 --- a/samples/X11/x11atomstuffer/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -x11atomstuffer: x11atomstuffer.c - $(CC) -o x11atomstuffer x11atomstuffer.c -lX11 - diff --git a/samples/X11/x11atomstuffer/x11atomstuffer.c b/samples/X11/x11atomstuffer/x11atomstuffer.c deleted file mode 100644 index dfa86de..0000000 --- a/samples/X11/x11atomstuffer/x11atomstuffer.c +++ /dev/null @@ -1,73 +0,0 @@ -/*------------------------------------------------------------------------ - * What happens if you stuff the X11 server with large and large amounts - * of atoms? When does it run out of memory? How is its performance - * impaired by this? This is a little program to experimenting with - * torturing the X11 server by overfeeding it with atoms. - * - * (c) 2013 datenwolf - * - * License agreement: This source code is provided "as is". You - * can use this source code however you want for your own personal - * use. If you give this source code to anybody else then you must - * leave this message in it. -------------------------------------------------------------------------*/ - -#include -#include -#include -#include - -#include -#include - -#include -#include - -static int Xscreen; -static Display *Xdisplay; - -char const doitkey[] = "wastemyX11server"; - -int main(int argc, char *argv[]) -{ - uint64_t i; - unsigned int r = getpid() ^ time(NULL); - - if( argc < 2 || strcmp(argv[1], doitkey) ) { - fprintf(stderr, -"***************** WARNING! *****************\n" -"\n" -"This program wastes serious resources of the\n" -"X11 server it is started on. Do not execute\n" -"this program on a production X11 session as\n" -"the allocated atoms can not be freed/reused\n" -"without resetting or quiting the X11 server.\n" -"\n" -"To actually perform this, do the following:\n" -"\n" -"%s %s\n" -"\n" -"***************** WARNING! *****************\n", - argv[0], doitkey); - return 0; - } - - Xdisplay = XOpenDisplay(NULL); - if (!Xdisplay) { - fprintf(stderr, "Couldn't connect to X server\n"); - return -1; - } - Xscreen = DefaultScreen(Xdisplay); - - for(i=0; i < 0xffffffff; i++) { - char atomstr[33]; - snprintf(atomstr,32, "_wasted_0x%08x_0x%08x", r, (unsigned int)i); - XInternAtom(Xdisplay, atomstr, False); - if( !(i % 0x00010000 ) ) { - fprintf(stderr, "%s\n", atomstr); - } - } - - return 0; -} - -- cgit v1.2.3