Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge FreeBSD 2024-08-09 #2248

Merged
merged 164 commits into from
Nov 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
164 commits
Select commit Hold shift + click to select a range
101a0f0
sctp: improve input validation for data chunks
tuexen Aug 3, 2024
8da89a1
libsys: Add MLINKs for recvmmsg.2 and sendmmsg.2
bsdjhb Aug 3, 2024
102b4e3
imgact_elf: Rewrap function declaration
bsdjhb Aug 3, 2024
2b4aa28
bsd-family-tree: add FreeBSD 14.1
osokin Aug 3, 2024
6502c60
Move fetch of DEBUG_SH from kenv to rc
sgerraty Aug 3, 2024
5c44e69
tcpsso: add example to man page
tuexen Aug 3, 2024
2edac5a
tcpsso: improve man page
tuexen Aug 3, 2024
503b7f9
tree.3: the example code fixed
Aug 3, 2024
52eacec
tcp: fix t_flags2 collision
tuexen Aug 3, 2024
fd53594
tcp: retire sysctl variable functions_inherit_listen_socket_stack
tuexen Aug 3, 2024
d6fb9f8
tcp: inherit CC algorithm from listener
tuexen Aug 3, 2024
d471b4f
usr.sbin/gstat: add microsecond precision for disk latency
mizhka Aug 4, 2024
82246ac
Fix enum warnings in ath_hal's ar9300
DimitryAndric Jul 31, 2024
fa29085
vm: Assert that pagesizes[] is sorted
alcriceedu Aug 3, 2024
acb4cb3
vm_pageout: simplify pageout_cluster
Aug 4, 2024
1f3bfc6
bhyve: avoid a potential deadlock
khorben Aug 5, 2024
093d9b4
ddb: update printing of t_flags and tflags2
tuexen Aug 5, 2024
6e744de
mixer.3: Fix mixer_get_mode() description
christosmarg Aug 5, 2024
fef0e39
cxgbe/t4_tom: bugfixes in stop/restart.
np-2020 Jul 25, 2024
8bb6b41
vm/vm_pageout.c: eliminate write-only variable
kostikbel Aug 5, 2024
31cc657
man9: Document M_NEVERFREED and VM_ALLOC_NOFREE
bnovkov Jul 31, 2024
06134ea
malloc(9): Check for M_NEVERFREED
bnovkov Jul 31, 2024
1f628be
tcp_ratelimit: provide an api for drivers to release ratesets at detach
Aug 5, 2024
6cb8b61
calendar: don't setlogin(2) in the -a user handlers
kevans91 Aug 5, 2024
792226e
qlnxe: Allow MAC address override
tidalscale-keithr Aug 5, 2024
9bc3004
Merge commit cb7a03b41fff from llvm git (by Nikolas Klauser):
bsdjhb Aug 5, 2024
3a4b04e
depend-cleanup.sh: Simplify handling for stale syscall.S
bsdjhb Aug 5, 2024
1d9b60b
SEE ALSO lagg(4)
Aug 5, 2024
c3d8a93
Re-implement rangelocks part 1
kostikbel Aug 7, 2023
6c32d89
kern_rangelock.c: add rl_e_is_rlock()
kostikbel Aug 18, 2023
5badbee
Re-implement rangelocks part 2
kostikbel Aug 18, 2023
c315800
Microoptimize rangelock_unlock_int()
kostikbel Oct 4, 2023
ff1ae3b
rangelocks: restore caching of the single rl entry in the struct thread
kostikbel Aug 23, 2023
9ef425e
rangelocks: add fast cheating mode
kostikbel Aug 24, 2023
d8a16b6
kern_rangelock.c: add Foundation copyright, remove sys/cdefs.h include
kostikbel Aug 30, 2023
b5c95c9
sys/mman.h: consistently use `#define<tab>`
brooksdavis Aug 6, 2024
e4d064e
sys/sys/mman.h: ignore b5c95c93fdd4 in blame
brooksdavis Aug 6, 2024
2739a68
sshd: remove blacklist call from grace_alarm_timer
emaste Aug 1, 2024
3d3bae9
sshd: bump VersionAddendum for 2739a6845031
emaste Aug 6, 2024
7ee781e
loader: Document that WITH_BEARSSL may need other tweaks
bsdimp Aug 5, 2024
20d35d5
loader: Add WITH/WITHOUT_LOADER_PXEBOOT build option
bsdimp Aug 5, 2024
f4762e9
pxeboot: Allow a different default loader for pxeboot
bsdimp Aug 5, 2024
e1a6d93
pxeboot: Enforce a 500k limit here
bsdimp Aug 5, 2024
ddcd3b6
tsc: Fix comment.
bsdimp Aug 6, 2024
bf4f27e
options: Make it clearer some x86 / BIOS only things
bsdimp Aug 6, 2024
9ed58aa
src.conf.5: Regen after ddcd3b606c9d
bsdimp Aug 6, 2024
e413e15
swap_pager_freespace: fix freed count
Aug 7, 2024
10ac6c4
msun/ld80/e_powl.c: add const qualifiers to the static immutable values
kostikbel Aug 6, 2024
0c00dbf
msun/ld80/e_powl.c: make powl() thread-safe by making static variable…
kostikbel Aug 6, 2024
166b757
ktrace: Fix an inverted privilege check
markjdb Aug 7, 2024
2c2916a
mailer.conf for sendmail: remove duplicate word.
Aug 7, 2024
969876f
ctld: parse config file independently of getting kernel info
asomers Jun 10, 2024
3852a5a
ktrace tests: Add a test case for handling of exec+setuid binaries
markjdb Aug 7, 2024
5132e16
libc tests: Rename the quick_exit test file, fix style
markjdb Jul 29, 2024
c0946ae
libc tests: Add some test cases for recursive exiting
markjdb Aug 7, 2024
b3bc746
tcp: minor cleanup
tuexen Aug 7, 2024
c349e88
rack, bbr: cleanup ack throttling
tuexen Aug 7, 2024
a9e4753
bhyve: Optionally put vCPUs back in the debug state after resuming
markjdb Aug 7, 2024
c89d94a
LinuxKPI: update linuxkpi_video to Linux 6.6
wulf7 Aug 7, 2024
57cc80e
rangelocks: re-check that the lock is still in the cheating mode afte…
kostikbel Aug 7, 2024
a1295b2
linuxkpi: use canonical tests for is_{zero,broadcast}_ether_addr
emaste Aug 8, 2024
ad0d39e
tcpsso: remove support for TCP_BBR_POLICER_DETECT
tuexen Aug 8, 2024
d8ff42e
pipe: keep uio_iovcnt consistent
emaste Jul 17, 2024
971c9f5
pci: Narrow the scope of recently-added PCI_IOV #ifdefs
bsdjhb Aug 8, 2024
06758ab
Use expand_number(3) for less confusing argument processing
bsdphk Aug 8, 2024
104ee24
pci: Renove #ifdef PCI_IOV from declarations now used unconditionally
jrtc27 Aug 8, 2024
f325f81
bhyve: remove empty E820 entries
ckoehne Jun 4, 2024
872164f
Non-tested experimental code removal.
Aug 9, 2024
9b56935
tcp: initialize V_ts_offset_secret for all vnets
tuexen Aug 9, 2024
6ee6c7b
acl_copyin: avoid returning uninitialized memory
khorben Jul 25, 2024
6c7ec63
shutdown: add a -q(uiet) flag to suppress warning messages
kevans91 Aug 9, 2024
d349bd3
shutdown: fix option sorting
kevans91 Aug 9, 2024
45d4e82
msdosfs: fix cluster limit when mounting FAT-16 file systems
stesser Aug 9, 2024
16a235f
dhclient: Switch timeouts from time_t to timespec
ica574 Jul 8, 2024
76e0ffd
dhclient: Timeouts for entering state_selecting
ica574 Jul 8, 2024
f0a3897
dhclient: Use clock_gettime() instead of time()
ica574 Jul 8, 2024
b51569a
dhclient: Make arp_timeout configurable
ica574 Jul 8, 2024
84fce4b
dhclient: Update dhclient man page for n flag
ica574 Jul 13, 2024
503adcd
dhclient: rc.conf option to disable ARP resolution
ica574 Jul 13, 2024
e4482bf
dhclient: Update rc.conf.5 with dhclient_arpwait
ica574 Aug 8, 2024
54a543d
EC2: Set dhclient_arpwait="NO"
cperciva Aug 9, 2024
83526e5
sctp: improve input validation for data chunks
tuexen Aug 3, 2024
9294757
libsys: Add MLINKs for recvmmsg.2 and sendmmsg.2
bsdjhb Aug 3, 2024
13014b6
Skipping merge of 102b4e33acef74da5b1e5aee43a324fd395342c8
bsdjhb Nov 14, 2024
e6c1cc5
bsd-family-tree: add FreeBSD 14.1
osokin Aug 3, 2024
1b32002
Move fetch of DEBUG_SH from kenv to rc
sgerraty Aug 3, 2024
c3fc2e6
tcpsso: add example to man page
tuexen Aug 3, 2024
e16055f
tcpsso: improve man page
tuexen Aug 3, 2024
dab79a3
tree.3: the example code fixed
Aug 3, 2024
8ea6c22
tcp: fix t_flags2 collision
tuexen Aug 3, 2024
eca9e22
tcp: retire sysctl variable functions_inherit_listen_socket_stack
tuexen Aug 3, 2024
6fc9b52
tcp: inherit CC algorithm from listener
tuexen Aug 3, 2024
742b6cf
usr.sbin/gstat: add microsecond precision for disk latency
mizhka Aug 4, 2024
7df16ac
Fix enum warnings in ath_hal's ar9300
DimitryAndric Jul 31, 2024
44e8601
vm: Assert that pagesizes[] is sorted
alcriceedu Aug 3, 2024
73a9e53
vm_pageout: simplify pageout_cluster
Aug 4, 2024
bc0f5dc
bhyve: avoid a potential deadlock
khorben Aug 5, 2024
148eb4f
mixer.3: Fix mixer_get_mode() description
christosmarg Aug 5, 2024
16721d5
cxgbe/t4_tom: bugfixes in stop/restart.
np-2020 Jul 25, 2024
927b0c3
vm/vm_pageout.c: eliminate write-only variable
kostikbel Aug 5, 2024
61aa971
man9: Document M_NEVERFREED and VM_ALLOC_NOFREE
bnovkov Jul 31, 2024
0e73b09
malloc(9): Check for M_NEVERFREED
bnovkov Jul 31, 2024
1548d28
tcp_ratelimit: provide an api for drivers to release ratesets at detach
Aug 5, 2024
e4b1f3e
calendar: don't setlogin(2) in the -a user handlers
kevans91 Aug 5, 2024
dc030fa
qlnxe: Allow MAC address override
tidalscale-keithr Aug 5, 2024
7826f42
Merge commit cb7a03b41fff from llvm git (by Nikolas Klauser):
bsdjhb Aug 5, 2024
9572698
depend-cleanup.sh: Simplify handling for stale syscall.S
bsdjhb Aug 5, 2024
cb772c3
SEE ALSO lagg(4)
Aug 5, 2024
92be40a
Re-implement rangelocks part 1
kostikbel Aug 7, 2023
803ac64
atomic(9): Implement atomic_testand(clear|set)_ptr
bsdjhb Nov 14, 2024
1aad280
rangelock: Use atomic_testandset_ptr
bsdjhb Nov 14, 2024
35ef075
kern_rangelock.c: add rl_e_is_rlock()
kostikbel Aug 18, 2023
c0bf545
Re-implement rangelocks part 2
kostikbel Aug 18, 2023
c6156d2
Microoptimize rangelock_unlock_int()
kostikbel Oct 4, 2023
5799741
rangelocks: restore caching of the single rl entry in the struct thread
kostikbel Aug 23, 2023
a1cdef3
rangelocks: add fast cheating mode
kostikbel Aug 24, 2023
5880059
kern_rangelock.c: add Foundation copyright, remove sys/cdefs.h include
kostikbel Aug 30, 2023
555f12d
sys/mman.h: consistently use `#define<tab>`
brooksdavis Aug 6, 2024
095f5a2
sys/sys/mman.h: ignore b5c95c93fdd4 in blame
brooksdavis Aug 6, 2024
2672059
sshd: remove blacklist call from grace_alarm_timer
emaste Aug 1, 2024
09aeb34
sshd: bump VersionAddendum for 2739a6845031
emaste Aug 6, 2024
04f7a15
ddb: update printing of t_flags and tflags2
tuexen Aug 5, 2024
055ec94
loader: Document that WITH_BEARSSL may need other tweaks
bsdimp Aug 5, 2024
7b4dc45
loader: Add WITH/WITHOUT_LOADER_PXEBOOT build option
bsdimp Aug 5, 2024
94e9828
pxeboot: Allow a different default loader for pxeboot
bsdimp Aug 5, 2024
8152fa3
pxeboot: Enforce a 500k limit here
bsdimp Aug 5, 2024
7ed4082
tsc: Fix comment.
bsdimp Aug 6, 2024
d363aa0
options: Make it clearer some x86 / BIOS only things
bsdimp Aug 6, 2024
0f7ec31
src.conf.5: Regen after ddcd3b606c9d
bsdimp Aug 6, 2024
5a1f2fd
swap_pager_freespace: fix freed count
Aug 7, 2024
27ec37b
msun/ld80/e_powl.c: add const qualifiers to the static immutable values
kostikbel Aug 6, 2024
6241878
msun/ld80/e_powl.c: make powl() thread-safe by making static variable…
kostikbel Aug 6, 2024
ff39230
ktrace: Fix an inverted privilege check
markjdb Aug 7, 2024
994351c
mailer.conf for sendmail: remove duplicate word.
Aug 7, 2024
add0892
ctld: parse config file independently of getting kernel info
asomers Jun 10, 2024
9e334d3
ktrace tests: Add a test case for handling of exec+setuid binaries
markjdb Aug 7, 2024
57d303a
libc tests: Rename the quick_exit test file, fix style
markjdb Jul 29, 2024
1e89a8d
libc tests: Add some test cases for recursive exiting
markjdb Aug 7, 2024
dc11a19
tcp: minor cleanup
tuexen Aug 7, 2024
176e3d9
rack, bbr: cleanup ack throttling
tuexen Aug 7, 2024
7ed75d2
bhyve: Optionally put vCPUs back in the debug state after resuming
markjdb Aug 7, 2024
43e9d63
LinuxKPI: update linuxkpi_video to Linux 6.6
wulf7 Aug 7, 2024
d2b35aa
rangelocks: re-check that the lock is still in the cheating mode afte…
kostikbel Aug 7, 2024
9b1520b
linuxkpi: use canonical tests for is_{zero,broadcast}_ether_addr
emaste Aug 8, 2024
4146cf9
tcpsso: remove support for TCP_BBR_POLICER_DETECT
tuexen Aug 8, 2024
b76cc9f
pipe: keep uio_iovcnt consistent
emaste Jul 17, 2024
2796912
pci: Narrow the scope of recently-added PCI_IOV #ifdefs
bsdjhb Aug 8, 2024
40c84da
Use expand_number(3) for less confusing argument processing
bsdphk Aug 8, 2024
532ecb7
pci: Renove #ifdef PCI_IOV from declarations now used unconditionally
jrtc27 Aug 8, 2024
7f613d3
bhyve: remove empty E820 entries
ckoehne Jun 4, 2024
0ac768c
Non-tested experimental code removal.
Aug 9, 2024
c0f372c
tcp: initialize V_ts_offset_secret for all vnets
tuexen Aug 9, 2024
61dd472
acl_copyin: avoid returning uninitialized memory
khorben Jul 25, 2024
5930087
shutdown: add a -q(uiet) flag to suppress warning messages
kevans91 Aug 9, 2024
c1041e4
shutdown: fix option sorting
kevans91 Aug 9, 2024
b49e284
msdosfs: fix cluster limit when mounting FAT-16 file systems
stesser Aug 9, 2024
0407765
dhclient: Switch timeouts from time_t to timespec
ica574 Jul 8, 2024
8bba4ac
dhclient: Timeouts for entering state_selecting
ica574 Jul 8, 2024
18f1b61
dhclient: Use clock_gettime() instead of time()
ica574 Jul 8, 2024
0b2ef28
dhclient: Make arp_timeout configurable
ica574 Jul 8, 2024
b5f7052
dhclient: Update dhclient man page for n flag
ica574 Jul 13, 2024
4b64f1a
dhclient: rc.conf option to disable ARP resolution
ica574 Jul 13, 2024
cf9c8d7
dhclient: Update rc.conf.5 with dhclient_arpwait
ica574 Aug 8, 2024
59a0db1
EC2: Set dhclient_arpwait="NO"
cperciva Aug 9, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
#
# This file is sorted in git log order (newest commits first).

