* dcrt0.cc (get_cygwin_startup_info): Change zeros to DWORD array.
Expect first DWORD in child_info struct being set to non-zero if wincap.needs_count_in_si_lpres2 is set. Add comment to explain why. * fork.cc (frok::parent): Set ch.zero[0] to a sensible count value if wincap.needs_count_in_si_lpres2 is set. * spawn.cc (spawn_guts): Ditto. Add filler bytes after ch on stack to accomodate needs_count_in_si_lpres2. * wincap.h: Define needs_count_in_si_lpres2 throughout. * wincap.cc: Ditto.
This commit is contained in:
@@ -71,6 +71,7 @@ struct wincaps
|
||||
unsigned has_buggy_restart_scan : 1;
|
||||
unsigned has_mandatory_integrity_control : 1;
|
||||
unsigned needs_logon_sid_in_sid_list : 1;
|
||||
unsigned needs_count_in_si_lpres2 : 1;
|
||||
};
|
||||
|
||||
class wincapc
|
||||
@@ -148,6 +149,7 @@ public:
|
||||
bool IMPLEMENT (has_buggy_restart_scan)
|
||||
bool IMPLEMENT (has_mandatory_integrity_control)
|
||||
bool IMPLEMENT (needs_logon_sid_in_sid_list)
|
||||
bool IMPLEMENT (needs_count_in_si_lpres2)
|
||||
|
||||
#undef IMPLEMENT
|
||||
};
|
||||
|
Reference in New Issue
Block a user