about summary refs log tree commit
diff options
context:
space:
mode:
-rw-r--r--lib/metropolis/tdb.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/metropolis/tdb.rb b/lib/metropolis/tdb.rb
index d734443..dac613d 100644
--- a/lib/metropolis/tdb.rb
+++ b/lib/metropolis/tdb.rb
@@ -18,6 +18,13 @@ module Metropolis::TDB
       size = @query['hash_size'] and @tdb_opts[:hash_size] = size.to_i
       hash = @query['hash'] and @tdb_opts[:hash] = hash.to_sym
 
+      case @query['threadsafe']
+      when 'true'; @tdb_opts[:threadsafe] = true
+      when 'false', nil
+      else
+        raise ArgumentError, "'threadsafe' must be 'true' or 'false'"
+      end
+
       case @query['volatile']
       when 'true'; @tdb_opts[:tdb_flags] |= TDB::VOLATILE
       when 'false', nil