root/juggler/tags/1.0.5/Threads/vjThread.h

Revision 3437, 2.5 kB (checked in by patrickh, 8 years ago)

MFH: Implemented thread-specific data on Win32. This isn't being used

anywhere, so it hasn't been tested. The API is so simple, though,
that it's farily unlikely that this code is broken. (No M's in this
commit!)

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 /*************** <auto-copyright.pl BEGIN do not edit this line> **************
2  *
3  * VR Juggler is (C) Copyright 1998, 1999, 2000 by Iowa State University
4  *
5  * Original Authors:
6  *   Allen Bierbaum, Christopher Just,
7  *   Patrick Hartling, Kevin Meinert,
8  *   Carolina Cruz-Neira, Albert Baker
9  *
10  * This library is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Library General Public
12  * License as published by the Free Software Foundation; either
13  * version 2 of the License, or (at your option) any later version.
14  *
15  * This library is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18  * Library General Public License for more details.
19  *
20  * You should have received a copy of the GNU Library General Public
21  * License along with this library; if not, write to the
22  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
23  * Boston, MA 02111-1307, USA.
24  *
25  * -----------------------------------------------------------------
26  * File:          $RCSfile$
27  * Date modified: $Date$
28  * Version:       $Revision$
29  * -----------------------------------------------------------------
30  *
31  *************** <auto-copyright.pl END do not edit this line> ***************/
32
33
34 #ifndef _VJ_THREAD_H_
35 #define _VJ_THREAD_H_
36 //#pragma once
37
38 #include <vjConfig.h>
39 //#include <unistd.h>
40
41
42 // Typedefs to help with cross-platform abilities
43 typedef void (*vj_thread_func_t)(void *);
44
45 // For backwards compatability with older versions...
46 typedef vj_thread_func_t THREAD_FUNC;
47
48 #include <Threads/vjBaseThread.h>
49
50
51 #if defined(VJ_IRIX_SPROC)      /* ---- SGI IPC Barrier ------ */
52     typedef struct cancel_state cancel_state_t;
53
54 #   include <Threads/vjThreadSGI.h>
55 #   include <Threads/vjThreadKeySGI.h>
56
57     typedef class vjThreadSGI    vjThread;
58     typedef class vjThreadKeySGI vjKeyId;
59 #elif defined(VJ_OS_Win32)
60 #   include <windows.h>
61 #   include <process.h>
62 #   include <Threads/vjThreadWin32.h>
63 #   include <Threads/vjThreadKeyWin32.h>
64     typedef vjThreadWin32 vjThread;
65     typedef vjThreadKeyWin32 vjKeyId;
66 #elif defined(VJ_USE_PTHREADS)
67     typedef int cancel_state_t;
68
69 #ifndef _POSIX_C_SOURCE
70 #   define _POSIX_C_SOURCE VJ_POSIX_C_SOURCE
71 #endif
72
73 #   include <Threads/vjThreadPosix.h>
74 #   include <Threads/vjThreadKeyPosix.h>
75
76     typedef class vjThreadPosix    vjThread;
77     typedef class vjThreadKeyPosix vjKeyId;
78 #else
79 #   include <Threads/vjThreadFunctor.h>
80 #endif  /* VJ_IRIX_SPROC */
81
82
83 #endif  /* _VJ_THREAD_H_ */
Note: See TracBrowser for help on using the browser.