<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,7 +1,26 @@
 2008-09-06
+       * Display error status on listen failures (Dormando)
 
        * Remove managed instance code. Incomplete/etc. (Dormando)
 
+          * Handle broken IPV6 stacks better (Brian Aker)
+
+          * Generate warnings on setsockopt() failures (Brian Aker)
+
+          * Fix some indentation issues (Brian Aker)
+
+          * UDP/TCP can be disabled by setting their port to zero (Brian Aker)
+
+          * Zero out libevent thread structures before use (Ricky Zhou)
+
+          * New stat: Last accessed time for last evicted item per slab class.
+            (Dormando)
+
+          * Use a dedicated socket accept thread (Facebook)
+
+          * Add -R option. Limit the number of requests processed by a connection
+            at once. Prevents starving other threads if bulk loading. (Facebook)
+
 2008-07-29 [Version 1.2.6 released]
 
 2008-07-24 [Version 1.2.6-rc1 released]</diff>
      <filename>ChangeLog</filename>
    </modified>
    <modified>
      <diff>@@ -41,3 +41,4 @@ Dormando &lt;dormando@rydia.net&gt;
 Dustin Sallings &lt;dustin@spy.net&gt;
 Chris Goffinet &lt;goffinet@yahoo-inc.com&gt;
 Tomash Brechko &lt;tomash.brechko@gmail.com&gt;
+Brian Aker &lt;brian@tangent.org&gt;</diff>
      <filename>doc/CONTRIBUTORS</filename>
    </modified>
    <modified>
      <diff>@@ -423,6 +423,9 @@ number                 Number of items presently stored in this class. Expired
 age                    Age of the oldest item in the LRU.
 evicted                Number of times an item had to be evicted from the LRU
                        before it expired.
+evicted_time           Seconds since the last access for the most recent item
+                       evicted from this class. Use this to judge how
+                       recently active your evicted data is.
 outofmemory            Number of times the underlying slab class was unable to
                        store a new item. This means you are running with -M or
                        an eviction failed.</diff>
      <filename>doc/protocol.txt</filename>
    </modified>
    <modified>
      <diff>@@ -3956,9 +3956,12 @@ int main (int argc, char **argv) {
 
     /* create unix mode sockets after dropping privileges */
     if (settings.socketpath != NULL) {
+        errno = 0;
         if (server_socket_unix(settings.socketpath,settings.access)) {
           fprintf(stderr, &quot;failed to listen on UNIX socket: %s\n&quot;,
                   settings.socketpath);
+          if (errno != 0)
+              perror(&quot;socket listen&quot;);
           exit(EXIT_FAILURE);
         }
     }
@@ -3966,9 +3969,11 @@ int main (int argc, char **argv) {
     /* create the listening socket, bind it, and init */
     if (settings.socketpath == NULL) {
         int udp_port;
-
+        errno = 0;
         if (settings.port &amp;&amp; server_socket(settings.port, negotiating_prot)) {
             fprintf(stderr, &quot;failed to listen on TCP port %d\n&quot;, settings.port);
+            if (errno != 0)
+                perror(&quot;tcp listen&quot;);
             exit(EXIT_FAILURE);
         }
 
@@ -3981,8 +3986,11 @@ int main (int argc, char **argv) {
         udp_port = settings.udpport ? settings.udpport : settings.port;
 
         /* create the UDP listening socket and bind it */
+        errno = 0;
         if (settings.udpport &amp;&amp; server_socket(settings.udpport, ascii_udp_prot)) {
             fprintf(stderr, &quot;failed to listen on UDP port %d\n&quot;, settings.udpport);
+            if (errno != 0)
+                perror(&quot;udp listen&quot;);
             exit(EXIT_FAILURE);
         }
     }</diff>
      <filename>memcached.c</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>a700e9c96e27b3e3d53fe302a860e870971e4097</id>
    </parent>
  </parents>
  <author>
    <name>dormando</name>
    <email>dormando@rydia.net</email>
  </author>
  <url>http://github.com/tmaesaka/memcached/commit/b2943f4076d4758df3c3b41a6b12d2a28f5efc5b</url>
  <id>b2943f4076d4758df3c3b41a6b12d2a28f5efc5b</id>
  <committed-date>2009-01-03T00:09:11-08:00</committed-date>
  <authored-date>2008-09-30T01:54:24-07:00</authored-date>
  <message>Report various listen failures, Updated Changelog/CONTRIBUTORS and Protocol Document.</message>
  <tree>0b5e14068f20ff20d6ba93fe3a77d8d307fe42d5</tree>
  <committer>
    <name>Dustin Sallings</name>
    <email>dustin@spy.net</email>
  </committer>
</commit>
