forkables: simplify disabling via shm

* Rename cygwin_shared->prefer_forkable_hardlinks to
  forkable_hardlink_support, with values
  0 for Unknown, 1 for Supported, -1 for Unsupported.
  Upon first dll loaded ever, dll_list::forkable_ntnamesize checks the
  /var/run/cygfork directory to both exist and reside on NTFS, setting
  cygwin_shared->forkable_hardlink_support accordingly.
* Replace enum forkables_needs by bool forkables_created: Set
  to True by request_forkables after creating forkable hardlinks.
This commit is contained in:
Michael Haubenwallner
2017-03-01 10:19:37 +01:00
committed by Corinna Vinschen
parent 8bbb3d3a23
commit 135577f708
5 changed files with 65 additions and 148 deletions

View File

@@ -334,6 +334,7 @@ shared_info::initialize ()
NtAllocateLocallyUniqueId (&luid);/* Initialize pid_src to a low */
InterlockedExchange (&pid_src, /* random value to make start pid */
luid.LowPart % 2048);/* less predictably */
forkable_hardlink_support = 0; /* 0: Unknown, 1: Yes, -1: No */
/* Defer debug output printing the installation root and installation key
up to this point. Debug output except for system_printf requires
the global shared memory to exist. */