Message290102
It's a mess to write a test, because the exact semantics of .mkdir() are not defined as far as I can tell. This patch is a best-effort attempt at making .mkdir() work in the presence of common parallel filesystem changes, that is, other processes that would create the same directories at the same time.
This patch is by no means an attempt at being a complete solution for similar problems. The exact semantics have probably never been discussed at all. For example, what should occur if a parent directory is removed just after .mkdir() created it?
I'm not suggesting to discuss these issues now, but to simply leave them open. I'm trying instead to explain why writing a test is a mess (more than "just" creating another thread and creating/removing directories very fast while the main thread calls .mkdir()), because we have no exact notion of what should work and what shouldn't. |
|
Date |
User |
Action |
Args |
2017-03-24 17:45:12 | arigo | set | recipients:
+ arigo, berker.peksag, serhiy.storchaka, whitespacer |
2017-03-24 17:45:12 | arigo | set | messageid: <1490377512.81.0.825592904627.issue29694@psf.upfronthosting.co.za> |
2017-03-24 17:45:12 | arigo | link | issue29694 messages |
2017-03-24 17:45:12 | arigo | create | |
|