diff --git a/src/apps/installer/CopyEngine.cpp b/src/apps/installer/CopyEngine.cpp index 9894ae926b..9537b53551 100644 --- a/src/apps/installer/CopyEngine.cpp +++ b/src/apps/installer/CopyEngine.cpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -52,6 +53,12 @@ CopyEngine::CopyEngine(const BMessenger& messenger, BMessage* message) if (fWriterThread >= B_OK) resume_thread(fWriterThread); + + // ask for a bunch more file descriptors so that nested copying works well + struct rlimit rl; + rl.rlim_cur = 512; + rl.rlim_max = RLIM_SAVED_MAX; + setrlimit(RLIMIT_NOFILE, &rl); }