Hi Vyom, I imported your latest patch and ran it on our test system, and I noticed the following error on Windows:
[2020-07-07T11:09:20,621Z] T:\workspace\open\test\jdk\java\net\Socket\libNativeThread.c(54) : error C2220: the following warning is treated as an error [2020-07-07T11:09:20,621Z] T:\workspace\open\test\jdk\java\net\Socket\libNativeThread.c(54) : warning C4716: 'Java_NativeThread_signal': must return a value Kind regards, Patrick > On 7 Jul 2020, at 04:14, Vyom Tiwari <[email protected]> wrote: > > Hi All, > > Please find the updated > webrev(http://cr.openjdk.java.net/~vtewari/8237858/webrev0.9/index.html > <http://cr.openjdk.java.net/~vtewari/8237858/webrev0.9/index.html>). I leave > the idea of using the PoolCleaner. > > Thanks, > Vyom > > On Sat, Jul 4, 2020 at 9:08 PM Martin Buchholz <[email protected] > <mailto:[email protected]>> wrote: > Right. It would be a project to create a jtreg test utility inspired > by PoolCleaner and use it in many tests. > > On Sat, Jul 4, 2020 at 8:24 AM Vyom Tiwari <[email protected] > <mailto:[email protected]>> wrote: > > > > Hi Martin > > Thanks for the review, I will try to address your review comment. > > > > I wanted to write a simple test case for this issue but it is getting more > > complex. > > > > Thanks, > > Vyom > > > > On Sat, Jul 4, 2020 at 8:14 PM Martin Buchholz <[email protected] > > <mailto:[email protected]>> wrote: > >> > >> On Fri, Jul 3, 2020 at 11:12 PM Alan Bateman <[email protected] > >> <mailto:[email protected]>> wrote: > >> > >> > - "service" isn't a great name for the Executor. Also you can make use > >> > of try-finally, e.g. > >> > ExecutorService executor = Executors.newFixedThreadPool(1); > >> > try { ... } finally { executor.shutdown(); } > >> > >> If you want to do this structured-concurrency-style, you should wait > >> for all the threads you started to complete (they might block!). > >> shutdown is not enough - you also want awaitTermination. > >> > >> We have a PoolCleaner utility in test/jdk/java/util/concurrent/tck/ to > >> help do this. > >> > >> try (PoolCleaner cleaner = cleaner(p)) { > > > > > > > > -- > > Thanks, > > Vyom > > > -- > Thanks, > Vyom
