Title: [710] trunk/activerecord-jdbc/lib/active_record/connection_adapters/jdbc_adapter.rb: Place a mutex around loading of the driver class
Revision
710
Author
nicksieger
Date
2007-08-24 03:49:55 -0400 (Fri, 24 Aug 2007)

Log Message

Place a mutex around loading of the driver class

Modified Paths


Diff

Modified: trunk/activerecord-jdbc/lib/active_record/connection_adapters/jdbc_adapter.rb (709 => 710)


--- trunk/activerecord-jdbc/lib/active_record/connection_adapters/jdbc_adapter.rb	2007-08-24 07:41:56 UTC (rev 709)
+++ trunk/activerecord-jdbc/lib/active_record/connection_adapters/jdbc_adapter.rb	2007-08-24 07:49:55 UTC (rev 710)
@@ -73,6 +73,7 @@
     end
 
     module Jdbc
+      Mutex = java.lang.Object.new
       DriverManager = java.sql.DriverManager
       Statement = java.sql.Statement
       Types = java.sql.Types
@@ -199,10 +200,12 @@
       def driver_class
         @driver_class ||= begin
           driver_class_const = (@name[0...1].capitalize + @[EMAIL PROTECTED]).gsub(/\./, '_')
-          unless Jdbc.const_defined?(driver_class_const)
-            driver_class_name = @name
-            Jdbc.module_eval do
-              include_class(driver_class_name) { driver_class_const }
+          Jdbc::Mutex.synchronized do
+            unless Jdbc.const_defined?(driver_class_const)
+              driver_class_name = @name
+              Jdbc.module_eval do
+                include_class(driver_class_name) { driver_class_const }
+              end
             end
           end
           Jdbc.const_get(driver_class_const)
_______________________________________________
Jruby-extras-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/jruby-extras-devel

Reply via email to