4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-01-20 21:39:21 +08:00
Corinna Vinschen 7c963c7ba0 Cygwin: sigproc: Allow more child processes per process
256 children per process is a bit tight in some scenarios.

Fix this by revamping the `procs' array.  Convert it to an
extensible class child_procs and rename procs to chld_procs.
Fix code throughout to use matching class methods rather than
direct access.

To allow a lot more child processes while trying to avoid
allocations at DLL startup, maintain two arrays within class
child_procs, one using a default size for 255 (i686) or 1023
(x86_64) children, the other, dynamically allocated on overflowing
the first array, giving room for another 1023 (i686) or 4095
(x86_64) processes.

On testing with a simple reproducer on a x86_64 machine with
4 Gigs RAM, a system memory overflow occured after forking
about 1450 child processes, so this simple dynamic should
suffice for a while.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2020-08-28 15:22:58 +02:00
..
2020-08-22 13:43:46 +02:00
2020-05-30 19:41:18 +02:00
2020-05-26 10:22:41 +02:00
2016-06-25 00:43:01 +02:00
2019-10-23 10:05:42 +02:00
2019-10-23 10:05:42 +02:00
2018-02-20 17:59:53 +01:00
2020-08-28 11:10:48 +02:00
2017-03-27 22:03:58 +01:00
2015-08-17 11:05:43 +02:00
2020-08-28 11:10:48 +02:00
2018-04-16 22:46:11 -05:00
2018-02-07 13:07:44 +01:00
2020-08-28 11:10:48 +02:00
2019-06-25 15:44:43 -04:00
2019-06-25 15:44:43 -04:00
2019-07-19 14:14:33 -04:00
2020-07-01 20:30:52 +02:00