X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/855b9ce0001bf131c3b17b00593bfe0da0fb3d6b..a1b806b98241ab649c169aaa1f134df85e80fb8b:/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().