summaryrefslogtreecommitdiffstats
path: root/pki/base/tps/src/include/httpClient/httpc/ThreadPool.h
diff options
context:
space:
mode:
Diffstat (limited to 'pki/base/tps/src/include/httpClient/httpc/ThreadPool.h')
-rw-r--r--pki/base/tps/src/include/httpClient/httpc/ThreadPool.h159
1 files changed, 0 insertions, 159 deletions
diff --git a/pki/base/tps/src/include/httpClient/httpc/ThreadPool.h b/pki/base/tps/src/include/httpClient/httpc/ThreadPool.h
deleted file mode 100644
index 389d42606..000000000
--- a/pki/base/tps/src/include/httpClient/httpc/ThreadPool.h
+++ /dev/null
@@ -1,159 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- */
-/** BEGIN COPYRIGHT BLOCK
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301 USA
- *
- * Copyright (C) 2007 Red Hat, Inc.
- * All rights reserved.
- * END COPYRIGHT BLOCK **/
-
-#ifndef __THREAD_POOL_H
-#define __THREAD_POOL_H
-
-#ifdef HAVE_CONFIG_H
-#ifndef AUTOTOOLS_CONFIG_H
-#define AUTOTOOLS_CONFIG_H
-
-/* Eliminate warnings when using Autotools */
-#undef PACKAGE_BUGREPORT
-#undef PACKAGE_NAME
-#undef PACKAGE_STRING
-#undef PACKAGE_TARNAME
-#undef PACKAGE_VERSION
-
-#include <config.h>
-#endif /* AUTOTOOLS_CONFIG_H */
-#endif /* HAVE_CONFIG_H */
-
-/**
- * ThreadPool.h 1.000 06/12/2002
- *
- * A worker thread pool.
- *
- * @author Surendra Rajam
- * @version 1.000, 06/12/2002
- */
-
-class EXPORT_DECL ThreadPool {
- friend class WorkerThread;
-public:
- /**
- * Constructor - creates the pool with default values
- *
- * @param name name of the threadpool
- */
- ThreadPool(const char* name);
-
- /**
- * Constructor
- *
- * @param name name of the threadpool
- * @param min minimum threads in the pool
- * @param max maximum threads that can be created
- * @param timeout timeout for each thread
- */
- ThreadPool(const char* name, int min, int max, int timeout);
-
- /**
- * Destructor
- */
- virtual ~ThreadPool();
-
-public:
-
- /**
- * Initializes the thread pool with minimum threads
- */
- void Init();
-
- /**
- * Shutdown the thread pool
- */
- void Shutdown();
-
- /**
- * Adds a task for future execution
- *
- * @param task a task to execute
- */
- void AddTask(ScheduledTask* task);
-
- /**
- * Executes the task immediately
- *
- * @param task a task to execute
- */
- void ExecuteTask(ScheduledTask* task);
-
- /**
- * Gets the number of active threads in the pool
- *
- * @return number of active threads
- */
- int GetThreads();
-
- /**
- * Gets the number of pending tasks in the list
- *
- * @return number of pending tasks
- */
- int GetPendingTasks();
-
- /**
- * Function to start a NSPR thread
- */
- static void StartWorkerThread(void* arg);
-
-private:
- /**
- * Initializes constructor params
- */
- void ConstructorInit(const char* name, int min, int max, int timeout);
-
- /**
- * Creates a new thread
- */
- void CreateNewThread();
-
- /**
- * Notify one of the threads waiting on a condition
- */
- void Notify();
-
-private:
- char* m_name;
- TaskList* m_taskList;
-
- int m_minThreads;
- int m_maxThreads;
- int m_timeout;
-
- int m_threads;
- int m_activeThreads;
-
- PRBool m_threadWait;
- PRLock* m_threadLock;
- PRCondVar* m_threadCondVar;
-
- PRBool m_newThreadInitialized;
- PRLock* m_newThreadLock;
- PRCondVar* m_newThreadCondVar;
-
- bool m_keepRunning;
-};
-
-#endif // __THREAD_POOL_H
-