はじめに
Linux上で動作するサンプルプログラムを掲載しています。バグやおかしな動きをする場合は問い合わせまで連絡頂けるとうれしいです。
サンプルプログラムの使用・改良は自由ですが、自己責任でお願いします。掲載されているサンプルプログラムは以下の環境で動作確認をしています。(カーネル2.4以前ではスレッドの実装が異なる為、予期した動きをしない可能性があります。)

openSUSE 11Fedora 10
カーネル2.6.25.52.6.27.5
glibc2.8-14.12.9-2
gcc4.3-39.14.3.2
サンプルプログラム一覧
(シグナルとスレッド関連)
シグナルとタイマー1 setitimerを使った周期タイマー
シグナルとタイマー2 timer_createを使ったPOSIXタイマー
リアルタイムシグナル1 標準シグナルとリアルタイムシグナルについての検証1(標準シグナル)
リアルタイムシグナル2 標準シグナルとリアルタイムシグナルについての検証2(RTシグナル)
シグナルとスレッド シグナルを特定のスレッドに通知する
スレッドの排他制御 pthread_mutexを使用して排他制御の有無を動作検証する
デッドロック 二重ロックによるデッドロックと回避方法
スレッドの同期1 pthread_condによるスレッド間の通知と同期
スレッドの同期2 pthread_cond_broadcastによる複数スレッドの同期
スレッド間の非同期通信 シグナルを使用したスレッド間の通信(sigqueue,sigwaitinfoによる値渡し)
(ソケット関連)
UDPクライアントプログラム UDPでパケットを送信する簡単なサンプルプログラム
UDPサーバープログラム1 UDPでパケットを受信する簡単なサンプルプログラム
UDPサーバープログラム2 UDPパケット受信プログラムの拡張。selectによる複数ソケットの切り替え。
プロミスキャスモード プロミスキャスモードを使った簡単なパケットキャプチャプログラム
RAWソケット RAWソケットを使った簡単なパケットキャプチャプログラム
pingもどき RAWソケットでICMPの送受信を行うpingもどきプログラム
(その他)
zlibを使ったサンプル zlibを使って圧縮ファイルの読み書きを行う
cpuidを使ったサンプル cpuid命令を使ってCPUからCPU情報を取得する。

Linux,POSIX,BSD,UNIX,gcc,gdb,コマンド,プログラミング,サーバー,ネットワーク,ソースコード,デバッグ,パケットキャプチャ