Commit 9d2df7f
committed
Shut down the command line's thread pool when formatting is done
Main.formatFiles created a fixed thread pool on every call and never
shut it down. The command line does not notice, because the process
exits, but a tool that runs Main in-process kept up to MAX_THREADS idle
threads per call (#40, from google/google-java-format#384).
The pool is now closed when formatFiles returns. On Java 21
ExecutorService is AutoCloseable, and close() waits for the submitted
tasks, which formatFiles has already waited for by then. The new
MainTest runs format from a thread of its own thread group, which the
pool's threads join, and fails without the change because a pool
thread is still running.1 parent f5e6b12 commit 9d2df7f
2 files changed
Lines changed: 34 additions & 2 deletions
File tree
- open-java-format/src
- main/java/com/palantir/javaformat/java
- test/java/com/palantir/javaformat/java
Lines changed: 9 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
123 | | - | |
124 | 123 | | |
125 | 124 | | |
126 | | - | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
127 | 131 | | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
128 | 135 | | |
129 | 136 | | |
130 | 137 | | |
| |||
Lines changed: 25 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| 38 | + | |
| 39 | + | |
38 | 40 | | |
39 | 41 | | |
40 | 42 | | |
| |||
91 | 93 | | |
92 | 94 | | |
93 | 95 | | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
94 | 119 | | |
95 | 120 | | |
96 | 121 | | |
| |||
0 commit comments