1
/*___INFO__MARK_BEGIN__*/
2
/*************************************************************************
4
* The Contents of this file are made available subject to the terms of
5
* the Sun Industry Standards Source License Version 1.2
7
* Sun Microsystems Inc., March, 2001
10
* Sun Industry Standards Source License Version 1.2
11
* =================================================
12
* The contents of this file are subject to the Sun Industry Standards
13
* Source License Version 1.2 (the "License"); You may not use this file
14
* except in compliance with the License. You may obtain a copy of the
15
* License at http://gridengine.sunsource.net/Gridengine_SISSL_license.html
17
* Software provided under this License is provided on an "AS IS" basis,
18
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
19
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
20
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
21
* See the License for the specific provisions governing your rights and
22
* obligations concerning the Software.
24
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
26
* Copyright: 2001 by Sun Microsystems, Inc.
28
* All Rights Reserved.
30
************************************************************************/
31
/*___INFO__MARK_END__*/
34
#include "cl_data_types.h"
35
#include "cl_thread.h"
37
#define THREAD_LIB_HANDLE cl_raw_list_t
38
#define THREAD_HANDLE cl_thread_settings_t
41
int thread_init_lib(THREAD_LIB_HANDLE **thread_lib_handle);
42
int thread_cleanup_lib(THREAD_LIB_HANDLE **thread_lib_handle);
44
int create_thread(THREAD_LIB_HANDLE *thread_lib_handle,
45
THREAD_HANDLE **thread,
46
cl_raw_list_t *log_list,
47
const char *thread_name,
49
void* thread_func(void*));
51
int register_thread(THREAD_LIB_HANDLE *thread_lib_handle,
52
THREAD_HANDLE *thread,
53
const char *thread_name);
55
int thread_func_startup(void *t_conf);
56
int thread_func_cleanup(void *t_conf);
58
int thread_shutdown(THREAD_HANDLE *thread);
60
int thread_trigger_event(THREAD_HANDLE *thread);
61
int thread_wait_for_event(THREAD_HANDLE *thread, int sec, int msec);
62
int thread_join(THREAD_HANDLE *thread);
64
int thread_setcancelstate(int enabled);
65
int thread_testcancel(void *t_conf);