The isc_thread_setaffinity call was removed in !5265 and we are not going to restore it because it was proven that the performance is better without it. Additionally, remove the already disabled cpu system test. The isc_thread_setconcurrency function is unused and also calling pthread_setconcurrency() on Linux has no meaning, formerly it was added because of Solaris in 2001 and it was removed when taskmgr was refactored to run on top of netmgr in !4918.
54 lines
1.2 KiB
C
54 lines
1.2 KiB
C
/*
|
|
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
|
*
|
|
* SPDX-License-Identifier: MPL-2.0
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
|
*
|
|
* See the COPYRIGHT file distributed with this work for additional
|
|
* information regarding copyright ownership.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
/*! \file */
|
|
|
|
#include <pthread.h>
|
|
#if HAVE_THREADS_H
|
|
#include <threads.h>
|
|
#endif
|
|
|
|
#if defined(HAVE_PTHREAD_NP_H)
|
|
#include <pthread_np.h>
|
|
#endif /* if defined(HAVE_PTHREAD_NP_H) */
|
|
|
|
#include <isc/lang.h>
|
|
#include <isc/result.h>
|
|
|
|
extern thread_local size_t isc_tid_v;
|
|
|
|
ISC_LANG_BEGINDECLS
|
|
|
|
typedef pthread_t isc_thread_t;
|
|
typedef void *isc_threadresult_t;
|
|
typedef void *isc_threadarg_t;
|
|
typedef isc_threadresult_t (*isc_threadfunc_t)(isc_threadarg_t);
|
|
|
|
void
|
|
isc_thread_create(isc_threadfunc_t, isc_threadarg_t, isc_thread_t *);
|
|
|
|
void
|
|
isc_thread_join(isc_thread_t thread, isc_threadresult_t *result);
|
|
|
|
void
|
|
isc_thread_yield(void);
|
|
|
|
void
|
|
isc_thread_setname(isc_thread_t thread, const char *name);
|
|
|
|
#define isc_thread_self (uintptr_t) pthread_self
|
|
|
|
ISC_LANG_ENDDECLS
|