* Disable calls to fsync() since Berkeley DB's DB_TXN_WRITE_NOSYNC
flag doesn't seem to work as advertised.
This commit is contained in:
		
							parent
							
								
									112ee89501
								
							
						
					
					
						commit
						15c60ca1b6
					
				
					 1 changed files with 8 additions and 0 deletions
				
			
		| 
						 | 
					@ -146,6 +146,12 @@ void openEnv(DbEnv * env, const string & path, u_int32_t flags)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static int my_fsync(int fd)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void Database::open(const string & path)
 | 
					void Database::open(const string & path)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if (env) throw Error(format("environment already open"));
 | 
					    if (env) throw Error(format("environment already open"));
 | 
				
			||||||
| 
						 | 
					@ -164,6 +170,8 @@ void Database::open(const string & path)
 | 
				
			||||||
        env->set_lk_detect(DB_LOCK_DEFAULT);
 | 
					        env->set_lk_detect(DB_LOCK_DEFAULT);
 | 
				
			||||||
        env->set_flags(DB_TXN_WRITE_NOSYNC | DB_LOG_AUTOREMOVE, 1);
 | 
					        env->set_flags(DB_TXN_WRITE_NOSYNC | DB_LOG_AUTOREMOVE, 1);
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					        db_env_set_func_fsync(my_fsync);
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /* The following code provides automatic recovery of the
 | 
					        /* The following code provides automatic recovery of the
 | 
				
			||||||
           database environment.  Recovery is necessary when a process
 | 
					           database environment.  Recovery is necessary when a process
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue