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 <vyomm...@gmail.com> 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 <marti...@google.com > <mailto:marti...@google.com>> 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 <vyomm...@gmail.com > <mailto:vyomm...@gmail.com>> 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 <marti...@google.com > > <mailto:marti...@google.com>> wrote: > >> > >> On Fri, Jul 3, 2020 at 11:12 PM Alan Bateman <alan.bate...@oracle.com > >> <mailto:alan.bate...@oracle.com>> 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