#include "apue.h" #include <errno.h> #include <limits.h> #ifdef OPEN_MAX static long openmax = OPEN_MAX; #else static long openmax = 0; #endif #define OPEN_MAX_GUESS 256 long open_max(void) { if(openmax == 0){ errno = 0; if((openmax= sysconf(_SC_OPEN_MAX)) < 0){ if(errno == 0) openmax=OPEN_MAX_GUESS; else err_sys("sysconf error for _SC_OPEN_MAX"); } } return openmax; }