On Tue, 13 Apr 2021 20:26:56 GMT, Andy Herrick <[email protected]> wrote:
>> src/jdk.jpackage/share/classes/jdk/jpackage/internal/IOUtils.java line 59:
>>
>>> 57:
>>> 58: public static void deleteRecursive(Path directory) throws
>>> IOException {
>>> 59: final IOException [] exception = { (IOException) null };
>>
>> Do we know `Files.walkFileTree()` synchronizes calls on callback object? If
>> not, I'd use `AtomicReference` to store the first exception.
>
> That seems like overkill. walkFileTree must call visitFile,
> preVisitDirectory, and postVisitDirectory synchronously, because their return
> value tells walkFileTree where to go next.
I can use AtomicReference instead of Array to hold the IOException, but must I
lock around access, there is no "setIfNull()" method
-------------
PR: https://git.openjdk.java.net/jdk/pull/3473