> On Apr 23, 2020, at 11:03 AM, John Cowan <xxxxxx@ccil.org> wrote: > > Is it intentional that both the per-process umask and the per-thread umask are applied? Yes it is intentional. However I’m interested in discussing if this is a good idea or not. To me the process umask is the principal inhibitor of permissions on files created by the process. Thread specific umasks indicate supplemental inhibitions. In the use cases I know, the user sets the umask from the shell to make sure the subprocesses won’t create files with overly permissive permissions. So maybe this is a good motivation for having (set-umask perms) that changes the process umask. On the other hand, in the interest of separating the Scheme level abstraction and POSIX, it might be best to have a “global umask” separate from the process umask but initialized from it at program start, and a way to set the global umask. Marc