while checking for missing prototypes I just came over this in apr_thread_proc.h:
#if APR_HAVE_STRUCT_RLIMIT
/**
 * Set the Resource Utilization limits when starting a new process.
 * @param attr The procattr we care about.
 * @param what Which limit to set, one of:
 * <PRE>
 *                 APR_LIMIT_CPU
 *                 APR_LIMIT_MEM
 *                 APR_LIMIT_NPROC
 *                 APR_LIMIT_NOFILE
 * </PRE>
 * @param limit Value to set the limit to.
 */
APR_DECLARE(apr_status_t) apr_procattr_limit_set(apr_procattr_t *attr,
                                                apr_int32_t what,
                                                struct rlimit *limit);
#endif

so the public API changes depending on APR_HAVE_STRUCT_RLIMIT which I think is wrong; we need to remove the ifdef and all platforms which have APR_HAVE_STRUCT_RLIMIT=0 need to provide a stub like in beos/proc.c: APR_DECLARE(apr_status_t) apr_procattr_limit_set(apr_procattr_t *attr, apr_int32_t what,
                                                  void *limit)
{
    return APR_ENOTIMPL;
}

it seems that this stub is missing for win32 and os/2 ...

unfortunately this is a very old add, so it affects all APR versions:
http://svn.apache.org/viewvc/apr/apr/trunk/include/apr_thread_proc.h?r1=60147&r2=60146&pathrev=60147

comments?

Gün.


Reply via email to