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