mmm: create directory before creating the lockfile.
This commit is contained in:
@@ -56,6 +56,12 @@ func (b *MultiMmapManager) Init() error {
|
|||||||
b.Logger = &nopLogger
|
b.Logger = &nopLogger
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// create directory if it doesn't exist
|
||||||
|
dbpath := filepath.Join(b.Dir, "mmmm")
|
||||||
|
if err := os.MkdirAll(dbpath, 0755); err != nil {
|
||||||
|
return fmt.Errorf("failed to create directory %s: %w", dbpath, err)
|
||||||
|
}
|
||||||
|
|
||||||
// create lockfile to prevent multiple instances
|
// create lockfile to prevent multiple instances
|
||||||
lockfilePath := filepath.Join(b.Dir, "mmmm.lock")
|
lockfilePath := filepath.Join(b.Dir, "mmmm.lock")
|
||||||
if _, err := os.OpenFile(lockfilePath, os.O_CREATE|os.O_EXCL|os.O_RDWR, 0644); err != nil {
|
if _, err := os.OpenFile(lockfilePath, os.O_CREATE|os.O_EXCL|os.O_RDWR, 0644); err != nil {
|
||||||
@@ -65,12 +71,6 @@ func (b *MultiMmapManager) Init() error {
|
|||||||
return fmt.Errorf("failed to create lockfile %s: %w", lockfilePath, err)
|
return fmt.Errorf("failed to create lockfile %s: %w", lockfilePath, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// create directory if it doesn't exist
|
|
||||||
dbpath := filepath.Join(b.Dir, "mmmm")
|
|
||||||
if err := os.MkdirAll(dbpath, 0755); err != nil {
|
|
||||||
return fmt.Errorf("failed to create directory %s: %w", dbpath, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// open a huge mmapped file
|
// open a huge mmapped file
|
||||||
b.mmapfPath = filepath.Join(b.Dir, "events")
|
b.mmapfPath = filepath.Join(b.Dir, "events")
|
||||||
file, err := os.OpenFile(b.mmapfPath, os.O_CREATE|os.O_RDWR, 0644)
|
file, err := os.OpenFile(b.mmapfPath, os.O_CREATE|os.O_RDWR, 0644)
|
||||||
|
|||||||
Reference in New Issue
Block a user