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

@@ -33,7 +33,7 @@ public:
/* Data accessible to all tasks */
#define CURR_SHARED_MAGIC 0x3a6025edU
#define CURR_SHARED_MAGIC 0xc590e67eU
#define USER_VERSION 1
@@ -51,7 +51,7 @@ class shared_info
mtinfo mt;
loadavginfo loadavg;
LONG pid_src;
char prefer_forkable_hardlinks; /* single byte access always is atomic */
char forkable_hardlink_support; /* single byte access always is atomic */
void initialize ();
void init_obcaseinsensitive ();