以下のようにして、、

int status;
/* 子プロのPIDを指定して、異常終了してるか判定 */
waitpid(kopuro_pid,&status,WOHANG);

/* 子プロセスの終了ステータスを見る */
if(WIFEXITED(status)){
     switch(WEXITSTATUS(status)){
     case -1:
   /* 異常終了処理その1 */
     case -2:
   /* 異常終了処理その2 */
}


親と子、同時に別々のプロセスで動きながら、子が、異常終了してる時だけ
監視して、異常状態(終了ステータス)によって、親も死ぬなど処理したいんですが
このプログラムが、子は -1 でしか終了しないプログラムにしているのに、
子の終了ステータスをうけとって、
     case -1:
の中に入ってきてくれないんです。。。
何がいけないんでしょうか・・・?