diff --git a/lib/handshake.js b/lib/handshake.js index 8f9c1c9..3297a3e 100644 --- a/lib/handshake.js +++ b/lib/handshake.js @@ -116,9 +116,14 @@ bl.unpack('C', function(res) { if (res[0] == 0) { // conection time error - // unpack error (? TODO) - var err = new Error; - cb(err); // TODO: detect that this is error on xcore side + // unpack error + bl.unpack('Cxxxxxx', function (rlen) { + bl.get(rlen[0], function (reason) { + var err = new Error; + err.message = 'X server connection failed: ' + reason.toString(); + cb(err); + }); + }); // TODO: do we need to close stream from our side? // TODO: api to close source stream via attached unpackstream return;