daemon: claim ipc endpoint before ibus publication
This commit is contained in:
1
fn.h
1
fn.h
@@ -37,6 +37,7 @@ Emit transvi(Im*, Rune);
|
|||||||
void backko(Im*);
|
void backko(Im*);
|
||||||
void backvi(Im*);
|
void backvi(Im*);
|
||||||
|
|
||||||
|
void srvinit(void);
|
||||||
void srvthread(void*);
|
void srvthread(void*);
|
||||||
void ibusthread(void*);
|
void ibusthread(void*);
|
||||||
|
|
||||||
|
|||||||
1
main.c
1
main.c
@@ -62,6 +62,7 @@ threadmain(int argc, char **argv)
|
|||||||
dictresc = chancreate(sizeof(Dictres), 0);
|
dictresc = chancreate(sizeof(Dictres), 0);
|
||||||
mapinit(argv[1]);
|
mapinit(argv[1]);
|
||||||
dictinit(argv[1]);
|
dictinit(argv[1]);
|
||||||
|
srvinit();
|
||||||
if(proccreate(drawthread, nil, 16384) < 0)
|
if(proccreate(drawthread, nil, 16384) < 0)
|
||||||
die("can't create draw worker");
|
die("can't create draw worker");
|
||||||
if(proccreate(srvthread, nil, 16384) < 0)
|
if(proccreate(srvthread, nil, 16384) < 0)
|
||||||
|
|||||||
3
srv.c
3
srv.c
@@ -59,7 +59,7 @@ clientthread(void *arg)
|
|||||||
chanrecv(clientc, &token);
|
chanrecv(clientc, &token);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
void
|
||||||
srvinit(void)
|
srvinit(void)
|
||||||
{
|
{
|
||||||
char *addr, path[sizeof(((struct sockaddr_un*)0)->sun_path)];
|
char *addr, path[sizeof(((struct sockaddr_un*)0)->sun_path)];
|
||||||
@@ -84,7 +84,6 @@ srvthread(void*)
|
|||||||
uchar token;
|
uchar token;
|
||||||
|
|
||||||
threadsetname("srv");
|
threadsetname("srv");
|
||||||
srvinit();
|
|
||||||
token = 0;
|
token = 0;
|
||||||
clientc = chancreate(sizeof token, Maxclients);
|
clientc = chancreate(sizeof token, Maxclients);
|
||||||
for(;;){
|
for(;;){
|
||||||
|
|||||||
Reference in New Issue
Block a user