mirror of
https://github.com/wavetermdev/waveterm.git
synced 2025-02-21 02:33:34 +01:00
start unix domain socket server. fix a couple small bugs
This commit is contained in:
parent
fa3a670603
commit
be392ee755
@ -7,6 +7,7 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
"log"
|
||||
"net"
|
||||
"os"
|
||||
"os/signal"
|
||||
"strconv"
|
||||
@ -123,6 +124,16 @@ func main() {
|
||||
webListener, err := web.MakeTCPListener()
|
||||
if err != nil {
|
||||
log.Printf("error creating web listener: %v\n", err)
|
||||
return
|
||||
}
|
||||
var unixListener net.Listener
|
||||
if runtime.GOOS != "windows" {
|
||||
var err error
|
||||
unixListener, err = web.MakeUnixListener()
|
||||
if err != nil {
|
||||
log.Printf("error creating unix listener: %v\n", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
go func() {
|
||||
pidStr := os.Getenv(ReadySignalPidVarName)
|
||||
@ -134,6 +145,7 @@ func main() {
|
||||
}
|
||||
}
|
||||
}()
|
||||
go web.RunWebServer(unixListener)
|
||||
web.RunWebServer(webListener) // blocking
|
||||
runtime.KeepAlive(waveLock)
|
||||
}
|
||||
|
@ -90,8 +90,9 @@ function switchTab(offset: number) {
|
||||
if (tabIdx == -1) {
|
||||
return;
|
||||
}
|
||||
tabIdx = (tabIdx + offset) % ws.tabids.length;
|
||||
const newActiveTabId = ws.tabids[tabIdx];
|
||||
const newTabIdx = (tabIdx + offset + ws.tabids.length) % ws.tabids.length;
|
||||
const newActiveTabId = ws.tabids[newTabIdx];
|
||||
console.log("switching tabs", tabIdx, newTabIdx, activeTabId, newActiveTabId, ws.tabids);
|
||||
services.ObjectService.SetActiveTab(newActiveTabId);
|
||||
}
|
||||
|
||||
|
@ -205,7 +205,7 @@ func convertSpecialForReturn(argType reflect.Type, nativeArg any) (any, error) {
|
||||
|
||||
func convertArgument(argType reflect.Type, jsonArg any) (any, error) {
|
||||
if jsonArg == nil {
|
||||
return nil, nil
|
||||
return reflect.Zero(argType).Interface(), nil
|
||||
}
|
||||
if isSpecialWaveArgType(argType) {
|
||||
return convertSpecial(argType, jsonArg)
|
||||
|
@ -12,6 +12,7 @@ import (
|
||||
"log"
|
||||
"net"
|
||||
"net/http"
|
||||
"os"
|
||||
"runtime/debug"
|
||||
"strconv"
|
||||
"time"
|
||||
@ -225,6 +226,18 @@ func MakeTCPListener() (net.Listener, error) {
|
||||
return rtn, nil
|
||||
}
|
||||
|
||||
func MakeUnixListener() (net.Listener, error) {
|
||||
serverAddr := wavebase.GetWaveHomeDir() + "/wave.sock"
|
||||
os.Remove(serverAddr) // ignore error
|
||||
rtn, err := net.Listen("unix", serverAddr)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error creating listener at %v: %v", serverAddr, err)
|
||||
}
|
||||
os.Chmod(serverAddr, 0700)
|
||||
log.Printf("Server listening on %s\n", serverAddr)
|
||||
return rtn, nil
|
||||
}
|
||||
|
||||
// blocking
|
||||
func RunWebServer(listener net.Listener) {
|
||||
gr := mux.NewRouter()
|
||||
|
Loading…
Reference in New Issue
Block a user