[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-2d-dev
Subject:    Re: [OpenJDK 2D-Dev] JDK 9 RFR of JDK-8044694: Fix finally lint warnings in sun.print
From:       Jennifer Godinez <jennifer.godinez () oracle ! com>
Date:       2014-06-03 18:50:32
Message-ID: 538E1C16.40202 () oracle ! com
[Download RAW message or body]

Looks good.

- Jennifer

On 6/3/14 11:42 AM, Joe Darcy wrote:
> On 06/03/2014 11:34 AM, Phil Race wrote:
>> Both of these came in via an IBM contributed fix :-
>> http://mail.openjdk.java.net/pipermail/2d-dev/2011-October/002206.html
>> He [it appears] wanted to be very sure the throw was executed but it
>> seems
>> like it could just be moved after the finally block which might be better
>> than suppressing the warning.
>
> That approach would be fine with me. New webrev uploaded to
>
> http://cr.openjdk.java.net/~darcy/8044694.1
>
> Patch below.
>
> Thanks,
>
> -Joe
>
> diff -r 6d4b3a9ca33d src/share/classes/sun/print/PSPrinterJob.java
> --- a/src/share/classes/sun/print/PSPrinterJob.java Tue Jun 03 09:22:59
> 2014 -0700
> +++ b/src/share/classes/sun/print/PSPrinterJob.java Tue Jun 03 11:41:38
> 2014 -0700
> @@ -708,8 +708,8 @@
> }
> } finally {
> pw.flush();
> - throw new IOException(sw.toString());
> }
> + throw new IOException(sw.toString());
> }
> }
>
> diff -r 6d4b3a9ca33d src/solaris/classes/sun/print/UnixPrintJob.java
> --- a/src/solaris/classes/sun/print/UnixPrintJob.java Tue Jun 03
> 09:22:59 2014 -0700
> +++ b/src/solaris/classes/sun/print/UnixPrintJob.java Tue Jun 03
> 11:41:38 2014 -0700
> @@ -992,8 +992,8 @@
> }
> } finally {
> pw.flush();
> - throw new IOException(sw.toString());
> }
> + throw new IOException(sw.toString());
> }
> }
>
>
>>
>> -phil.
>>
>> On 6/3/2014 10:11 AM, Joe Darcy wrote:
>>> Hello,
>>>
>>> Please review a fix for
>>>
>>> JDK-8044694: Fix finally lint warnings in sun.print
>>> http://cr.openjdk.java.net/~darcy/8044694.0/
>>>
>>> One of javac's lint warnings is for a finally block that cannot
>>> complete normally. The printing code has two instances with a finally
>>> block like
>>>
>>> } finally {
>>> pw.flush();
>>> throw new IOException(sw.toString());
>>> }
>>>
>>> This cannot complete normally, since an exception is unconditionally
>>> thrown, but it very much seems to be the intended behavior. The fix
>>> is to add @SuppressWarnings("finally") annotations:
>>>
>>> --- old/src/share/classes/sun/print/PSPrinterJob.java 2014-06-03
>>> 10:07:16.000000000 -0700
>>> +++ new/src/share/classes/sun/print/PSPrinterJob.java 2014-06-03
>>> 10:07:16.000000000 -0700
>>> @@ -687,6 +687,7 @@
>>>
>>> // Inner class to run "privileged" to invoke the system print command
>>>
>>> + @SuppressWarnings("finally") // Exception always thrown in finally
>>> block
>>> private class PrinterSpooler implements java.security.PrivilegedAction {
>>> PrinterException pex;
>>>
>>> --- old/src/solaris/classes/sun/print/UnixPrintJob.java 2014-06-03
>>> 10:07:16.000000000 -0700
>>> +++ new/src/solaris/classes/sun/print/UnixPrintJob.java 2014-06-03
>>> 10:07:16.000000000 -0700
>>> @@ -971,6 +971,7 @@
>>>
>>> // Inner class to run "privileged" to invoke the system print command
>>>
>>> + @SuppressWarnings("finally") // Exception always thrown in finally
>>> block
>>> private class PrinterSpooler implements java.security.PrivilegedAction {
>>> PrintException pex;
>>>
>>> Thanks,
>>>
>>> -Joe
>>
>
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic