#include "wx/defs.h"
-#include "wx/thread.h"
+#if wxUSE_THREADS
+ class WXDLLIMPEXP_FWD_BASE wxCriticalSection;
+#endif
// ----------------------------------------------------------------------------
// common constants for use in wxUSE_LOG/!wxUSE_LOG
#include "wx/arrstr.h"
+#ifndef __WXPALMOS5__
#ifndef __WXWINCE__
#include <time.h> // for time_t
#endif
+#endif // ! __WXPALMOS5__
#include "wx/dynarray.h"
#endif
// log a message indicating the number of times the previous message was
- // repeated; only does something if ms_prevCounter > 0
- static void LogLastRepetitionCountIfNeeded();
+ // repeated if ms_prevCounter > 0, does nothing otherwise; return the old
+ // value of ms_prevCounter
+ unsigned LogLastRepeatIfNeeded();
private:
+ // implement of LogLastRepeatIfNeeded(): it assumes that the
+ // caller had already locked ms_prevCS
+ unsigned LogLastRepeatIfNeededUnlocked();
+
// static variables
// ----------------
// with the number of times it was repeated
static bool ms_bRepetCounting;
- wxCRIT_SECT_DECLARE(ms_prevCS); // protects the ms_prev values below
+#if wxUSE_THREADS
+ static wxCriticalSection ms_prevCS; // protects the ms_prev values below
+#endif
static wxString ms_prevString; // previous message that was logged
static unsigned ms_prevCounter; // how many times it was repeated
static time_t ms_prevTimeStamp;// timestamp of the previous message