01e40845 by astaxie

toolbox: fix the go routine asleep

1 parent bf429a3a
...@@ -34,6 +34,7 @@ var ( ...@@ -34,6 +34,7 @@ var (
34 AdminTaskList map[string]Tasker 34 AdminTaskList map[string]Tasker
35 stop chan bool 35 stop chan bool
36 changed chan bool 36 changed chan bool
37 isstart bool
37 seconds = bounds{0, 59, nil} 38 seconds = bounds{0, 59, nil}
38 minutes = bounds{0, 59, nil} 39 minutes = bounds{0, 59, nil}
39 hours = bounds{0, 23, nil} 40 hours = bounds{0, 23, nil}
...@@ -380,6 +381,7 @@ func dayMatches(s *Schedule, t time.Time) bool { ...@@ -380,6 +381,7 @@ func dayMatches(s *Schedule, t time.Time) bool {
380 381
381 // start all tasks 382 // start all tasks
382 func StartTask() { 383 func StartTask() {
384 isstart = true
383 go run() 385 go run()
384 } 386 }
385 387
...@@ -422,19 +424,24 @@ func run() { ...@@ -422,19 +424,24 @@ func run() {
422 424
423 // start all tasks 425 // start all tasks
424 func StopTask() { 426 func StopTask() {
427 isstart = false
425 stop <- true 428 stop <- true
426 } 429 }
427 430
428 // add task with name 431 // add task with name
429 func AddTask(taskname string, t Tasker) { 432 func AddTask(taskname string, t Tasker) {
430 AdminTaskList[taskname] = t 433 AdminTaskList[taskname] = t
434 if isstart {
431 changed <- true 435 changed <- true
436 }
432 } 437 }
433 438
434 // add task with name 439 // add task with name
435 func DeleteTask(taskname string) { 440 func DeleteTask(taskname string) {
436 delete(AdminTaskList, taskname) 441 delete(AdminTaskList, taskname)
442 if isstart {
437 changed <- true 443 changed <- true
444 }
438 } 445 }
439 446
440 // sort map for tasker 447 // sort map for tasker
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!