I have QMutex and QQueue as member in QThread based class. I'm locking QMutex (by QMutexLocker) in popEvent and pushEvent metods. When I lock it in push method called from main thread it works. When I call pop function from child thread loop it crashes on creating QMutexLock. Whats wrong? Should QMutex and QQueue be global or static? QThread based class is created on main thread heap (heap not stack).
Crash creating QMutexLocker from child QThread
457 Views Asked by patrykbajos At
1
There are 1 best solutions below
Related Questions in MULTITHREADING
- How can I outsource worker processes within a for loop?
- OpenMP & oneTbb difference
- Receiving Notifications for Individual Task Completion OmniThreadLibrary Parallel.ForEach
- C++ error: no matching member function for call to 'enqueue' futures.emplace_back(TP.enqueue(sum_plus_one, x, &M));
- How can I create a thread in Haskell that will restart if it gets killed due to any reason?
- Qt: running callback in the main thread from the worker thread
- Using `static` on a AVX2 counter function increases performance ~10x in MT environment without any change in Compiler optimizations
- Heap sort with multithreading
- windows multithreading CreateMutex
- The problem of "fine-grained locks and two-phase locking algorithm"
- OpenMP multi-threading not working if OpenMPI set to use one or two MPI processor
- WPF Windows Initializing is locking the separated thread in .Net 8
- TCP Client Losing Connection When Writing Data
- vc++ thread constructor throwing compiler error c2672
- ASP.NET Core 6 Web API : best way to pause before resending email
Related Questions in QT5
- module "QtNetwork" is not installed
- Qt Quick QML Unit Test linkage module not found/custom component 'not a type' error with createTemporaryQmlObject
- Securing/Hardening QtRemoteObjects server
- QCustomPlot scaling and re-positioning of all layers of the graph using the mouse
- Error installing Qt5 on Raspberry Pi 4 - Bullseye "Package qt5-default has no installation candidate"
- QTabWidget: Unable to create a label on the tabbar to display tab name
- Facing error in no matching function for call in qdbusabstractinterface
- Qt Addin: Attempt to add newer Qt version "There's no Qt version assigned to project"
- Linux QT-based applications are core dumping with IOT instruction (core dumped)
- Qt 5 project won't compile in Qt 6 despite core5compat and QT_DISABLE_DEPRECATED_BEFORE
- What is the IID in Q_PLUGIN_METADATA(IID "...") and why do I need it
- How to resolve Yocto build error for Glib-2.0 for Qt?
- How could I make a Expand All / Collapse All function for my custom QML TreeView?
- QGraphicsView and QSplitter: collapsing and unfolding area does not restore image
- Get undefined for receiving a signal with parameter from C++ in QML
Related Questions in QMUTEX
- How to block a thread until a slot is received
- How to use QMutex correctly with QThread?
- What is the difference between "thread and QThread" and "mutex and QMutex" in Python?
- Multipass totally broken on MacOS & multipassd error logs
- Do I need a QMutex for variable that is accessed by single statement?
- And odd use of conditional variable with local mutex
- QThread, two QTimer's and QMutex deadlock
- QMutex::lock() taken by same QThread several times consecutively
- QMutex locked by unknown thread
- How to fix "In Qt two timer to one function, use qmutex will qeventloop for sleep"
- QMutex: destroying locked mutex
- Is threading.Lock() compatible with QThread() and is QMutex() compatible with python threads?
- "Attempting to reference a deleted function" after adding QMutex to class
- Crash creating QMutexLocker from child QThread
- QTimer timeout and QMutex interaction
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
A mutex is "owned" by the thread that holds it. It cannot be released by another thread. You probably want a semaphore, not a mutex.