This commit is contained in:
Daniel 2023-12-19 20:03:13 +08:00
parent 3907165090
commit d8fb5f896e
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
2 changed files with 11 additions and 3 deletions

View file

@ -41,6 +41,11 @@ func CreateBox(name string) (id string, err error) {
return return
} }
WaitForWritingFiles()
createDocLock.Lock()
defer createDocLock.Unlock()
id = ast.NewNodeID() id = ast.NewNodeID()
boxLocalPath := filepath.Join(util.DataDir, id) boxLocalPath := filepath.Join(util.DataDir, id)
err = os.MkdirAll(boxLocalPath, 0755) err = os.MkdirAll(boxLocalPath, 0755)
@ -71,12 +76,15 @@ func RenameBox(boxID, name string) (err error) {
} }
func RemoveBox(boxID string) (err error) { func RemoveBox(boxID string) (err error) {
WaitForWritingFiles()
if util.IsReservedFilename(boxID) { if util.IsReservedFilename(boxID) {
return errors.New(fmt.Sprintf("can not remove [%s] caused by it is a reserved file", boxID)) return errors.New(fmt.Sprintf("can not remove [%s] caused by it is a reserved file", boxID))
} }
WaitForWritingFiles()
createDocLock.Lock()
defer createDocLock.Unlock()
localPath := filepath.Join(util.DataDir, boxID) localPath := filepath.Join(util.DataDir, boxID)
if !filelock.IsExist(localPath) { if !filelock.IsExist(localPath) {
return return

View file

@ -87,7 +87,7 @@ var (
) )
func isWritingFiles() bool { func isWritingFiles() bool {
time.Sleep(time.Duration(20) * time.Millisecond) time.Sleep(time.Duration(50) * time.Millisecond)
return 0 < len(txQueue) return 0 < len(txQueue)
} }