Hi!
It’s look like QNXRTP don’t support getrlimit() function fully. Is anybody
knows ‘correct’ values for RLIMIT_STACK, RLIMIT_CORE, RLIMIT_NOFILES and
RLIMIT_DATA parameters on RTP? On what these values depends?
Hi!
It’s look like QNXRTP don’t support getrlimit() function fully. Is anybody
knows ‘correct’ values for RLIMIT_STACK, RLIMIT_CORE, RLIMIT_NOFILES and
RLIMIT_DATA parameters on RTP? On what these values depends?
getrlimit() is advertized but not supported.
STACK is demand-paged, so I think limit is fairly large.
DATA probably doesn’t have hard limit but I doubt it can be more than
your RAM currently.
CORE is probably limited by 2Gb since that’s limitation of write().
NOFILES can be obtained from sysconf().
getrlimit() is advertized but not supported.
STACK is demand-paged, so I think limit is fairly large.
DATA probably doesn’t have hard limit but I doubt it can be more than
your RAM currently.
RAM? i think it can’t be more, than free (physical) memory… if DATA not
paged.
probably, it’s safe to set this 2 values (STACK and DATA) to RLIM_INFINITY,
or there is some method to determine DATA?
return an amount of free memory does not approach, as there are other
processes…
CORE is probably limited by 2Gb since that’s limitation of write().
or free hard disk space?
as i understand, if this value is zero core file not created?
NOFILES can be obtained from sysconf().
again thanks, i have ported BIND 9.1.1 under RTP…
Leo.
getrlimit() is advertized but not supported.
STACK is demand-paged, so I think limit is fairly large.
DATA probably doesn’t have hard limit but I doubt it can be more than
your RAM currently.
RAM? i think it can’t be more, than free (physical) memory… if DATA not
paged.
probably, it’s safe to set this 2 values (STACK and DATA) to
RLIM_INFINITY,
or there is some method to determine DATA?
return an amount of free memory does not approach, as there are other
processes…
CORE is probably limited by 2Gb since that’s limitation of write().
or free hard disk space?
as i understand, if this value is zero core file not created?
NOFILES can be obtained from sysconf().
again thanks, i have ported BIND 9.1.1 under RTP…
Leo.
getrlimit() is advertized but not supported.
STACK is demand-paged, so I think limit is fairly large.
DATA probably doesn’t have hard limit but I doubt it can be more than
your RAM currently.
RAM? i think it can’t be more, than free (physical) memory… if DATA not
paged.
probably, it’s safe to set this 2 values (STACK and DATA) to RLIM_INFINITY,
or there is some method to determine DATA?
return an amount of free memory does not approach, as there are other
processes…
CORE is probably limited by 2Gb since that’s limitation of write().
or free hard disk space?
as i understand, if this value is zero core file not created?
NOFILES can be obtained from sysconf().
again thanks, i have ported BIND 9.1.1 under RTP…
Leo.
Ohh, You got this Bind port availible for the public somewhere?
Ohh, You got this Bind port availible for the public somewhere?
It’s too simple, you can do it yourself…
create entry in config.guess file (i do it manualy, probably it’s useful
use autoconf)
RTP have some ipv6 structure, but BIND use other definition, so you need
to insert something like #define in6_addr ipv6_in6_addr
before ‘struct in6_addr {’ in lib/lwres/include/lwres/ipv6.h and
isc/include/isc/ipv6.h files
BIND uses mutex named ‘lock’, but RTP defines function ‘lock’. So, you
need to insert something like #define lock _lock
before ‘static isc_mutex_t lock;’ definition in lib/isc/result.c
in file lib/isc/unix/resource.c in function ‘isc_resource_getlimit()’ you
need to do something after ‘getrlimit()’ and before
‘INSIST(unixresult == 0);’ because RTP doesn’t support getrlimit() fully (as
menthioned above). So, you need to set ‘*value’ variable to some values (or
ignore it, as Igor says, but i don’t check it). BIND call this function with
‘unixresource’ set to RLIMIT_CORE, RLIMIT_STACK, RLIMIT_NOFILES,
RLIMIT_DATA, and you need check if ‘unixresult’ is -1 (error occured) and
set ‘*value’ variable to appropriate values.
BIND is perfectly writen, it’s self-containing, but i do NOT check if it’s
fully working. I already have test version on P150 with 48Mb, as tests show
BIND on RTP two times slowly then HP NetServer LD Pro (native Windows NT 4.0
DNS, P200 pro, 256 MB RAM), it’s expected result.
PS: i complile BIND with gcc with 48Mb RAM, but nor 16Mb nor 32Mb - it’s too
low. hope nothing forget…
Ohh, You got this Bind port availible for the public somewhere?
It’s too simple, you can do it yourself…
create entry in config.guess file (i do it manualy, probably it’s useful
use autoconf)
RTP have some ipv6 structure, but BIND use other definition, so you need
to insert something like #define in6_addr ipv6_in6_addr
before ‘struct in6_addr {’ in lib/lwres/include/lwres/ipv6.h and
isc/include/isc/ipv6.h files
BIND uses mutex named ‘lock’, but RTP defines function ‘lock’. So, you
need to insert something like #define lock _lock
before ‘static isc_mutex_t lock;’ definition in lib/isc/result.c
in file lib/isc/unix/resource.c in function ‘isc_resource_getlimit()’ you
need to do something after ‘getrlimit()’ and before
‘INSIST(unixresult == 0);’ because RTP doesn’t support getrlimit() fully (as
menthioned above). So, you need to set ‘*value’ variable to some values (or
ignore it, as Igor says, but i don’t check it). BIND call this function with
‘unixresource’ set to RLIMIT_CORE, RLIMIT_STACK, RLIMIT_NOFILES,
RLIMIT_DATA, and you need check if ‘unixresult’ is -1 (error occured) and
set ‘*value’ variable to appropriate values.
BIND is perfectly writen, it’s self-containing, but i do NOT check if it’s
fully working. I already have test version on P150 with 48Mb, as tests show
BIND on RTP two times slowly then HP NetServer LD Pro (native Windows NT 4.0
DNS, P200 pro, 256 MB RAM), it’s expected result.
PS: i complile BIND with gcc with 48Mb RAM, but nor 16Mb nor 32Mb - it’s too
low. hope nothing forget…
Good luck, Leo.
Thanks alot for the guide, i never tried since i don’t want it that
much, just a cool thing on my poor 486 server
Maybe i’ll just try it now, thnx!
/Johan