Session cache interface redesign, Part 6:
Move mutex handling up out of the session cache providers: * modules/ssl/ssl_private.h (modssl_sesscache_provider): Add name and flags fields. Define MODSSL_SESSCACHE_FLAG_NOTMPSAFE constant. * modules/ssl/ssl_scache.c (ssl_scache_store, ssl_scache_retrieve, ssl_scache_remove, ssl_ext_status_hook): Lock and release the mutex around provider calls, if necessary. * modules/ssl/ssl_engine_mutex.c (ssl_mutex_init): Do nothing if no session cache is configured, or the session cache does not require a mutex. Otherwise, fail if no mutex is configured and the session cache *does* require a mutex. (ssl_mutex_on, ssl_mutex_off): Remove checks for mutex mode; functions now invoked only if necessary. * modules/ssl/ssl_scache_dc.c, modules/ssl/ssl_scache_memcache: Set name and flags fields in provider structures. * modules/ssl/ssl_scache_shmcb.c, modules/ssl_scache_dbm.c: Remove mutex handling through; set name and flags fields in provider structures; mark both as unsafe for concurrent access in flags. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@631297 13f79535-47bb-0310-9956-ffa450edef68
parent
e28454a1
Please register or sign in to comment