On 27/04/17 11:20, Alex Rousskov wrote:
On 04/26/2017 07:01 AM, Amos Jeffries wrote:
+#if USE_OPENSSL // while Ssl:: bits in use
+static const char *SessionCacheName = "tls_session_cache";
+static Ipc::MemMap *SessionCache = nullptr;
+#endif
What does the above comment mean? I could not guess based on a few other
occurrences of the same comment, and I do not see any "Ssl::" bits in
the above code.
Oops, just me missing that after copying the functions that used these
globals over. Will remove before commit.
+ if (auto *slotW = SessionCache->openForWriting((const cache_key*)key,
pos)) {
In general, I recommend removing "*" after "auto" because the condition
and the code protected by it does not care whether the variable is a raw
pointer, a smart pointer, or (in some cases) something else with a
to-boolean conversion.
Okay, good point.
"auto" needs "const" and "&" but not "*".
FYI: that statement does not match my experiences with auto in the
general case. I have in the past omitted these sugar type details and
found that the compiler picked to use the object copy-assignment to
duplicate the object into the 'auto' variable. That may just have been
compiler bugs, but is a nasty one anyway. So I prefer to only replace
the type name with auto to ensure that implicit conversions are kept to
minimal or performant ones and the nature of the variable remains
visible to us reading it.
Amos
_______________________________________________
squid-dev mailing list
squid-dev@lists.squid-cache.org
http://lists.squid-cache.org/listinfo/squid-dev