app/code/community/Nexcessnet/Turpentine/Model/Observer/Varnish.php
public function fixCmRedisSessionLocks($eventObject) {
        if (Mage::helper('core')->isModuleEnabled('Cm_RedisSession')) {
            if ( ! empty($_COOKIE['frontend']) && 'crawler-session' == $_COOKIE['frontend'] &&
                    ! defined('CM_REDISSESSION_LOCKING_ENABLED')) {
                define('CM_REDISSESSION_LOCKING_ENABLED', false);
            }
        }
    }
public function fixCmRedisSessionLocks($eventObject) {
        if (Mage::helper('core')->isModuleEnabled('Cm_RedisSession')) {
            if ( ! empty($_COOKIE['frontend']) && 'crawler-session' == $_COOKIE['frontend'] &&
                    ! defined('CM_REDISSESSION_LOCKING_ENABLED')) {
                define('CM_REDISSESSION_LOCKING_ENABLED', false);
            }
        }
    }
public function fixCmRedisSessionLocks ( $ eventObject ) { if ( Mage :: helper ( 'core' ) -> isModuleEnabled ( 'Cm_RedisSession' ) ) { if ( ! empty ( $ _COOKIE [ 'frontend' ] ) && 'crawler-session' == $ _COOKIE [ 'frontend' ] && ! defined ( 'CM_REDISSESSION_LOCKING_ENABLED' ) ) { define ( 'CM_REDISSESSION_LOCKING_ENABLED' , false ) ; } } }
Turpentine sets the fake cookie 'frontend=crawler-session' when a crawler is detected.
This causes lock problems with Cm_RedisSession, because all crawler hits are requesting the same session lock.
Cm_RedisSession provides the define CM_REDISSESSION_LOCKING_ENABLED to overrule if locking should be enabled.

@param $eventObject
@return null
Turpentine sets the fake cookie frontend = crawler - session when a crawler is detected . This causes lock problems with Cm_RedisSession because all crawler hits are requesting the same session lock . Cm_RedisSession provides the define CM_REDISSESSION_LOCKING_ENABLED to overrule if locking should be enabled .