| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
item key isn't necessarily null terminated. user submitted a patch for one,
this clears two more.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
It was previously possible to bypass authentication due to implicit
state management. Now we explicitly consider ourselves
unauthenticated on any new connections and authentication attempts.
bug316
Signed-off-by: Dustin Sallings <dustin@spy.net>
|
| |
|
|
|
|
|
|
| |
Previously the memcached could not respond to ipv6 udp packets correctly,
since the client's address was stored in a struct sockaddr (16 bytes on
linux) instead of a struct sockaddr_in6 (28 bytes).
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
this does leave an extra branch in.
|
| |
|
|
|
|
| |
when GCC is clang
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This patch adds a new stat "malloc_fails" that is a counter of how
many times malloc/realloc/calloc returned NULL when we _needed_ it to
return something else (resulting in closing the connection or something
like that). Conditions where we could live without malloc returning
a new chunk of memory is not tracked with this counter.
|
| |
|
| |
|
|
|
|
|
|
|
| |
fix t/binary.t test.
Default of 3 hours is super overkill. 1 hour is still way too much but within
realm of reason.
Bail if someone sets it really low (10s or negative)
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This change avoids a race condition where another application (e.g., testapp)
can read the memcached pid file after memcached opens it, but before
memcached writes the pid. It now writes the pid into a temporary file and then
renames that file to the correct pid file name. This way the pid file can not
exist without containing the correct value.
|
|
|
|
|
|
|
|
|
| |
Issue 261. If an update_event fails for case conn_new_cmd but no
more events happen on this socket, conn_closing will never be
processed.
Not sure if it's possible for this to happen, but it could
theoretically leak refcounts.
|
|
|
|
| |
Fixes issue 319
|
| |
|
| |
|
|\
| |
| | |
This adds the "shutdown" command to the server. This allows for better
|
| |
| |
| |
| | |
automation (at least,... I find that it makes for better automation).
|
|\ \
| |/
|/| |
Compile fails using enable-sasl-pwdb
|
|/
|
|
|
|
| |
* using --enable-sasl-pwdb will make the compile fail with:
sasl_defs.c:148:4: error: initialization from incompatible pointer type [-Werror]
|
|
|
|
| |
since reading the code is probably incredibly confusing now.
|
|
|
|
| |
freebsd9 is the only platform that apparently cares about this.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This doesn't reduce mutex contention much, if at all, for the global stats
lock, but it does remove a handful of instructions from the alloc hot path,
which is always worth doing.
Previous commits possibly added a handful of instructions for the loop and for
the bucket readlock trylock, but this is still faster than .14 for writes
overall.
|
|
|
|
|
|
|
|
|
|
| |
expansion requires switching to a global lock temporarily, so all buckets have
a covered read lock.
slab rebalancer is paused during hash table expansion.
internal item "trylocks" are always issued, and tracked as the hash power
variable can change out from under it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes a few issues with a restructuring... I think -M was broken before,
should be fixed now. It had a refcount leak.
Now walks up to five items from the bottom in case of the bottomost items
being item_locked, or refcount locked. Helps avoid excessive OOM errors for
some oddball cases. Those happen more often if you're hammering on a handful
of pages in a very large class size (100k+)
The hash item lock ensures that if we're holding that lock, no other thread
can be incrementing the refcount lock at that time. It will mean more in
future patches.
slab rebalancer gets a similar update.
|
|
|
|
| |
-pthread was added as part of setting up the gcov options
|
|
|
|
|
| |
use both #define's when using the spinlock version of our locks. not all locks
are designed to be that way, so this doesn't touch the whole thing.
|
|
|
|
| |
I dunno why it litters .orgs then tries to run them. I'm not a magician.
|
|
|
|
| |
fix warning in new gcc.
|
|
|
|
|
| |
I don't care why it happened, just don't whitespace check the README files
anymore.
|
| |
|
|
|
|
| |
I broke 'em earlier
|
| |
|
| |
|
|
|
|
| |
(http://code.google.com/p/memcached/issues/detail?id=275)
|
| |
|
|
|
|
|
|
|
| |
someone pointed out that cache_destroy wasn't freeing the cache_t pointer.
memcached itself never destroys a cache it creates, so this is fine, but it's
fixed for completeness...
|