Re: Deadlock detection

Поиск
Список
Период
Сортировка
От Oliver Jowett
Тема Re: Deadlock detection
Дата
Msg-id 4977D10A.9040706@opencloud.com
обсуждение исходный текст
Ответ на Re: Deadlock detection  (Oliver Jowett <oliver@opencloud.com>)
Ответы Re: Deadlock detection  (Kris Jurka <books@ejurka.com>)
Список pgsql-jdbc
Oliver Jowett wrote:
> Oliver Jowett wrote:
>
>> I have a bit of time spare today, I might look at putting together that
>> OutputStream wrapper.
>
> Try this. I have not tested at all - it compiles but that's as far as I
> got - but it should give you an idea of what I had in mind.

And here are the fixes for the deliberate mistakes in the first version ;-)

This passes the regression testsuite with antiDeadlock=true, but I don't
have a deadlock testcase on hand to try unfortunately.

-O
--- 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) {

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Oliver Jowett
Дата:
Сообщение: Re: Deadlock detection
Следующее
От: Kris Jurka
Дата:
Сообщение: Re: Deadlock detection