try this one now... :)
Brad Fitzpatrick
brad at danga.com
Tue Sep 5 04:55:26 UTC 2006
Eric,
http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/uio.h.html
"Traditionally, the maximum number of scatter/gather elements the system
can process in one call were described by the symbolic value
{UIO_MAXIOV}. In IEEE Std 1003.1-2001 this value is replaced by the
constant {IOV_MAX} which can be found in <limits.h>."
Do you have a UIO_MAXIOV defined on FreeBSD 4?
Otherwise, should we just hard-code "10" or something?
- Brad
On Mon, 4 Sep 2006, Eric Hodel wrote:
> On Sep 4, 2006, at 6:45 PM, Brad Fitzpatrick wrote:
>
> > FreeBSD / Solaris users,
> >
> > Could you try this one?
> >
> > http://danga.com/memcached/dist/experimental/memcached-1.2.x-
> > svn362.tar.gz
>
> Its good on FreeBSD 5.4 x86, FreeBSD 6.0 amd64 and FreeBSD 6.1 x86
>
> Still not compiling on FreeBSD 4.
>
> --- memcached.c.old Mon Sep 4 18:42:07 2006
> +++ memcached.c Mon Sep 4 21:11:28 2006
> @@ -23,6 +23,7 @@
> #include <sys/un.h>
> #include <sys/signal.h>
> #include <sys/resource.h>
> +#include <sys/uio.h>
> /* some POSIX systems need the following definition
> * to get mlockall flags out of sys/mman.h. */
> #ifndef _P1003_1B_VISIBLE
> @@ -584,8 +585,9 @@
> int comm = c->item_comm;
> item *old_it;
> int delete_locked = 0;
> - stats.set_cmds++;
> char *key = ITEM_key(it);
> +
> + stats.set_cmds++;
> if (strncmp(ITEM_data(it) + it->nbytes - 2, "\r\n", 2) != 0) {
> out_string(c, "CLIENT_ERROR bad data chunk");
>
> That patch fixes everything except:
>
> $ make
> make all-recursive
> Making all in doc
> cd .. && /bin/sh ./config.status doc/Makefile
> config.status: creating doc/Makefile
> source='memcached.c' object='memcached.o' libtool=no depfile='.deps/
> memcached.Po' tmpdepfile='.deps/memcached.TPo' depmode=gcc /usr/
> local/bin/bash ./depcomp gcc -DHAVE_CONFIG_H -I. -I. -I. -I/usr/
> local/include -g -O2 -c `test -f 'memcached.c' || echo './'`memcached.c
> In file included from memcached.c:53:
> /usr/include/malloc.h:2: warning: #warning "this file includes
> <malloc.h> which is deprecated, use <stdlib.h> instead"
> memcached.c: In function `add_iov':
> memcached.c:484: `IOV_MAX' undeclared (first use in this function)
> memcached.c:484: (Each undeclared identifier is reported only once
> memcached.c:484: for each function it appears in.)
> *** Error code 1
>
> Stop in /usr/home/eric/memcached-1.2.x-svn362.
> *** Error code 1
>
> Stop in /usr/home/eric/memcached-1.2.x-svn362.
> *** Error code 1
>
> Stop in /usr/home/eric/memcached-1.2.x-svn362.
>
> I can't find an IOV_MAX (or equivalent) in FreeBSD 4's /usr/include
> that's exposed in the userland.
>
> --
> Eric Hodel - drbrain at segment7.net - http://blog.segment7.net
> This implementation is HODEL-HASH-9600 compliant
>
> http://trackmap.robotcoop.com
>
>
>
More information about the memcached
mailing list