Commit 5435cdf
committed
Better handling of base temporary directories
Create a new temporary directory with defined permissions for each pid.
Ensuring that the creation is new prevents race conditions where the
directory already exists. Ideally we would pass the mode when creating
the directory, but that is not possible with the Elixir nor Erlang
standard libraries.
When cleaning up for a pid, optimistically attempt to delete the
temporary directory using rmdir. This won't delete the directory if any
files are still there, which occurs if they have been given away.
When cleaning up for a pid, look for any temporary directories for files
we have been gifted. Remove them if pid in question is no longer using
the temporary directory.
Allow the application to configure the mode for the temporary directory.1 parent 9878f71 commit 5435cdf
4 files changed
Lines changed: 217 additions & 38 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
| 62 | + | |
62 | 63 | | |
63 | 64 | | |
64 | 65 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
45 | 70 | | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
| 71 | + | |
51 | 72 | | |
52 | 73 | | |
53 | 74 | | |
| |||
58 | 79 | | |
59 | 80 | | |
60 | 81 | | |
61 | | - | |
| 82 | + | |
62 | 83 | | |
63 | | - | |
64 | | - | |
| 84 | + | |
| 85 | + | |
65 | 86 | | |
66 | 87 | | |
67 | 88 | | |
68 | 89 | | |
69 | 90 | | |
70 | 91 | | |
71 | | - | |
| 92 | + | |
72 | 93 | | |
73 | | - | |
| 94 | + | |
74 | 95 | | |
75 | 96 | | |
76 | 97 | | |
| |||
101 | 122 | | |
102 | 123 | | |
103 | 124 | | |
104 | | - | |
| 125 | + | |
105 | 126 | | |
106 | 127 | | |
107 | 128 | | |
108 | 129 | | |
109 | | - | |
| 130 | + | |
110 | 131 | | |
111 | 132 | | |
112 | 133 | | |
| |||
123 | 144 | | |
124 | 145 | | |
125 | 146 | | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
126 | 158 | | |
127 | 159 | | |
128 | 160 | | |
| |||
146 | 178 | | |
147 | 179 | | |
148 | 180 | | |
149 | | - | |
150 | | - | |
| 181 | + | |
151 | 182 | | |
152 | | - | |
| 183 | + | |
153 | 184 | | |
154 | 185 | | |
155 | 186 | | |
156 | 187 | | |
157 | 188 | | |
158 | 189 | | |
159 | | - | |
160 | | - | |
161 | | - | |
162 | | - | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
163 | 208 | | |
164 | 209 | | |
165 | 210 | | |
| |||
168 | 213 | | |
169 | 214 | | |
170 | 215 | | |
171 | | - | |
| 216 | + | |
| 217 | + | |
172 | 218 | | |
173 | 219 | | |
174 | 220 | | |
| |||
185 | 231 | | |
186 | 232 | | |
187 | 233 | | |
188 | | - | |
| 234 | + | |
| 235 | + | |
189 | 236 | | |
190 | 237 | | |
191 | 238 | | |
| |||
207 | 254 | | |
208 | 255 | | |
209 | 256 | | |
210 | | - | |
| 257 | + | |
| 258 | + | |
211 | 259 | | |
212 | 260 | | |
213 | 261 | | |
| |||
223 | 271 | | |
224 | 272 | | |
225 | 273 | | |
226 | | - | |
| 274 | + | |
227 | 275 | | |
228 | 276 | | |
229 | | - | |
230 | | - | |
231 | | - | |
232 | | - | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
239 | | - | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
240 | 289 | | |
241 | 290 | | |
242 | 291 | | |
| |||
256 | 305 | | |
257 | 306 | | |
258 | 307 | | |
259 | | - | |
| 308 | + | |
260 | 309 | | |
261 | | - | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
262 | 314 | | |
263 | 315 | | |
264 | | - | |
| 316 | + | |
265 | 317 | | |
266 | 318 | | |
267 | 319 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
| 59 | + | |
59 | 60 | | |
60 | 61 | | |
61 | 62 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
320 | 320 | | |
321 | 321 | | |
322 | 322 | | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
323 | 448 | | |
324 | 449 | | |
325 | 450 | | |
| |||
0 commit comments