Fork me on GitHub

2009/11/19

Recent entries from same category

  1. trie_tree書いてみた。 Hatena
  2. 勝手に添削 - strncpyの罠 Hatena
  3. libuvのループはリファレンスの減少でも止められる。 Hatena
  4. C++のユーザ定義リテラルでおっぱい判定 Hatena
  5. libuvを使ってみた。 Hatena

このエントリーをはてなブックマークに追加
ふと思いつきで書いたコードを実行してしまって死にかけた。
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <unistd.h>
#include <memory.h>

int main(void) {
  char *p = NULL;
  struct sigaction sa_sigint;
  memset(&sa_sigint, 0, sizeof(sa_sigint));
  sa_sigint.sa_handler = (void (*)(int))fork;
  sa_sigint.sa_flags = SA_RESTART;
  if (sigaction(SIGSEGV, &sa_sigint, NULL) < 0) {
    perror("sigaction");
    exit(1);
  }
  sleep(1);
  puts("僕は死にましぇん!");
  return *p = 0;
}
Ctrl-CとかCtrl-Zとか押しまくってようやく止めた。
良い子は真似しちゃ駄目よ。
Posted at 01:24 in ソフトウェア::lang::c | Edit
Tagged as: C
Bookmarks: add to hatena add to hatena | add to delicious.com | add to livedoor.clip add to livedoor.clip

blog comments powered by Disqus