James Clampffer created HDFS-12134:
--------------------------------------
Summary: libhdfs++: Add a synchronization interface for the GSSAPI
Key: HDFS-12134
URL: https://issues.apache.org/jira/browse/HDFS-12134
Project: Hadoop HDFS
Issue Type: Sub-task
Reporter: James Clampffer
Assignee: James Clampffer
Bits of the GSSAPI that Cyrus Sasl uses aren't thread safe. There needs to be
a way for a client application to share a lock with this library in order to
prevent race conditions. It can be done using event callbacks through the C
API but we can provide something more robust (RAII) in the C++ API.
Proposed client supplied lock, pretty much the C++17 lockable concept. Use a
default if one isn't provided. This would be scoped at the process level since
it's unlikely that multiple instances of libgssapi unless someone puts some
effort in with dlopen/dlsym.
{code}
class LockProvider
{
virtual ~LockProvider() {}
// allow client application to deny access to the lock
virtual bool try_lock() = 0;
virtual void unlock() = 0;
}
{code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]