# whitespace fixes in sys/mman.h
b5c95c93fdd47c0764219b8bf293ce54369caf27
# sort OptionalObsoleteFiles.inc blocks
c90d0600ee000e7874a55e3015953bd670574093
2b3bf27da41f1481b2025445c6adf27f0d50de99
Expand Down
3 changes: 3 additions & 0 deletions ObsoleteFiles.inc
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,9 @@
# xargs -n1 | sort | uniq -d;
# done

# 20240729: rename quick_exit_test to libc_exit_test
OLD_FILES+=usr/tests/lib/libc/stdlib/quick_exit_test

# 20240729: retire ifaddr_byindex
OLD_FILES+=usr/share/man/man9/ifaddr_byindex.9.gz

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@
}
return true;
} else {
return __builtin_memcmp(__lhs, __rhs, __count * sizeof(_Tp)) == 0;
return ::__builtin_memcmp(__lhs, __rhs, __count * sizeof(_Tp)) == 0;

Check failure on line 111 in contrib/llvm-project/libcxx/include/__string/constexpr_c_functions.h

View workflow job for this annotation

GitHub Actions / Style Checker

parentheses required on return
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,13 @@ struct remove_pointer {
using type _LIBCPP_NODEBUG = __remove_pointer(_Tp);
};

# ifdef _LIBCPP_COMPILER_GCC
template <class _Tp>
using __remove_pointer_t = typename remove_pointer<_Tp>::type;
# else
template <class _Tp>
using __remove_pointer_t = __remove_pointer(_Tp);
# endif
#else
// clang-format off
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer {typedef _LIBCPP_NODEBUG _Tp type;};
Expand Down
3 changes: 3 additions & 0 deletions contrib/llvm-project/libcxx/include/bitset
Original file line number Diff line number Diff line change
Expand Up @@ -376,8 +376,11 @@ template <size_t _N_words, size_t _Size>
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 unsigned long long
__bitset<_N_words, _Size>::to_ullong(true_type, true_type) const {
unsigned long long __r = __first_[0];
_LIBCPP_DIAGNOSTIC_PUSH
_LIBCPP_GCC_DIAGNOSTIC_IGNORED("-Wshift-count-overflow")
for (size_t __i = 1; __i < sizeof(unsigned long long) / sizeof(__storage_type); ++__i)
__r |= static_cast<unsigned long long>(__first_[__i]) << (sizeof(__storage_type) * CHAR_BIT);
_LIBCPP_DIAGNOSTIC_POP
return __r;
}

Expand Down
2 changes: 1 addition & 1 deletion etc/mail/mailer.conf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# Execute the "real" sendmail program, named /usr/libexec/sendmail/sendmail
#
# If dma(8) is installed, an example mailer.conf that uses dma(8) instead can
# If dma(8) is installed, an example mailer.conf that uses dma(8) instead
# can be found in /usr/share/examples/dma.
#
sendmail /usr/libexec/sendmail/sendmail
Expand Down
3 changes: 2 additions & 1 deletion lib/libc/tests/stdlib/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
ATF_TESTS_C+= clearenv_test
ATF_TESTS_C+= dynthr_test
ATF_TESTS_C+= heapsort_test
ATF_TESTS_C+= libc_exit_test
ATF_TESTS_C+= mergesort_test
ATF_TESTS_C+= timsort_test
ATF_TESTS_C+= qsort_test
Expand All @@ -15,7 +16,6 @@ ATF_TESTS_C+= qsort_b_test
ATF_TESTS_C+= qsort_r_compat_test
ATF_TESTS_C+= qsort_r_test
ATF_TESTS_C+= qsort_s_test
ATF_TESTS_C+= quick_exit_test
ATF_TESTS_C+= set_constraint_handler_s_test
ATF_TESTS_C+= strfmon_test
ATF_TESTS_C+= tsearch_test
Expand Down Expand Up @@ -79,6 +79,7 @@ LDFLAGS.$t+= -L${LIBNETBSD_OBJDIR}
LIBADD.${t}+= netbsd util
.endfor

LIBADD.libc_exit_test+= pthread
LIBADD.strtod_test+= m

SUBDIR+= dynthr_mod
Expand Down
154 changes: 154 additions & 0 deletions lib/libc/tests/stdlib/libc_exit_test.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
/*-
* Copyright (c) 2023 Klara, Inc.
*
* SPDX-License-Identifier: BSD-2-Clause
*/

#include <sys/wait.h>

#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

#include <atf-c.h>

static void
func_a(void)
{
if (write(STDOUT_FILENO, "a", 1) != 1)
_Exit(1);
}

static void
func_b(void)
{
if (write(STDOUT_FILENO, "b", 1) != 1)
_Exit(1);
}

static void
func_c(void)
{
if (write(STDOUT_FILENO, "c", 1) != 1)
_Exit(1);
}

static void
child(void)
{
/* this will be received by the parent */
printf("hello, ");
fflush(stdout);
/* this won't, because quick_exit() does not flush */
printf("world");
/* these will be called in reverse order, producing "abc" */
if (at_quick_exit(func_c) != 0 ||
at_quick_exit(func_b) != 0 ||
at_quick_exit(func_a) != 0)
_Exit(1);
quick_exit(0);
}

ATF_TC_WITHOUT_HEAD(quick_exit);
ATF_TC_BODY(quick_exit, tc)
{
char buf[100] = "";
ssize_t len;
int p[2], wstatus = 0;
pid_t pid;

ATF_REQUIRE(pipe(p) == 0);
pid = fork();
if (pid == 0) {
if (dup2(p[1], STDOUT_FILENO) < 0)
_Exit(1);
(void)close(p[1]);
(void)close(p[0]);
child();
_Exit(1);
}
ATF_REQUIRE_MSG(pid > 0,
"expect fork() to succeed");
ATF_CHECK_EQ_MSG(pid, waitpid(pid, &wstatus, 0),
"expect to collect child process");
ATF_CHECK_EQ_MSG(0, wstatus,
"expect child to exit cleanly");
ATF_CHECK_MSG((len = read(p[0], buf, sizeof(buf))) > 0,
"expect to receive output from child");
ATF_CHECK_STREQ("hello, abc", buf);
}

static void
myatexit1(void)
{
exit(12);
}

ATF_TC_WITHOUT_HEAD(recursive_exit1);
ATF_TC_BODY(recursive_exit1, tc)
{
pid_t pid;
int wstatus;

pid = fork();
if (pid == 0) {
atexit(myatexit1);
exit(1);
}
ATF_REQUIRE_MSG(pid > 0,
"expect fork() to succeed");
ATF_CHECK_EQ_MSG(pid, waitpid(pid, &wstatus, 0),
"expect to collect child process");
ATF_CHECK(WIFEXITED(wstatus));
ATF_CHECK_EQ(WEXITSTATUS(wstatus), 12);
}

static pthread_barrier_t barrier;

static void
myatexit2(void)
{
pthread_barrier_wait(&barrier);
exit(12);
}

static void *
mythreadexit(void *arg)
{
pthread_barrier_wait(&barrier);
exit(15);
}

ATF_TC_WITHOUT_HEAD(recursive_exit2);
ATF_TC_BODY(recursive_exit2, tc)
{
pid_t pid;
int wstatus;

pid = fork();
if (pid == 0) {
pthread_t thr;

atexit(myatexit2);

pthread_barrier_init(&barrier, NULL, 2);
pthread_create(&thr, NULL, mythreadexit, NULL);

exit(1);
}
ATF_REQUIRE_MSG(pid > 0,
"expect fork() to succeed");
ATF_CHECK_EQ_MSG(pid, waitpid(pid, &wstatus, 0),
"expect to collect child process");
ATF_CHECK(WIFEXITED(wstatus));
ATF_CHECK_EQ(WEXITSTATUS(wstatus), 12);
}

ATF_TP_ADD_TCS(tp)
{
ATF_TP_ADD_TC(tp, quick_exit);
ATF_TP_ADD_TC(tp, recursive_exit1);
ATF_TP_ADD_TC(tp, recursive_exit2);
return (atf_no_error());
}
81 changes: 0 additions & 81 deletions lib/libc/tests/stdlib/quick_exit_test.c

This file was deleted.

23 changes: 10 additions & 13 deletions lib/libmixer/mixer.3
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
.\" OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
.\" THE SOFTWARE.
.\"
.Dd May 22, 2024
.Dd August 4, 2024
.Dt MIXER 3
.Os
.Sh NAME
Expand Down Expand Up @@ -388,18 +388,15 @@ controls.
.Pp
The
.Fn mixer_get_mode
function returns the playback/recording mode of the audio device the mixer \
belongs to.
The available values are the following:
.Bl -tag -width "MIX_STATUS_PLAY | MIX_STATUS_REC" -offset indent
.It Dv MIX_STATUS_NONE
Neither playback nor recording.
.It Dv MIX_STATUS_PLAY
Playback.
.It Dv MIX_STATUS_REC
Recording.
.It Dv MIX_STATUS_PLAY | MIX_STATUS_REC
Playback and recording.
function returns the operating mode of the audio device the mixer belongs to.
The following values can be OR'ed in case more than one mode is supported:
.Bl -tag -width "MIX_MODE_MIXER" -offset indent
.It Dv MIX_MODE_MIXER
The audio device has a mixer.
.It Dv MIX_MODE_PLAY
The audio device supports playback.
.It Dv MIX_MODE_REC
The audio device supports recording.
.El
.Pp
The
Expand Down
4 changes: 3 additions & 1 deletion lib/libsys/Makefile.sys
Original file line number Diff line number Diff line change
Expand Up @@ -525,6 +525,7 @@ MLINKS+=read.2 pread.2 \
read.2 readv.2
MLINKS+=readlink.2 readlinkat.2
MLINKS+=recv.2 recvfrom.2 \
recv.2 recvmmsg.2 \
recv.2 recvmsg.2
MLINKS+=rename.2 renameat.2
MLINKS+=rtprio.2 rtprio_thread.2
Expand All @@ -537,7 +538,8 @@ MLINKS+=select.2 FD_CLR.3 \
select.2 FD_ISSET.3 \
select.2 FD_SET.3 \
select.2 FD_ZERO.3
MLINKS+=send.2 sendmsg.2 \
MLINKS+=send.2 sendmmsg.2 \
send.2 sendmsg.2 \
send.2 sendto.2
MLINKS+=setpgid.2 setpgrp.2
MLINKS+=setresuid.2 getresgid.2 \
Expand Down
Loading
Loading