fix: assign one active engine owner
This commit is contained in:
17
ipc.c
17
ipc.c
@@ -25,7 +25,7 @@ void
|
||||
ipcpackreq(unsigned char req[Ipcreqsz], int want, unsigned int mod,
|
||||
unsigned int key)
|
||||
{
|
||||
req[0] = want != 0;
|
||||
req[0] = want ? Ipcreqwant : 0;
|
||||
req[1] = mod;
|
||||
req[2] = key;
|
||||
req[3] = key >> 8;
|
||||
@@ -33,11 +33,18 @@ ipcpackreq(unsigned char req[Ipcreqsz], int want, unsigned int mod,
|
||||
req[5] = key >> 24;
|
||||
}
|
||||
|
||||
void
|
||||
ipcpackreset(unsigned char req[Ipcreqsz], int want)
|
||||
{
|
||||
memset(req, 0, Ipcreqsz);
|
||||
req[0] = Ipcreqreset | (want ? Ipcreqwant : 0);
|
||||
}
|
||||
|
||||
void
|
||||
ipcunpackreq(const unsigned char req[Ipcreqsz], int *want, unsigned int *mod,
|
||||
unsigned int *key)
|
||||
{
|
||||
*want = req[0] != 0;
|
||||
*want = (req[0] & Ipcreqwant) != 0;
|
||||
*mod = req[1] & Mmask;
|
||||
*key = (unsigned int)req[2] |
|
||||
((unsigned int)req[3] << 8) |
|
||||
@@ -45,6 +52,12 @@ ipcunpackreq(const unsigned char req[Ipcreqsz], int *want, unsigned int *mod,
|
||||
((unsigned int)req[5] << 24);
|
||||
}
|
||||
|
||||
int
|
||||
ipcreqreset(const unsigned char req[Ipcreqsz])
|
||||
{
|
||||
return (req[0] & Ipcreqreset) != 0;
|
||||
}
|
||||
|
||||
int
|
||||
ipcpackresp(unsigned char *dst, size_t cap, int eaten,
|
||||
const char *commit, size_t ncommit, const char *preedit, size_t npreedit,
|
||||
|
||||
Reference in New Issue
Block a user