diff options
author | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2016-05-10 22:34:27 +0200 |
---|---|---|
committer | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2016-05-10 22:34:27 +0200 |
commit | 268ef2d8e904db5068dbdc0fdc7ce3940d6452ea (patch) | |
tree | b1afa687c97fbf5e1ba2c92c5a10479ae5f832f5 /src/Platform/Thread.h | |
parent | 6d61f06a5348aebe7dbc0bf44d3e2729c20f7fd0 (diff) | |
parent | 5f47d8b6f11cdb3c4c2f43e04e5acfc6ffcb3035 (diff) | |
download | VeraCrypt-268ef2d8e904db5068dbdc0fdc7ce3940d6452ea.tar.gz VeraCrypt-268ef2d8e904db5068dbdc0fdc7ce3940d6452ea.zip |
Merge pull request #61 from davidfoerster/normalize-line-terminators
Normalize line terminators
Diffstat (limited to 'src/Platform/Thread.h')
-rw-r--r-- | src/Platform/Thread.h | 138 |
1 files changed, 69 insertions, 69 deletions
diff --git a/src/Platform/Thread.h b/src/Platform/Thread.h index c9f462e1..6e8c394f 100644 --- a/src/Platform/Thread.h +++ b/src/Platform/Thread.h @@ -3,76 +3,76 @@ Copyright (c) 2008-2012 TrueCrypt Developers Association and which is governed by the TrueCrypt License 3.0. - Modifications and additions to the original source code (contained in this file) + Modifications and additions to the original source code (contained in this file) and all other portions of this file are Copyright (c) 2013-2016 IDRIX and are governed by the Apache License 2.0 the full text of which is contained in the file License.txt included in VeraCrypt binary and source code distribution packages. -*/
-
-#ifndef TC_HEADER_Platform_Thread
-#define TC_HEADER_Platform_Thread
-
-#ifdef TC_WINDOWS
-# include "System.h"
-# define TC_THREAD_PROC DWORD WINAPI
-#else
-# include <pthread.h>
-# define TC_THREAD_PROC void*
-#endif
-#include "PlatformBase.h"
-#include "Functor.h"
-#include "SharedPtr.h"
-#include "SyncEvent.h"
-
-namespace VeraCrypt
-{
- class Thread
- {
- public:
-#ifdef TC_WINDOWS
- typedef HANDLE ThreadSystemHandle;
- typedef LPTHREAD_START_ROUTINE ThreadProcPtr;
-#else
- typedef pthread_t ThreadSystemHandle;
- typedef void* (*ThreadProcPtr) (void *);
-#endif
- Thread () { };
- virtual ~Thread () { };
-
- void Join () const;
- void Start (ThreadProcPtr threadProc, void *parameter = nullptr);
-
- void Start (Functor *functor)
- {
- Start (Thread::FunctorEntry, (void *)functor);
- }
-
- static void Sleep (uint32 milliSeconds);
-
- protected:
- static TC_THREAD_PROC FunctorEntry (void *functorArg)
- {
- Functor *functor = (Functor *) functorArg;
- try
- {
- (*functor) ();
- }
- catch (...) { }
-
- delete functor;
- return 0;
- }
-
- static const size_t MinThreadStackSize = 1024 * 1024;
-
- ThreadSystemHandle SystemHandle;
-
- private:
- Thread (const Thread &);
- Thread &operator= (const Thread &);
- };
-
-}
-
-#endif // TC_HEADER_Platform_Thread
+*/ + +#ifndef TC_HEADER_Platform_Thread +#define TC_HEADER_Platform_Thread + +#ifdef TC_WINDOWS +# include "System.h" +# define TC_THREAD_PROC DWORD WINAPI +#else +# include <pthread.h> +# define TC_THREAD_PROC void* +#endif +#include "PlatformBase.h" +#include "Functor.h" +#include "SharedPtr.h" +#include "SyncEvent.h" + +namespace VeraCrypt +{ + class Thread + { + public: +#ifdef TC_WINDOWS + typedef HANDLE ThreadSystemHandle; + typedef LPTHREAD_START_ROUTINE ThreadProcPtr; +#else + typedef pthread_t ThreadSystemHandle; + typedef void* (*ThreadProcPtr) (void *); +#endif + Thread () { }; + virtual ~Thread () { }; + + void Join () const; + void Start (ThreadProcPtr threadProc, void *parameter = nullptr); + + void Start (Functor *functor) + { + Start (Thread::FunctorEntry, (void *)functor); + } + + static void Sleep (uint32 milliSeconds); + + protected: + static TC_THREAD_PROC FunctorEntry (void *functorArg) + { + Functor *functor = (Functor *) functorArg; + try + { + (*functor) (); + } + catch (...) { } + + delete functor; + return 0; + } + + static const size_t MinThreadStackSize = 1024 * 1024; + + ThreadSystemHandle SystemHandle; + + private: + Thread (const Thread &); + Thread &operator= (const Thread &); + }; + +} + +#endif // TC_HEADER_Platform_Thread |