# HG changeset patch # User Matthew Wild # Date 1280596208 -3600 # Node ID a702c02caaccc3833fad3640e79a162c96c764dc # Parent 31e1af4738cb3ea8cea3921ea918623e1df4f7e1 Report errors from the underlying memcache library on set diff -r 31e1af4738cb -r a702c02caacc memcached.lua --- a/memcached.lua Sat Jul 31 18:08:25 2010 +0100 +++ b/memcached.lua Sat Jul 31 18:10:08 2010 +0100 @@ -45,8 +45,12 @@ received_buffer[#received_buffer+1] = data; if received_count >= bytes then received_buffer = table.concat(received_buffer); - cache:set(key, flags, exptime, received_buffer:sub(1,bytes)); - conn:send("STORED\r\n"); + local ok, err = cache:set(key, flags, exptime, received_buffer:sub(1,bytes)); + if ok then + conn:send("STORED\r\n"); + else + conn:send("SERVER_ERROR "..(err or "Unknown error").."\r\n"); + end conn:setlistener(memcached_listener); conn:set_mode("*l"); if received_count > bytes then