diff --git a/README.md b/README.md index 58d8781..9fa5883 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # Suo [![Build Status](https://travis-ci.org/nickelser/suo.svg?branch=master)](https://travis-ci.org/nickelser/suo) [![Code Climate](https://codeclimate.com/github/nickelser/suo/badges/gpa.svg)](https://codeclimate.com/github/nickelser/suo) [![Test Coverage](https://codeclimate.com/github/nickelser/suo/badges/coverage.svg)](https://codeclimate.com/github/nickelser/suo) [![Gem Version](https://badge.fury.io/rb/suo.svg)](http://badge.fury.io/rb/suo) -:lock: Distributed locks using Memcached or Redis in Ruby. +:lock: Distributed semaphores using Memcached or Redis in Ruby. -Suo provides a very performant distributed lock solution using Compare-And-Set (`CAS`) commands in Memcached, and `WATCH/MULTI` in Redis. It allows locking both single exclusion (a mutex - sharing one resource), and multiple resources. +Suo provides a very performant distributed lock solution using Compare-And-Set (`CAS`) commands in Memcached, and `WATCH/MULTI` in Redis. It allows locking both single exclusion (like a mutex - sharing one resource), as well as multiple resources. ## Installation @@ -70,10 +70,6 @@ suo.lock("foo") do |lock| end ``` -## Semaphore - -With multiple resources, Suo acts like a semaphore, but is not strictly a semaphore according to the traditional definition, as the lock acquires ownership. - ## TODO - more race condition tests diff --git a/suo.gemspec b/suo.gemspec index 542de89..917c258 100644 --- a/suo.gemspec +++ b/suo.gemspec @@ -10,7 +10,7 @@ Gem::Specification.new do |spec| spec.email = ["nick.elser@gmail.com"] spec.summary = %q(Distributed locks using Memcached or Redis.) - spec.description = %q(Distributed locks using Memcached or Redis.) + spec.description = %q(Distributed locks (mutexes & semaphores) using Memcached or Redis.) spec.homepage = "https://github.com/nickelser/suo" spec.license = "MIT"