#include "support/unicode.h"
#include "support/debug.h"
+#include "support/mutex.h"
#include <iconv.h>
#include <ostream>
#include <string>
+
using namespace std;
namespace {
iconv_t cd;
string tocode_;
string fromcode_;
+
+ Mutex mutex_; // iconv() is not thread save, see #7240
};
int IconvProcessor::convert(char const * buf, size_t buflen,
char * outbuf, size_t maxoutsize)
{
+ Mutex::Locker lock(&pimpl_->mutex_);
+
if (buflen == 0)
return 0;