thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bud Bundy (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (THRIFT-1748) Guard and RWGuard macros defined in global namespace
Date Wed, 07 Nov 2012 16:07:13 GMT

    [ https://issues.apache.org/jira/browse/THRIFT-1748?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13492455#comment-13492455
] 

Bud Bundy commented on THRIFT-1748:
-----------------------------------

{code}
Index: Mutex.h
===================================================================
--- Mutex.h	(revision 1406661)
+++ Mutex.h	(working copy)
@@ -183,15 +183,6 @@
     const ReadWriteMutex& rw_mutex_;
 };
 
-
-// A little hack to prevent someone from trying to do "Guard(m);"
-// Such a use is invalid because the temporary Guard object is
-// destroyed at the end of the line, releasing the lock.
-// Sorry for polluting the global namespace, but I think it's worth it.
-#define Guard(m) incorrect_use_of_Guard(m)
-#define RWGuard(m) incorrect_use_of_RWGuard(m)
-
-
 }}} // apache::thrift::concurrency
 
 #endif // #ifndef _THRIFT_CONCURRENCY_MUTEX_H_
{code}
                
> Guard and RWGuard macros defined in global namespace
> ----------------------------------------------------
>
>                 Key: THRIFT-1748
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1748
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.9
>         Environment: Visual Studio 2010
>            Reporter: Bud Bundy
>            Priority: Trivial
>              Labels: newbie, patch
>
> thrift/concurrency/Mutex.h defines global macros Guard and RWGuard.  Although the purpose
is well commented and appreciated - i.e. trying to prevent coders from creating temporary
variables and falsely assuming they have a lock - this code does interfere with other packages
that define their own Guard classes.  Even when the user/library define Guard in their own
namespace, there's a clash.
> Please remove the macros.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message