
In that case it could be as simple as a ulimit setting. man 3 ulimit. man 1 ulimit (bash). man 2 getrlimit.
This is extremely helpful - I had no idea of such limitations and I'm working on finding out what they are. Many thanks.
You should also ensure you code is handling malloc() and "new" failures appropriately.
This is a real problem because I'm dealing with lots of legacy code. Newer code correctly traps allocation errors using try/catch blocks, but a lot of legacy code uses incorrect constructs like "if (!(p = new P)) // handle allocation error". If I overload the new operator to handle allocation errors correctly I break the code that expects exceptions to be throw, if I don't, the application can core because of an unhandled exception. Many thanks Oliver!