diff options
Diffstat (limited to 'winsup/cygwin/fork.cc')
-rw-r--r-- | winsup/cygwin/fork.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/winsup/cygwin/fork.cc b/winsup/cygwin/fork.cc index 6911da5cd..cdaaca649 100644 --- a/winsup/cygwin/fork.cc +++ b/winsup/cygwin/fork.cc @@ -580,6 +580,11 @@ fork () { hold_everything held_everything (ischild); + /* This tmp_pathbuf constructor is required here because the below setjmp + magic will otherwise not restore the original buffer count values in + the thread-local storage. A process forking too deeply will run into + the problem to be out of temporary TLS path buffers. */ + tmp_pathbuf tp; if (!held_everything) { |