@@ -501,43 +501,27 @@ void LMDB::resolveRegularExpression(const std::string& var,
501
501
}
502
502
503
503
504
- MDBEnvProvider::MDBEnvProvider () :
505
- m_env(NULL ), initialized(false ) {
506
- pthread_mutex_init (&m_lock, NULL );
504
+ MDBEnvProvider::MDBEnvProvider () : m_env(NULL ) {
505
+ MDB_txn *txn;
506
+ mdb_env_create (&m_env);
507
+ mdb_env_open (m_env, " ./modsec-shared-collections" ,
508
+ MDB_WRITEMAP | MDB_NOSUBDIR, 0664 );
509
+ mdb_txn_begin (m_env, NULL , 0 , &txn);
510
+ mdb_dbi_open (txn, NULL , MDB_CREATE | MDB_DUPSORT, &m_dbi);
511
+ mdb_txn_commit (txn);
507
512
}
508
513
509
514
MDB_env* MDBEnvProvider::GetEnv () {
510
- init ();
511
515
return m_env;
512
516
}
513
517
514
518
MDB_dbi* MDBEnvProvider::GetDBI () {
515
- init ();
516
519
return &m_dbi;
517
520
}
518
521
519
- void MDBEnvProvider::init () {
520
- pthread_mutex_lock (&m_lock);
521
- if (!initialized) {
522
- MDB_txn *txn;
523
- initialized = true ;
524
- mdb_env_create (&m_env);
525
- mdb_env_open (m_env, " ./modsec-shared-collections" ,
526
- MDB_WRITEMAP | MDB_NOSUBDIR, 0664 );
527
- mdb_txn_begin (m_env, NULL , 0 , &txn);
528
- mdb_dbi_open (txn, NULL , MDB_CREATE | MDB_DUPSORT, &m_dbi);
529
- mdb_txn_commit (txn);
530
- }
531
- pthread_mutex_unlock (&m_lock);
532
- }
533
-
534
- void MDBEnvProvider::close () {
535
- pthread_mutex_lock (&m_lock);
536
- if (initialized) {
537
- mdb_dbi_close (m_env, m_dbi);
538
- mdb_env_close (m_env);
539
- }
540
- pthread_mutex_unlock (&m_lock);
522
+ MDBEnvProvider::~MDBEnvProvider () {
523
+ mdb_dbi_close (m_env, m_dbi);
524
+ mdb_env_close (m_env);
541
525
}
542
526
543
527
#endif
0 commit comments