diff options
author | Runxi Yu <me@runxiyu.org> | 2025-02-17 13:00:56 +0800 |
---|---|---|
committer | Runxi Yu <me@runxiyu.org> | 2025-02-17 13:02:06 +0800 |
commit | 0a91277e257752e6414d4f514f970e43242bd533 (patch) | |
tree | c07b76fe801fcba69e349b8563f1815bf59e134e /main.go | |
parent | git_hooks_client.c: Splice socket to stderr (diff) | |
download | forge-0a91277e257752e6414d4f514f970e43242bd533.tar.gz forge-0a91277e257752e6414d4f514f970e43242bd533.tar.zst forge-0a91277e257752e6414d4f514f970e43242bd533.zip |
git_hooks_handle.go, etc.: Listen for connections from hooks
Diffstat (limited to 'main.go')
-rw-r--r-- | main.go | 31 |
1 files changed, 24 insertions, 7 deletions
@@ -35,12 +35,25 @@ func main() { if err != nil { clog.Fatal(1, "Listening SSH: "+err.Error()) } + clog.Info("Listening SSH on " + config.SSH.Net + " " + config.SSH.Addr) + go func() { + err = serve_ssh(ssh_listener) + if err != nil { + clog.Fatal(1, "Serving SSH: "+err.Error()) + } + }() - err = serve_ssh(ssh_listener) + hooks_listener, err := net.Listen("unix", config.Hooks.Socket) if err != nil { - clog.Fatal(1, "Serving SSH: "+err.Error()) + clog.Fatal(1, "Listening hooks: "+err.Error()) } - clog.Info("Listening SSH on " + config.SSH.Net + " " + config.SSH.Addr) + clog.Info("Listening hooks at " + config.Hooks.Socket) + go func() { + err = serve_git_hooks(hooks_listener) + if err != nil { + clog.Fatal(1, "Serving hooks: "+err.Error()) + } + }() listener, err := net.Listen(config.HTTP.Net, config.HTTP.Addr) if err != nil { @@ -48,8 +61,12 @@ func main() { } clog.Info("Listening HTTP on " + config.HTTP.Net + " " + config.HTTP.Addr) - err = http.Serve(listener, &http_router_t{}) - if err != nil { - clog.Fatal(1, "Serving HTTP: "+err.Error()) - } + go func() { + err = http.Serve(listener, &http_router_t{}) + if err != nil { + clog.Fatal(1, "Serving HTTP: "+err.Error()) + } + }() + + select{} } |