Posted to tcl by venks at Tue Dec 16 17:01:56 GMT 2014view pretty
static int killCmd (dummy, interp, objc, objv) ClientData dummy; Tcl_Interp *interp; int objc; Tcl_Obj *CONST objv[]; { int pid; int signal; int r; if (objc != 3) { Tcl_WrongNumArgs(interp, 1, objv, "pid signal"); Tcl_SetObjResult(interp,Tcl_NewIntObj(1)); /* bad usage */ return TCL_OK; } if (Tcl_GetIntFromObj(interp,objv[1],&pid) != TCL_OK) { Tcl_SetObjResult(interp,Tcl_NewIntObj(2)); /* not an integer */ return TCL_OK; } if (Tcl_GetIntFromObj(interp,objv[1],&signal) != TCL_OK) { Tcl_SetObjResult(interp,Tcl_NewIntObj(3)); /* not a signal */ return TCL_OK; } if (kill(pid,signal) == 0) { Tcl_SetObjResult(interp,Tcl_NewIntObj(0)); } else { /* HUP=1,CONT=25 */ Tcl_SetObjResult(interp,Tcl_NewIntObj(errno)); } /* EINVAL=22,EPERM=1,ESRCH=3 */ return TCL_OK; }