summaryrefslogtreecommitdiffstats
path: root/src/daemon/comm_layer_inner.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/daemon/comm_layer_inner.cpp')
-rw-r--r--src/daemon/comm_layer_inner.cpp41
1 files changed, 6 insertions, 35 deletions
diff --git a/src/daemon/comm_layer_inner.cpp b/src/daemon/comm_layer_inner.cpp
index 9d5ddfc2..7cba1c9e 100644
--- a/src/daemon/comm_layer_inner.cpp
+++ b/src/daemon/comm_layer_inner.cpp
@@ -16,27 +16,16 @@
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#include <pthread.h>
-#include <map>
#include "abrtlib.h"
#include "CommLayerServerDBus.h"
#include "comm_layer_inner.h"
-typedef std::map<uint64_t, std::string> map_uint_str_t;
-static map_uint_str_t s_mapClientID;
-static pthread_mutex_t s_map_mutex;
-static bool s_map_mutex_inited;
+static char *client_name = NULL;
/* called via [p]error_msg() */
static void warn_client(const char *msg)
{
- uint64_t key = uint64_t(pthread_self());
-
- pthread_mutex_lock(&s_map_mutex);
- map_uint_str_t::const_iterator ki = s_mapClientID.find(key);
- const char* peer = (ki != s_mapClientID.end() ? ki->second.c_str() : NULL);
- pthread_mutex_unlock(&s_map_mutex);
-
+ const char* peer = client_name;
if (peer)
{
send_dbus_sig_Warning(msg, peer);
@@ -45,36 +34,18 @@ static void warn_client(const char *msg)
void init_daemon_logging(void)
{
- if (!s_map_mutex_inited)
- {
- s_map_mutex_inited = true;
- pthread_mutex_init(&s_map_mutex, NULL);
- g_custom_logger = &warn_client;
- }
+ g_custom_logger = &warn_client;
}
void set_client_name(const char *name)
{
- uint64_t key = uint64_t(pthread_self());
-
- pthread_mutex_lock(&s_map_mutex);
- if (!name) {
- s_mapClientID.erase(key);
- } else {
- s_mapClientID[key] = name;
- }
- pthread_mutex_unlock(&s_map_mutex);
+ free(client_name);
+ client_name = xstrdup(name);
}
void update_client(const char *fmt, ...)
{
- uint64_t key = uint64_t(pthread_self());
-
- pthread_mutex_lock(&s_map_mutex);
- map_uint_str_t::const_iterator ki = s_mapClientID.find(key);
- const char* peer = (ki != s_mapClientID.end() ? ki->second.c_str() : NULL);
- pthread_mutex_unlock(&s_map_mutex);
-
+ const char* peer = client_name;
if (!peer)
return;