From d0f299081ecdda98dc7a87b149b17b038a84b9fa Mon Sep 17 00:00:00 2001 From: mvs Date: Wed, 29 Dec 2021 00:04:35 +0000 Subject: [PATCH] Add unp_dispose() threads to 'unsopassgc' test. --- regress/sys/kern/unixsockets/unsopassgc.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/regress/sys/kern/unixsockets/unsopassgc.c b/regress/sys/kern/unixsockets/unsopassgc.c index 9f5d72f58e6..ecce985af77 100644 --- a/regress/sys/kern/unixsockets/unsopassgc.c +++ b/regress/sys/kern/unixsockets/unsopassgc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: unsopassgc.c,v 1.3 2021/12/15 22:29:55 mvs Exp $ */ +/* $OpenBSD: unsopassgc.c,v 1.4 2021/12/29 00:04:35 mvs Exp $ */ /* * Copyright (c) 2021 Vitaliy Makkoveev @@ -183,6 +183,20 @@ thr_recv(void *arg) return NULL; } +static void * +thr_dispose(void *arg) +{ + uint8_t buf[sizeof(union msg_control)]; + int *s = ((struct thr_pass_arg *)arg)->s; + + while (1) { + if (read(s[1], buf, sizeof(buf)) < 0) + therr(1, "read"); + } + + return NULL; +} + static void * thr_gc(void *arg) { @@ -280,6 +294,10 @@ main(int argc, char *argv[]) thr_recv, &thr_pass_args[i]); if (error) therrc(1, error, "pthread_create"); + error = pthread_create(&thr, NULL, + thr_dispose, &thr_pass_args[i]); + if (error) + therrc(1, error, "pthread_create"); } if ((error = pthread_create(&thr, NULL, thr_gc, thr_gc_arg))) -- 2.20.1