locking fixes
authorBen Maurer <benm@mono-cvs.ximian.com>
Thu, 26 May 2005 23:18:45 +0000 (23:18 -0000)
committerBen Maurer <benm@mono-cvs.ximian.com>
Thu, 26 May 2005 23:18:45 +0000 (23:18 -0000)
svn path=/trunk/mcs/; revision=45089

mcs/class/IBM.Data.DB2/IBM.Data.DB2/DB2Environment.cs

index 39f151146844209c78e0fc7535ef3dcd6d670cac..8a2d87e7914070c98ec8718b33f337f1e307158a 100755 (executable)
@@ -27,7 +27,8 @@ namespace IBM.Data.DB2
 \r
        internal sealed class DB2Environment : IDisposable\r
        {\r
-               private static DB2Environment environment;\r
+               volatile static DB2Environment environment;
+               static readonly object lockobj = new object ();\r
                internal Hashtable connectionPools;\r
                internal IntPtr penvHandle = IntPtr.Zero;\r
 \r
@@ -49,7 +50,7 @@ namespace IBM.Data.DB2
                        {\r
                                if(environment == null)\r
                                {\r
-                                       lock(typeof(DB2Environment))\r
+                                       lock(lockobj)\r
                                        {\r
                                                if(environment == null)\r
                                                {\r