Re: [Boost-users] Annoying compiler warnings in asio/error.hpp
What you describe here is the opposite of what is stated in the lib. As far as I understand the author's intention by declaring a global variable static: introdcution of an own copy of this var in each compilation unit.
The author just wanted a constant which you ask for a name/message. Actually the variable ssl_category is not used anywhere. They call get_ssl_category() which has a static function variable. That is another good trick to create a global variable which exists in all compilation scopes. Code like this in a header will generate on instance of X shared between compilation scopes. Class X{} inline X& getOneAndOnlyX(){ static X x; return x; } Anyways I'm guessing you could just kick ssl_category. I can't find these constants documented anywhere in the reference. ssl_category isn't used in tests. Some of the others are used, but since they are the same as what the inline functions would return. Perhaps the author was afraid in a multi threaded environment functions like getOneAndOnlyX() aren't safe. I know gcc by default generates atomic ops so only one X is constructed. Perhaps the idea was to ensure all these things were created before main() gets a chance to start threads. I don't have a checkout. Maybe someone could svn blame the file and find out who defined these things and ask them what they were thinking. Chris
participants (1)
-
Hite, Christopher