Fortran programs can't send all kill signals +Fix
Gary Winiger
gww at beatnix.UUCP
Sun Mar 13 06:18:35 AEST 1988
Subject: Fortran programs can't send all kill signals +Fix
Index: libU77/kill_.c 4.3BSD +Fix
Description:
A fortran program calling kill(pid,signal) cannot send
signals greater than 15 even though there are 31 defined
signals.
Repeat-By:
By examination.
Fix:
The attached code solves this problem at Elxsi.
Gary..
{ucbvax!sun,lll-lcc!lll-tis,amdahl!altos86,bridge2}!elxsi!gww
--------- cut --------- snip --------- :.,$w diff -------------
*** /tmp/,RCSt1020143 Fri Oct 30 09:46:48 1987
--- kill_.c Fri Oct 30 09:46:35 1987
***************
*** 1,6 ****
! /* $Header: kill_.c,v 1.1 87/01/05 17:23:37 gww Exp $ ENIX BSD
*
* $Log: kill_.c,v $
* Revision 1.1 87/01/05 17:23:37 gww
* Initial revision
*
--- 1,9 ----
! /* $Header: kill_.c,v 1.2 87/10/30 09:46:09 gww Exp $ ENIX BSD
*
* $Log: kill_.c,v $
+ * Revision 1.2 87/10/30 09:46:09 gww
+ * Permit fortran programs to send all kill signals.
+ *
* Revision 1.1 87/01/05 17:23:37 gww
* Initial revision
*
***************
*** 24,35 ****
* ierror will be 0 if successful; an error code otherwise.
*/
#include "../libI77/f_errno.h"
long kill_(pid, signum)
long *pid, *signum;
{
! if (*pid < 0 || *pid > 32767L || *signum < 1 || *signum > 16)
return((long)(errno=F_ERARG));
if (kill((int)*pid, (int)*signum) != 0)
return((long)errno);
--- 27,39 ----
* ierror will be 0 if successful; an error code otherwise.
*/
+ #include <signal.h>
#include "../libI77/f_errno.h"
long kill_(pid, signum)
long *pid, *signum;
{
! if (*pid < 0 || *pid > 32767L || *signum < 1 || *signum >= NSIG)
return((long)(errno=F_ERARG));
if (kill((int)*pid, (int)*signum) != 0)
return((long)errno);
More information about the Comp.bugs.4bsd.ucb-fixes
mailing list