From 335783ebe5f057f22f4414ef6e7fa43a2d44c1ee Mon Sep 17 00:00:00 2001 From: Hojun-Cho Date: Fri, 14 Aug 2026 01:02:17 +0900 Subject: [PATCH] daemon: claim ipc endpoint before ibus publication --- fn.h | 1 + main.c | 1 + srv.c | 3 +-- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/fn.h b/fn.h index 52a23a2..a0989c4 100644 --- a/fn.h +++ b/fn.h @@ -37,6 +37,7 @@ Emit transvi(Im*, Rune); void backko(Im*); void backvi(Im*); +void srvinit(void); void srvthread(void*); void ibusthread(void*); diff --git a/main.c b/main.c index c7a6d81..87e3cd7 100644 --- a/main.c +++ b/main.c @@ -62,6 +62,7 @@ threadmain(int argc, char **argv) dictresc = chancreate(sizeof(Dictres), 0); mapinit(argv[1]); dictinit(argv[1]); + srvinit(); if(proccreate(drawthread, nil, 16384) < 0) die("can't create draw worker"); if(proccreate(srvthread, nil, 16384) < 0) diff --git a/srv.c b/srv.c index 9688029..45eedf0 100644 --- a/srv.c +++ b/srv.c @@ -59,7 +59,7 @@ clientthread(void *arg) chanrecv(clientc, &token); } -static void +void srvinit(void) { char *addr, path[sizeof(((struct sockaddr_un*)0)->sun_path)]; @@ -84,7 +84,6 @@ srvthread(void*) uchar token; threadsetname("srv"); - srvinit(); token = 0; clientc = chancreate(sizeof token, Maxclients); for(;;){