1
0
Fork 0

add ErrorFileNotFound util function

This commit is contained in:
Aaron Lindsay 2013-08-13 23:12:08 -04:00
parent bdd8032f29
commit f3b4294b23
3 changed files with 11 additions and 9 deletions

View File

@ -10,7 +10,6 @@ import (
"os"
"os/user"
"path"
"syscall"
)
type AsinkGlobals struct {
@ -110,13 +109,8 @@ func ProcessLocalEvent(globals AsinkGlobals, event *asink.Event) {
//copy to tmp
//TODO upload in chunks and check modification times to make sure it hasn't been changed instead of copying the whole thing off
tmpfilename, err := util.CopyToTmp(event.Path, globals.tmpDir)
if err != nil {
if e, ok := err.(*os.PathError); ok && e.Err == syscall.ENOENT {
//if the file doesn't exist, it must've been deleted out from under us, disregard this event
return
} else {
panic(err)
}
if err != nil && !util.ErrorFileNotFound(err) {
panic(err)
}
event.Status |= asink.COPIED_TO_TMP

View File

@ -15,7 +15,7 @@ type AsinkDB struct {
func GetAndInitDB() (*AsinkDB, error) {
dbLocation := "asink-server.db" //TODO make me configurable
db, err := sql.Open("sqlite3", dbLocation)
db, err := sql.Open("sqlite3", "file:"+dbLocation+"?cache=shared&mode=rwc")
if err != nil {
return nil, err
}

View File

@ -5,6 +5,7 @@ import (
"io/ioutil"
"os"
"path"
"syscall"
)
func EnsureDirExists(dir string) error {
@ -42,3 +43,10 @@ func CopyToTmp(src string, tmpdir string) (string, error) {
return outfile.Name(), nil
}
func ErrorFileNotFound(err error) bool {
if e, ok := err.(*os.PathError); ok && e.Err == syscall.ENOENT {
return true
}
return false
}