in reply to resource control: FD
A coworker ran into a problem where he was creating socket connections in an eval block with an alarm() to time them out if he didn't receive a response in a certain time period. It worked really really well, he was able to speed up his code by huge amounts. Until he inexplicably started running out of FD's.
It turned out that the FD's weren't being released after timing out of the eval block, so every time it timed out he accumulated another open FD that never went away (and they were being created implicitly inside perl, actually, so he didn't even have a handle to call close() on).
I'm not sure if this is at all related to your problem, but you might want to check on it. Most systems I've played with have the number of available FD's up in the thousands, so if you really only have a few hundred open, I'd think something weird is going on if you're getting errors.
Alan
|
|---|