From 1b202d9d9d94c4b5cfbfd86142d95cb0842e946c Mon Sep 17 00:00:00 2001 From: ale <ale@incal.net> Date: Sat, 13 Apr 2019 00:21:40 +0100 Subject: [PATCH] Use pkill to reload Icecast by default At least it doesn't require sudo like using systemctl. --- node/icecast/controller.go | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/node/icecast/controller.go b/node/icecast/controller.go index 67ad6367..c22fac1b 100644 --- a/node/icecast/controller.go +++ b/node/icecast/controller.go @@ -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 { -- GitLab