You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2009/02/07 16:31:49 UTC
svn commit: r741902 - in
/activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/Util: Atomic.cs
AtomicBoolean.cs AtomicReference.cs
Author: tabish
Date: Sat Feb 7 15:31:48 2009
New Revision: 741902
URL: http://svn.apache.org/viewvc?rev=741902&view=rev
Log:
https://issues.apache.org/activemq/browse/AMQNET-141
Modified:
activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/Util/Atomic.cs
activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/Util/AtomicBoolean.cs
activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/Util/AtomicReference.cs
Modified: activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/Util/Atomic.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/Util/Atomic.cs?rev=741902&r1=741901&r2=741902&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/Util/Atomic.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/Util/Atomic.cs Sat Feb 7 15:31:48 2009
@@ -1,65 +1,65 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Text;
-
-namespace Apache.NMS.Util
-{
-#if NET_2_0
- public class Atomic<T> where T : IComparable
- {
- private T atomicValue;
-
- public T Value
- {
- get
- {
- lock(this)
- {
- return atomicValue;
- }
- }
- set
- {
- lock(this)
- {
- atomicValue = value;
- }
- }
- }
-
- public Atomic(T defaultValue)
- {
- atomicValue = defaultValue;
- }
-
- public bool CompareAndSet(T expected, T newValue)
- {
- lock(this)
- {
- if(0 == atomicValue.CompareTo(expected))
- {
- atomicValue = newValue;
- return true;
- }
-
- return false;
- }
- }
- }
-#endif
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+using System;
+using System.Text;
+
+namespace Apache.NMS.Util
+{
+#if !NET_1_0 && !NET_1_1
+ public class Atomic<T> where T : IComparable
+ {
+ private T atomicValue;
+
+ public T Value
+ {
+ get
+ {
+ lock(this)
+ {
+ return atomicValue;
+ }
+ }
+ set
+ {
+ lock(this)
+ {
+ atomicValue = value;
+ }
+ }
+ }
+
+ public Atomic(T defaultValue)
+ {
+ atomicValue = defaultValue;
+ }
+
+ public bool CompareAndSet(T expected, T newValue)
+ {
+ lock(this)
+ {
+ if(0 == atomicValue.CompareTo(expected))
+ {
+ atomicValue = newValue;
+ return true;
+ }
+
+ return false;
+ }
+ }
+ }
+#endif
+}
Modified: activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/Util/AtomicBoolean.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/Util/AtomicBoolean.cs?rev=741902&r1=741901&r2=741902&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/Util/AtomicBoolean.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/Util/AtomicBoolean.cs Sat Feb 7 15:31:48 2009
@@ -1,76 +1,77 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Text;
-
-namespace Apache.NMS.Util
-{
-#if NET_2_0
-
- public class AtomicBoolean : Atomic<bool>
- {
- public AtomicBoolean(bool defaultValue)
- : base(defaultValue)
- {
- }
- }
-
-#else
-
- public class AtomicBoolean
- {
- private bool atomicValue;
-
- public bool Value
- {
- get
- {
- lock(this)
- {
- return atomicValue;
- }
- }
- set
- {
- lock(this)
- {
- atomicValue = value;
- }
- }
- }
-
- public AtomicBoolean(bool defaultValue)
- {
- atomicValue = defaultValue;
- }
-
- public bool CompareAndSet(bool expected, bool newValue)
- {
- lock(this)
- {
- if(atomicValue == expected)
- {
- atomicValue = newValue;
- return true;
- }
-
- return false;
- }
- }
- }
-#endif
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+using System;
+using System.Text;
+
+namespace Apache.NMS.Util
+{
+#if NET_1_0 || NET_1_1
+
+ public class AtomicBoolean
+ {
+ private bool atomicValue;
+
+ public bool Value
+ {
+ get
+ {
+ lock(this)
+ {
+ return atomicValue;
+ }
+ }
+ set
+ {
+ lock(this)
+ {
+ atomicValue = value;
+ }
+ }
+ }
+
+ public AtomicBoolean(bool defaultValue)
+ {
+ atomicValue = defaultValue;
+ }
+
+ public bool CompareAndSet(bool expected, bool newValue)
+ {
+ lock(this)
+ {
+ if(atomicValue == expected)
+ {
+ atomicValue = newValue;
+ return true;
+ }
+
+ return false;
+ }
+ }
+ }
+
+#else
+
+ public class AtomicBoolean : Atomic<bool>
+ {
+ public AtomicBoolean(bool defaultValue)
+ : base(defaultValue)
+ {
+ }
+ }
+
+#endif
+}
Modified: activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/Util/AtomicReference.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/Util/AtomicReference.cs?rev=741902&r1=741901&r2=741902&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/Util/AtomicReference.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/Util/AtomicReference.cs Sat Feb 7 15:31:48 2009
@@ -1,65 +1,65 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using System;
-using System.Text;
-
-namespace Apache.NMS.Util
-{
-#if !NET_1_1
- public class AtomicReference<T>
- {
- private T atomicValue;
-
- public T Value
- {
- get
- {
- lock(this)
- {
- return atomicValue;
- }
- }
- set
- {
- lock(this)
- {
- atomicValue = value;
- }
- }
- }
-
- public AtomicReference()
- {
- }
-
- public AtomicReference(T defaultValue)
- {
- atomicValue = defaultValue;
- }
-
- public T GetAndSet(T value)
- {
- lock(this)
- {
- T ret = atomicValue;
- atomicValue = value;
- return ret;
- }
- }
- }
-#endif
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+using System;
+using System.Text;
+
+namespace Apache.NMS.Util
+{
+#if !NET_1_1 && !NET_1_0
+ public class AtomicReference<T>
+ {
+ private T atomicValue;
+
+ public T Value
+ {
+ get
+ {
+ lock(this)
+ {
+ return atomicValue;
+ }
+ }
+ set
+ {
+ lock(this)
+ {
+ atomicValue = value;
+ }
+ }
+ }
+
+ public AtomicReference()
+ {
+ }
+
+ public AtomicReference(T defaultValue)
+ {
+ atomicValue = defaultValue;
+ }
+
+ public T GetAndSet(T value)
+ {
+ lock(this)
+ {
+ T ret = atomicValue;
+ atomicValue = value;
+ return ret;
+ }
+ }
+ }
+#endif
+}