79abec9038
When VM-VM qrexec service is called, two qrexec-clients are connected in dom0. If both VMs are sending data simultaneously it can happen that both qrexec-client processes will call write(2) and none of them will be reading -> deadlock. Solve it by handling I/O in two separate threads (one for reading from VM, another for writing), at any time qrexec-client is ready to accept data from either direction.
13 lines
391 B
Makefile
13 lines
391 B
Makefile
CC=gcc
|
|
CFLAGS+=-I. -g -Wall -Wextra -Werror -pie -fPIC
|
|
XENLIBS=-lvchan -lxenstore -lxenctrl
|
|
LIBS=$(XENLIBS) -lqrexec-utils
|
|
|
|
all: qrexec-daemon qrexec-client
|
|
qrexec-daemon: qrexec-daemon.o
|
|
$(CC) -pie -g -o qrexec-daemon qrexec-daemon.o $(LIBS)
|
|
qrexec-client: qrexec-client.o
|
|
$(CC) -pie -g -o qrexec-client qrexec-client.o $(LIBS) -lpthread
|
|
clean:
|
|
rm -f *.o *~ qrexec-daemon qrexec-client
|