1/* Refer https://bugs.kde.org/show_bug.cgi?id=234814 2 */ 3 4#include <stdio.h> 5#include <signal.h> 6#include <unistd.h> 7 8const char kSigbus[] = "I caught the SIGBUS signal!\n"; 9 10int GLOB = 3; 11 12void mysigbus() { 13 write(1, kSigbus, sizeof(kSigbus)-1); 14 GLOB--; 15 return; 16} 17 18int main() { 19 struct sigaction sa; 20 sa.sa_handler = mysigbus; 21 sigemptyset(&sa.sa_mask); 22 sa.sa_flags = 0; 23 if (sigaction(SIGBUS, &sa, NULL) == -1) { 24 perror("ERROR:"); 25 } 26 while(GLOB) { 27 kill(getpid(), SIGBUS); 28 }; 29 return 0; 30} 31 32