Hi, for me the Virtual driver (vr) doesn't work, reproducer:
$ brltty -b vr -d server:127.0.0.1 -x a2 -A auth=none $ telnet 127.0.0.1 35752 cells 20 And nothing happened. It seems the 'vr' driver thinks there is no data on the socket received, i.e. the awaitSocketInput check in readNetworkSocket never succeed. I didn't debug the complex underlying machinery, but the attached patch that bypassed it and used MSG_DONTWAIT recv flag (which is available since kernel 2.2) works for me and the Virtual driver started to work again. I tested it on Fedora 23 (kernel 4.4.7) thanks & regards Jaroslav
diff --git a/Drivers/Braille/Virtual/braille.c b/Drivers/Braille/Virtual/braille.c --- a/Drivers/Braille/Virtual/braille.c +++ b/Drivers/Braille/Virtual/braille.c @@ -122,11 +122,10 @@ static const OperationsEntry *operations; static int readNetworkSocket (int descriptor, void *buffer, int size) { - if (awaitSocketInput(descriptor, 0)) { - int count = recv(descriptor, buffer, size, 0); + int count = recv(descriptor, buffer, size, MSG_DONTWAIT); if (count != -1) return count; - LogSocketError("recv"); - } + else if (errno != EAGAIN && errno != EWOULDBLOCK) + LogSocketError("recv"); return -1; }
_______________________________________________ This message was sent via the BRLTTY mailing list. To post a message, send an e-mail to: BRLTTY@mielke.cc For general information, go to: http://mielke.cc/mailman/listinfo/brltty