#include <arpbase.h>
#include <arp_proto.h>
#include "Launch.h"
#include "LaunchPriv.h"

/*
 *	NAME
 *		KillProcess -- try to kill a process via a signal.
 *
 *	SYNOPSIS
 *		KillProcess (Proc)
 *
 *		void KillProcess (struct Process *);
 *
 *	DESCRIPTION
 *		Send a KILL_PROCESS_FLAG signal to the process.
 *
 *	INPUT
 *		Proc - the process to be killed.
 *
 *	OUTPUT
 *		None.
 *
 *	NOTE
 *		You DON'T need to be the parent to call this.
 *
 *		This function does not wait to see if the process really dies,
 *		you MUST call WaitProcesses() before quitting !!!
 *
 *	HISTORY
 *		1992/09/06	Pierre Baillargeon		Creation
 *
 *	SEE ALSO
 *		StartProcess(), WaitProcesses(), WaitProcess()
 */

void KillProcess (struct Process *Proc)
{
	Forbid ();
	if (IsChild (Proc))
	{
		Signal (Proc, KILL_PROCESS_FLAG);
	}
	Permit ();
}
