Annotation of truecrypt/platform/unix/thread.cpp, revision 1.1.1.1

1.1       root        1: /*
                      2:  Copyright (c) 2008 TrueCrypt Foundation. All rights reserved.
                      3: 
                      4:  Governed by the TrueCrypt License 2.4 the full text of which is contained
                      5:  in the file License.txt included in TrueCrypt binary and source code
                      6:  distribution packages.
                      7: */
                      8: 
                      9: #include <pthread.h>
                     10: #include <unistd.h>
                     11: #include "Platform/SystemException.h"
                     12: #include "Platform/Thread.h"
                     13: #include "Platform/SystemLog.h"
                     14: 
                     15: namespace TrueCrypt
                     16: {
                     17:        void Thread::Start (ThreadProcPtr threadProc, void *parameter)
                     18:        {
                     19:                pthread_t thread;
                     20:                pthread_attr_t attr;
                     21:                size_t stackSize = 0;
                     22:                int status;
                     23: 
                     24:                status = pthread_attr_init (&attr);
                     25:                if (status != 0)
                     26:                        throw SystemException (SRC_POS, status);
                     27: 
                     28:                status = pthread_attr_getstacksize (&attr, &stackSize);
                     29:                if (status != 0)
                     30:                        throw SystemException (SRC_POS, status);
                     31: 
                     32:                if (stackSize < MinThreadStackSize)
                     33:                {
                     34:                        status = pthread_attr_setstacksize (&attr, MinThreadStackSize);
                     35:                        if (status != 0)
                     36:                                throw SystemException (SRC_POS, status);
                     37:                }
                     38: 
                     39:                status = pthread_create (&thread, nullptr, threadProc, parameter);
                     40:                if (status != 0)
                     41:                        throw SystemException (SRC_POS, status);
                     42:        }
                     43: 
                     44:        void Thread::Sleep (uint32 milliSeconds)
                     45:        {
                     46:                ::usleep (milliSeconds * 1000);
                     47:        }
                     48: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.