--- crypt/pgjdbc/org/postgresql/core/AntiDeadlockStream.java.orig 2009-01-22 14:47:06.000000000 +1300 +++ crypt/pgjdbc/org/postgresql/core/AntiDeadlockStream.java 2009-01-22 14:44:47.000000000 +1300 @@ -159,23 +159,23 @@ byte[] oldBuffer = buffer; buffer = swapBuffer; - swapBuffer = buffer; + swapBuffer = oldBuffer; writeLength = bufferSize; doFlush = flushRequest; doClose = closeRequest; flushRequest = false; - + bufferSize = 0; bufferLock.notifyAll(); } try { if (writeLength > 0) wrapped.write(swapBuffer, 0, writeLength); - if (flushRequest) + if (doFlush) wrapped.flush(); - if (closeRequest) { + if (doClose) { wrapped.close(); synchronized (bufferLock) {