aboutsummaryrefslogtreecommitdiff
path: root/unix/os/zintpr.c
blob: 3e47bca7ddaddb7dcf4ecd954e24e071c59d10af (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.
 */

#include <stdio.h>
#include <signal.h>
#define	import_kernel
#define	import_knames
#define import_spp
#include <iraf.h>

/* ZINTPR -- Interrupt a connected subprocess, i.e., raise the exception X_INT
 * in the subprocess.  On the UNIX system subprocesses ignore the UNIX SIGINT
 * exception, hence we send SIGTERM instead and the exception handling code
 * maps both to X_INT.
 */
int
ZINTPR (
  XINT	*pid,
  XINT	*exception,		/* not used at present */
  XINT	*status 
)
{
	if (kill (*pid, SIGTERM) == ERR)
	    *status = XERR;
	else
	    *status = XOK;

	return (*status);
}