示例#1
0
文件: kill.c 项目: puppeh/ocaml-sh4
CAMLprim value unix_kill(value pid, value signal)
{
  int sig;
  sig = convert_signal_number(Int_val(signal));
  if (kill(Int_val(pid), sig) == -1)
    uerror("kill", Nothing);
  return Val_unit;
}
value ocaml_cont (value ocaml_pid, value ocaml_signal) {
  CAMLparam2 (ocaml_pid, ocaml_signal); 
  
  caddr_t addr ;
  int sig ;
  int rc ;
  
  addr = (caddr_t) 0; 

  sig = Int_val (ocaml_signal); 
  
  rc = ptrace (PT_CONTINUE, Int_val (ocaml_pid), addr, convert_signal_number (sig)); 

  if (rc) {
      printf ("errno: %d\n", errno); 
      caml_failwith ("libptrace cont returned non zero code") ;
    }; 

  CAMLreturn (Val_unit) ; 
}