X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/855b9ce0001bf131c3b17b00593bfe0da0fb3d6b..d642db66a5efc82d374b813022c72ba88bc50839:/include/wx/msgqueue.h diff --git a/include/wx/msgqueue.h b/include/wx/msgqueue.h index eaf64c05ae..5a66fc82c7 100644 --- a/include/wx/msgqueue.h +++ b/include/wx/msgqueue.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: wx/thread.h +// Name: wx/msqqueue.h // Purpose: Message queues for inter-thread communication // Author: Evgeniy Tarassov // Created: 2007-10-31 @@ -72,6 +72,22 @@ public: return wxMSGQUEUE_NO_ERROR; } + // Remove all messages from the queue. + // + // This method is meant to be called from the same thread(s) that call + // Post() to discard any still pending requests if they became unnecessary. + wxMessageQueueError Clear() + { + wxCHECK( IsOk(), wxMSGQUEUE_MISC_ERROR ); + + wxMutexLocker locker(m_mutex); + + std::queue empty; + std::swap(m_messages, empty); + + return wxMSGQUEUE_NO_ERROR; + } + // Wait no more than timeout milliseconds until a message becomes available. // // Setting timeout to 0 is equivalent to an infinite timeout. See Receive().