Update to 2.0.0 tree from current Fremantle build
[opencv] / otherlibs / _graphics / include / OpenEXR / IlmThread.h
diff --git a/otherlibs/_graphics/include/OpenEXR/IlmThread.h b/otherlibs/_graphics/include/OpenEXR/IlmThread.h
deleted file mode 100644 (file)
index 5129a8e..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-///////////////////////////////////////////////////////////////////////////
-//
-// Copyright (c) 2005, Industrial Light & Magic, a division of Lucas
-// Digital Ltd. LLC
-// 
-// All rights reserved.
-// 
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-// *       Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// *       Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// *       Neither the name of Industrial Light & Magic nor the names of
-// its contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission. 
-// 
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-///////////////////////////////////////////////////////////////////////////
-
-#ifndef INCLUDED_ILM_THREAD_H
-#define INCLUDED_ILM_THREAD_H
-
-//-----------------------------------------------------------------------------
-//
-//     class Thread
-//
-//     Class Thread is a portable interface to a system-dependent thread
-//     primitive.  In order to make a thread actually do something useful,
-//     you must derive a subclass from class Thread and implement the
-//     run() function.  If the operating system supports threading then
-//     the run() function will be executed int a new thread.
-//
-//     The actual creation of the thread is done by the start() routine
-//     which then calls the run() function.  In general the start()
-//     routine should be called from the constructor of the derived class.
-//
-//     The base-class thread destructor will join/destroy the thread.
-//
-//     IMPORTANT: Due to the mechanisms that encapsulate the low-level
-//     threading primitives in a C++ class there is a race condition
-//     with code resembling the following:
-//
-//         {
-//             WorkerThread myThread;
-//         } // myThread goes out of scope, is destroyed
-//           // and the thread is joined
-//
-//     The race is between the parent thread joining the child thread
-//     in the destructor of myThread, and the run() function in the
-//     child thread.  If the destructor gets executed first then run()
-//     will be called with an invalid "this" pointer.
-//
-//     This issue can be fixed by using a Semaphore to keep track of
-//     whether the run() function has already been called.  You can
-//     include a Semaphore member variable within your derived class
-//     which you post() on in the run() function, and wait() on in the
-//     destructor before the thread is joined.  Alternatively you could
-//     do something like this:
-//
-//         Semaphore runStarted;
-//
-//         void WorkerThread::run ()
-//         {
-//             runStarted.post()
-//             // do some work
-//             ...
-//         }
-//
-//         {
-//             WorkerThread myThread;
-//             runStarted.wait ();    // ensure that we have started
-//                                    // the run function
-//         } // myThread goes out of scope, is destroyed
-//           // and the thread is joined
-//
-//-----------------------------------------------------------------------------
-
-#include "OpenEXRConfig.h"
-
-#if defined _WIN32 || defined _WIN64
-    #ifdef NOMINMAX
-        #undef NOMINMAX
-    #endif
-    #define NOMINMAX
-    #include <windows.h>
-    #include <process.h>
-#elif HAVE_PTHREAD
-    #include <pthread.h>
-#endif
-
-namespace IlmThread {
-
-//
-// Query function to determine if the current platform supports
-// threads AND this library was compiled with threading enabled.
-//
-
-bool supportsThreads ();
-
-
-class Thread
-{
-  public:
-
-    Thread ();
-    virtual ~Thread ();
-
-    void               start ();
-    virtual void       run () = 0;
-    
-  private:
-
-    #if defined _WIN32 || defined _WIN64
-       HANDLE _thread;
-    #elif HAVE_PTHREAD
-       pthread_t _thread;
-    #endif
-
-    void operator = (const Thread& t); // not implemented
-    Thread (const Thread& t);          // not implemented
-};
-
-
-} // namespace IlmThread
-
-#endif