tox-dev/filelock

Update os.open to preserve mode= for certain edge cases.

jahrules opened this issue · 0 comments

Creating this new "issue" to better filter the discussion.

Originally posted by @TheMatt2 in #204 (comment)

Albeit, before this commit, the prior solution was not thread-safe which is not any better.
And you are right that so long as os.umask() is a reasonable value, there is no issue.

Before this change (I mean before the multi-user locks) you are right that setting os.umask(0) would give the locks 0o777 perms. The difference is, now that there is an explicit mode argument, there is now a situation where a user may think the lock will be securely and properly held, but then has an issue due to this moment between file creation and permission set.

However, I think that 0.1% case can be covered by passing self._mode to os.open() as well.
Just because its not "common" doesn't make it unimportant.

Perhaps this is better as a separate PR?