+
+ public override int GetHashCode ()
+ {
+ return(base.GetHashCode ());
+ }
+
+ public bool Equals (LockCookie obj)
+ {
+ if (this.ThreadId == obj.ThreadId &&
+ this.ReaderLocks == obj.ReaderLocks &&
+ this.WriterLocks == obj.WriterLocks) {
+ return(true);
+ } else {
+ return(false);
+ }
+ }
+
+ public override bool Equals (Object obj)
+ {
+ if (!(obj is LockCookie)) {
+ return(false);
+ }
+
+ return(obj.Equals (this));
+ }
+
+ public static bool operator == (LockCookie a, LockCookie b)
+ {
+ return a.Equals (b);
+ }
+
+ public static bool operator != (LockCookie a, LockCookie b)
+ {
+ return !a.Equals (b);
+ }