summaryrefslogtreecommitdiff
path: root/src/rhimportd/uploadWeb.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/rhimportd/uploadWeb.go')
-rw-r--r--src/rhimportd/uploadWeb.go14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/rhimportd/uploadWeb.go b/src/rhimportd/uploadWeb.go
index dc9b25c..1e3e7f0 100644
--- a/src/rhimportd/uploadWeb.go
+++ b/src/rhimportd/uploadWeb.go
@@ -119,7 +119,6 @@ func webUploadHandler(conf *rhimport.Config, db *rddb.DBChan, sessions *rhimport
rhl.Printf("WebUploadHandler: got request from user '%s', filename='%s'", username, hdr.Filename)
- // TODO: uploaded files should be deleted after some time... create directory with timestamp as part of the name?
dstpath, err := ioutil.TempDir(conf.TempDir, "webupload-"+username+"-")
if err != nil {
rhl.Printf("WebUploadHandler: error creating temporary directory: %v", err)
@@ -141,8 +140,9 @@ func webUploadHandler(conf *rhimport.Config, db *rddb.DBChan, sessions *rhimport
}
func webUploadCleanerRun(dir *os.File, conf *rhimport.Config) {
- t := time.Tick(5 * time.Second)
- for now := range t {
+ t := time.NewTicker(5 * time.Second)
+ defer t.Stop()
+ for now := range t.C {
var err error
if _, err = dir.Seek(0, 0); err != nil {
rhl.Printf("webUploadCleaner: reading directory contents failed: %s", err)
@@ -163,7 +163,13 @@ func webUploadCleanerRun(dir *os.File, conf *rhimport.Config) {
}
func webUploadCleaner(conf *rhimport.Config) {
+ first := true
for {
+ if !first {
+ time.Sleep(5 * time.Second)
+ }
+ first = false
+
dir, err := os.Open(conf.TempDir)
if err != nil {
rhl.Printf("webUploadCleaner: %s", err)
@@ -183,7 +189,5 @@ func webUploadCleaner(conf *rhimport.Config) {
webUploadCleanerRun(dir, conf)
rhdl.Printf("webUploadCleanerRun: returned - restring in 5 sec...")
dir.Close()
-
- time.Sleep(5 * time.Second)
}
}