+2404. [port] hpux: files unlimited support.
+
+2403. [bug] TSIG context leak. [RT #18341]
+
2402. [port] Support Solaris 2.11 and over. [RT #18362]
2401. [bug] Expect to get E[MN]FILE errno internal_accept()
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: resource.c,v 1.12.944.3 2008/07/23 23:48:17 tbox Exp $ */
+/* $Id: resource.c,v 1.12.944.4 2008/07/28 22:44:46 marka Exp $ */
#include <config.h>
#include <linux/fs.h> /* To get the large NR_OPEN. */
#endif
+#ifdef __hpux
+#include <sys/dyntune.h>
+#endif
+
#include "errno2result.h"
static isc_result_t
if (unixresult == 0)
return (ISC_R_SUCCESS);
}
+#elif defined(__hpux)
+ if (resource == isc_resource_openfiles && rlim_value == RLIM_INFINITY) {
+ uint64_t maxfiles;
+ if (gettune("maxfiles_lim", &maxfiles) == 0) {
+ rl.rlim_cur = rl.rlim_max = maxfiles;
+ unixresult = setrlimit(unixresource, &rl);
+ if (unixresult == 0)
+ return (ISC_R_SUCCESS);
+ }
+ }
#endif
-
+ if (resource == isc_resource_openfiles && rlim_value == RLIM_INFINITY) {
+ if (getrlimit(unixresource, &rl) == 0) {
+ rl.rlim_cur = rl.rlim_max;
+ unixresult = setrlimit(unixresource, &rl);
+ if (unixresult == 0)
+ return (ISC_R_SUCCESS);
+ }
+ }
return (isc__errno2result(errno));
}