ninjudd-bdb 0.0.8 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bdb.gemspec +1 -1
- data/ext/bdb.c +50 -0
- metadata +1 -1
data/bdb.gemspec
CHANGED
@@ -2,7 +2,7 @@ BDB_SPEC = Gem::Specification.new do |s|
|
|
2
2
|
s.platform = Gem::Platform::RUBY
|
3
3
|
s.required_ruby_version = '>=1.8.4'
|
4
4
|
s.name = "bdb"
|
5
|
-
s.version = "0.0.
|
5
|
+
s.version = "0.0.9"
|
6
6
|
s.authors = ["Matt Bauer", "Dan Janowski"]
|
7
7
|
s.email = "bauer@pedalbrain.com"
|
8
8
|
s.summary = "A Ruby interface to BerkeleyDB"
|
data/ext/bdb.c
CHANGED
@@ -2315,6 +2315,54 @@ VALUE env_get_tx_max(VALUE obj)
|
|
2315
2315
|
return INT2FIX(max);
|
2316
2316
|
}
|
2317
2317
|
|
2318
|
+
/*
|
2319
|
+
* call-seq:
|
2320
|
+
* env.mutex_set_max(max) -> max
|
2321
|
+
*
|
2322
|
+
* Set the maximum number of mutexes with the environment
|
2323
|
+
*/
|
2324
|
+
VALUE env_mutex_set_max(VALUE obj, VALUE vmax)
|
2325
|
+
{
|
2326
|
+
t_envh *eh;
|
2327
|
+
u_int32_t max;
|
2328
|
+
int rv;
|
2329
|
+
|
2330
|
+
max=FIX2UINT(vmax);
|
2331
|
+
|
2332
|
+
Data_Get_Struct(obj,t_envh,eh);
|
2333
|
+
if (!eh->env)
|
2334
|
+
raise(0, "env is closed");
|
2335
|
+
rv=eh->env->mutex_set_max(eh->env,max);
|
2336
|
+
if ( rv != 0 ) {
|
2337
|
+
raise_error(rv, "env_mutex_set_max: %s",db_strerror(rv));
|
2338
|
+
}
|
2339
|
+
|
2340
|
+
return vmax;
|
2341
|
+
}
|
2342
|
+
|
2343
|
+
/*
|
2344
|
+
* call-seq
|
2345
|
+
* env.mutex_get_max -> Fixnum
|
2346
|
+
*
|
2347
|
+
* Get current maximum number of mutexes.
|
2348
|
+
*/
|
2349
|
+
VALUE env_mutex_get_max(VALUE obj)
|
2350
|
+
{
|
2351
|
+
t_envh *eh;
|
2352
|
+
u_int32_t max;
|
2353
|
+
int rv;
|
2354
|
+
|
2355
|
+
Data_Get_Struct(obj,t_envh,eh);
|
2356
|
+
if (!eh->env)
|
2357
|
+
raise(0, "env is closed");
|
2358
|
+
rv=eh->env->mutex_get_max(eh->env,&max);
|
2359
|
+
if ( rv != 0 ) {
|
2360
|
+
raise_error(rv, "env_mutex_get_max: %s",db_strerror(rv));
|
2361
|
+
}
|
2362
|
+
|
2363
|
+
return INT2FIX(max);
|
2364
|
+
}
|
2365
|
+
|
2318
2366
|
/*
|
2319
2367
|
* call-seq:
|
2320
2368
|
* env.set_shm_key(key) -> max
|
@@ -2935,6 +2983,8 @@ void Init_bdb() {
|
|
2935
2983
|
rb_define_method(cEnv,"set_timeout",env_set_timeout,2);
|
2936
2984
|
rb_define_method(cEnv,"get_timeout",env_get_timeout,1);
|
2937
2985
|
rb_define_method(cEnv,"set_tx_max",env_set_tx_max,1);
|
2986
|
+
rb_define_method(cEnv,"mutex_get_max",env_mutex_get_max,0);
|
2987
|
+
rb_define_method(cEnv,"mutex_set_max",env_mutex_set_max,1);
|
2938
2988
|
rb_define_method(cEnv,"get_tx_max",env_get_tx_max,0);
|
2939
2989
|
rb_define_method(cEnv,"report_stderr",env_report_stderr,0);
|
2940
2990
|
rb_define_method(cEnv,"set_lk_detect",env_set_lk_detect,1);
|