aboutsummaryrefslogtreecommitdiffstats
path: root/include/nvgpu/thread.h
diff options
context:
space:
mode:
authorJoshua Bakita <bakitajoshua@gmail.com>2024-09-25 16:09:09 -0400
committerJoshua Bakita <bakitajoshua@gmail.com>2024-09-25 16:09:09 -0400
commitf347fde22f1297e4f022600d201780d5ead78114 (patch)
tree76be305d6187003a1e0486ff6e91efb1062ae118 /include/nvgpu/thread.h
parent8340d234d78a7d0f46c11a584de538148b78b7cb (diff)
Delete no-longer-needed nvgpu headersHEADmasterjbakita-wip
The dependency on these was removed in commit 8340d234.
Diffstat (limited to 'include/nvgpu/thread.h')
-rw-r--r--include/nvgpu/thread.h92
1 files changed, 0 insertions, 92 deletions
diff --git a/include/nvgpu/thread.h b/include/nvgpu/thread.h
deleted file mode 100644
index eac06ef..0000000
--- a/include/nvgpu/thread.h
+++ /dev/null
@@ -1,92 +0,0 @@
1/*
2 * Copyright (c) 2017-2018, NVIDIA CORPORATION. All rights reserved.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20 * DEALINGS IN THE SOFTWARE.
21 */
22
23#ifndef NVGPU_THREAD_H
24#define NVGPU_THREAD_H
25
26#ifdef __KERNEL__
27#include <nvgpu/linux/thread.h>
28#elif defined(__NVGPU_POSIX__)
29#include <nvgpu/posix/thread.h>
30#else
31#include <nvgpu_rmos/include/thread.h>
32#endif
33
34#include <nvgpu/types.h>
35
36/**
37 * nvgpu_thread_create - Create and run a new thread.
38 *
39 * @thread - thread structure to use
40 * @data - data to pass to threadfn
41 * @threadfn - Thread function
42 * @name - name of the thread
43 *
44 * Create a thread and run threadfn in it. The thread stays alive as long as
45 * threadfn is running. As soon as threadfn returns the thread is destroyed.
46 *
47 * threadfn needs to continuously poll nvgpu_thread_should_stop() to determine
48 * if it should exit.
49 */
50int nvgpu_thread_create(struct nvgpu_thread *thread,
51 void *data,
52 int (*threadfn)(void *data), const char *name);
53
54/**
55 * nvgpu_thread_stop - Destroy or request to destroy a thread
56 *
57 * @thread - thread to stop
58 *
59 * Request a thread to stop by setting nvgpu_thread_should_stop() to
60 * true and wait for thread to exit.
61 */
62void nvgpu_thread_stop(struct nvgpu_thread *thread);
63
64/**
65 * nvgpu_thread_should_stop - Query if thread should stop
66 *
67 * @thread
68 *
69 * Return true if thread should exit. Can be run only in the thread's own
70 * context and with the thread as parameter.
71 */
72bool nvgpu_thread_should_stop(struct nvgpu_thread *thread);
73
74/**
75 * nvgpu_thread_is_running - Query if thread is running
76 *
77 * @thread
78 *
79 * Return true if thread is started.
80 */
81bool nvgpu_thread_is_running(struct nvgpu_thread *thread);
82
83/**
84 * nvgpu_thread_join - join a thread to reclaim resources
85 * after it has exited
86 *
87 * @thread - thread to join
88 *
89 */
90void nvgpu_thread_join(struct nvgpu_thread *thread);
91
92#endif /* NVGPU_THREAD_H */