Skip to content
Snippets Groups Projects
Commit 1b202d9d authored by ale's avatar ale
Browse files

Use pkill to reload Icecast by default

At least it doesn't require sudo like using systemctl.
parent 2974da92
No related branches found
No related tags found
1 merge request!1v2.0
......@@ -13,9 +13,9 @@ import (
"sync"
"time"
"git.autistici.org/ale/autoradio/util"
"git.autistici.org/ale/autoradio"
pb "git.autistici.org/ale/autoradio/proto"
"git.autistici.org/ale/autoradio/util"
)
var (
......@@ -23,27 +23,9 @@ var (
// Timeout for all HTTP requests to the local Icecast.
icecastHTTPTimeout = 5 * time.Second
icecastReloadCmd = flag.String("icecast-reload-command", "", "Command to reload the icecast2 daemon")
)
const (
systemdReloadCmd = "sudo systemctl reload icecast2.service || sudo systemctl restart icecast2.service"
debianReloadCmd = "/usr/sbin/service icecast2 reload || /usr/sbin/service icecast2 restart"
genericReloadCmd = "pkill -HUP icecast2"
icecastReloadCmd = flag.String("icecast-reload-command", "pkill -HUP icecast2", "Command to reload the icecast2 daemon")
)
func init() {
// Try to set a system-specific sane default for
// --icecast-reload-command.
if _, err := os.Stat("/bin/systemctl"); err == nil {
*icecastReloadCmd = systemdReloadCmd
} else if _, err := os.Stat("/usr/sbin/service"); err == nil {
*icecastReloadCmd = debianReloadCmd
} else {
*icecastReloadCmd = genericReloadCmd
}
}
// IcecastController manages a local Icecast daemon.
//
// Managing the local Icecast instance is a less simple task than it
......@@ -145,7 +127,7 @@ func (c *Controller) killSources(ctx context.Context, mounts []*pb.Mount) {
}
func killSource(ctx context.Context, m *pb.Mount, port int, pw string) error {
var v url.Values
v := make(url.Values)
v.Set("mount", autoradio.MountPathToIcecastPath(m.Path))
req, err := http.NewRequest("GET", fmt.Sprintf("http://localhost:%d/admin/killsource?%s", port, v.Encode()), nil)
if err != nil {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment