Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/openlaunchd
Path: blob/master/launchd/kill2.c
374 views
1
/*
2
* Copyright (c) 2007 Apple Inc. All rights reserved.
3
*
4
* @APPLE_APACHE_LICENSE_HEADER_START@
5
*
6
* Licensed under the Apache License, Version 2.0 (the "License");
7
* you may not use this file except in compliance with the License.
8
* You may obtain a copy of the License at
9
*
10
* http://www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing, software
13
* distributed under the License is distributed on an "AS IS" BASIS,
14
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
* See the License for the specific language governing permissions and
16
* limitations under the License.
17
*
18
* @APPLE_APACHE_LICENSE_HEADER_END@
19
*/
20
21
#include <sys/syscall.h>
22
#include <unistd.h>
23
#include <signal.h>
24
25
#include "kill2.h"
26
27
int
28
kill2(pid_t pid, int sig)
29
{
30
/*
31
* POSIX defines consistency over correctness, and consequently
32
* kill/killpg now returns EPERM instead of ESRCH.
33
*
34
* I've filed 5487498 to get a non-portable kill().
35
* We'll regretfully take advantage of implementation details for now.
36
*/
37
return syscall(SYS_kill, pid, sig, 0);
38
}
39
40
int
41
killpg2(pid_t pgrp, int sig)
42
{
43
return kill2(-pgrp, sig);
44
}
45
46