1 // SPDX-License-Identifier: GPL-2.0-or-later
2 // Copyright (c) 2009 FUJITSU LIMITED
3 // Author: Li Zefan <[email protected]>
4
5 #include <sys/mman.h>
6 #include <err.h>
7 #include <signal.h>
8 #include <stdio.h>
9 #include <stdlib.h>
10 #include <string.h>
11 #include <unistd.h>
12 #include <unistd.h>
13
14 #define MEM_SIZE (1024 * 1024 * 100)
15
sigusr_handler(int signo)16 void sigusr_handler(int __attribute__ ((unused)) signo)
17 {
18 char *p;
19
20 p = mmap(NULL, MEM_SIZE, PROT_READ | PROT_WRITE,
21 MAP_PRIVATE | MAP_ANONYMOUS, 0, 0);
22 if (p == MAP_FAILED) {
23 err(1, "failed to allocate memory!");
24 }
25
26 memset(p, 'z', MEM_SIZE);
27 }
28
main(void)29 int main(void)
30 {
31 struct sigaction sigusr_action;
32
33 memset(&sigusr_action, 0, sizeof(sigusr_action));
34 sigusr_action.sa_handler = &sigusr_handler;
35 sigaction(SIGUSR1, &sigusr_action, NULL);
36
37 while (1)
38 sleep(1);
39
40 return 0;
41 }
42