[rrd-developers] rrd_open.c: mremap not portable, /trunk build broken
kevin brintnall
kbrint at rufus.net
Tue Oct 14 23:53:52 CEST 2008
r1601 breaks the build in /trunk on FreeBSD, Solaris, and probably others:
rrd_open.c: In function 'rrd_write':
rrd_open.c:571: warning: implicit declaration of function 'mremap'
rrd_open.c:571: warning: nested extern declaration of 'mremap'
rrd_open.c:571: error: 'MREMAP_MAYMOVE' undeclared (first use in this function)
rrd_open.c:571: error: (Each undeclared identifier is reported only once
rrd_open.c:571: error: for each function it appears in.)
rrd_open.c:571: warning: assignment makes pointer from integer without a cast
The manual page on Linux states:
mremap() uses the Linux page table scheme. mremap() changes the mapping
between virtual addresses and memory pages. This can be used to
implement a very efficient realloc().
...
This call is Linux-specific, and should not be used in programs intended
to be portable. 4.2BSD had a (never actually implemented) mremap(2) call
with completely different semantics.
Tobi, can you revert this change?
Maybe Daniel can re-implement it in terms of realloc?
--
kevin brintnall =~ /kbrint at rufus.net/
More information about the rrd-developers
mailing list