Motr
M0
threads.h
Go to the documentation of this file.
1
/* -*- C -*- */
2
/*
3
* Copyright (c) 2014-2020 Seagate Technology LLC and/or its Affiliates
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
* For any questions about this software or licensing,
18
* please email opensource@seagate.com or cortx-questions@seagate.com.
19
*
20
*/
21
22
23
#pragma once
24
25
#ifndef __MOTR_UT_THREADS_H__
26
#define __MOTR_UT_THREADS_H__
27
28
#include "
lib/types.h
"
/* size_t */
29
38
struct
m0_thread
;
39
40
struct
m0_ut_threads_descr
{
41
void (*
utd_thread_func
)(
void
*
param
);
42
struct
m0_thread
*
utd_thread
;
43
int
utd_thread_nr
;
44
};
45
46
#define M0_UT_THREADS_DEFINE(name, thread_func) \
47
static struct m0_ut_threads_descr ut_threads_descr_##name = { \
48
.utd_thread_func = (void (*)(void *))thread_func, \
49
};
50
51
#define M0_UT_THREADS_START(name, thread_nr, param_array) \
52
m0_ut_threads_start(&ut_threads_descr_##name, thread_nr, \
53
param_array, sizeof(param_array[0]))
54
55
#define M0_UT_THREADS_STOP(name) \
56
m0_ut_threads_stop(&ut_threads_descr_##name)
57
58
M0_INTERNAL
void
m0_ut_threads_start
(
struct
m0_ut_threads_descr
*descr,
59
int
thread_nr,
60
void
*param_array,
61
size_t
param_size);
62
M0_INTERNAL
void
m0_ut_threads_stop
(
struct
m0_ut_threads_descr
*descr);
63
64
66
#endif
/* __MOTR_UT_THREADS_H__ */
67
68
/*
69
* Local variables:
70
* c-indentation-style: "K&R"
71
* c-basic-offset: 8
72
* tab-width: 8
73
* fill-column: 80
74
* scroll-step: 1
75
* End:
76
*/
77
/*
78
* vim: tabstop=8 shiftwidth=8 noexpandtab textwidth=80 nowrap
79
*/
types.h
m0_ut_threads_descr::utd_thread_nr
int utd_thread_nr
Definition:
threads.h:43
m0_ut_threads_descr
Definition:
threads.h:40
m0_ut_threads_stop
M0_INTERNAL void m0_ut_threads_stop(struct m0_ut_threads_descr *descr)
Definition:
threads.c:52
m0_thread
Definition:
thread.h:110
param
Definition:
m0hsm_api.c:97
m0_ut_threads_descr::utd_thread_func
void(* utd_thread_func)(void *param)
Definition:
threads.h:41
m0_ut_threads_start
M0_INTERNAL void m0_ut_threads_start(struct m0_ut_threads_descr *descr, int thread_nr, void *param_array, size_t param_size)
Definition:
threads.c:28
m0_ut_threads_descr::utd_thread
struct m0_thread * utd_thread
Definition:
threads.h:42
ut
threads.h
Generated on Thu Apr 14 2022 14:03:01 for Motr by
1.8.14