From 134f86e8d5c414409631b25b8c6f0ee45fbd8631 Mon Sep 17 00:00:00 2001
From: David Walter Seikel
Date: Thu, 3 Nov 2016 21:44:39 +1000
Subject: Initial update to OpenSim 0.8.2.1 source code.
---
.../SmartThreadPool/SmartThreadPool.ThreadEntry.cs | 60 ++++++++++++++++++++++
1 file changed, 60 insertions(+)
create mode 100644 ThirdParty/SmartThreadPool/SmartThreadPool.ThreadEntry.cs
(limited to 'ThirdParty/SmartThreadPool/SmartThreadPool.ThreadEntry.cs')
diff --git a/ThirdParty/SmartThreadPool/SmartThreadPool.ThreadEntry.cs b/ThirdParty/SmartThreadPool/SmartThreadPool.ThreadEntry.cs
new file mode 100644
index 0000000..d9502bb
--- /dev/null
+++ b/ThirdParty/SmartThreadPool/SmartThreadPool.ThreadEntry.cs
@@ -0,0 +1,60 @@
+
+using System;
+using Amib.Threading.Internal;
+
+namespace Amib.Threading
+{
+ public partial class SmartThreadPool
+ {
+ #region ThreadEntry class
+
+ internal class ThreadEntry
+ {
+ ///
+ /// The thread creation time
+ /// The value is stored as UTC value.
+ ///
+ private readonly DateTime _creationTime;
+
+ ///
+ /// The last time this thread has been running
+ /// It is updated by IAmAlive() method
+ /// The value is stored as UTC value.
+ ///
+ private DateTime _lastAliveTime;
+
+ ///
+ /// A reference from each thread in the thread pool to its SmartThreadPool
+ /// object container.
+ /// With this variable a thread can know whatever it belongs to a
+ /// SmartThreadPool.
+ ///
+ private readonly SmartThreadPool _associatedSmartThreadPool;
+
+ ///
+ /// A reference to the current work item a thread from the thread pool
+ /// is executing.
+ ///
+ public WorkItem CurrentWorkItem { get; set; }
+
+ public ThreadEntry(SmartThreadPool stp)
+ {
+ _associatedSmartThreadPool = stp;
+ _creationTime = DateTime.UtcNow;
+ _lastAliveTime = DateTime.MinValue;
+ }
+
+ public SmartThreadPool AssociatedSmartThreadPool
+ {
+ get { return _associatedSmartThreadPool; }
+ }
+
+ public void IAmAlive()
+ {
+ _lastAliveTime = DateTime.UtcNow;
+ }
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
--
cgit v1.1