Comments (11)
What OS was this on?
from singleapplication.
Oh. Sorry, forgot that info. Linux. Fedora (Silverblue inside a distrobox) 39.
Update: but it's reproducible without a distrobox - so just take the Fedora 39.
from singleapplication.
@cajus There are significant problems with QSharedMemory
and QSystemSemaphore
in Qt 6.6. They changed the implementation for the worse. It may not be possible to mitigate the issue on our side.
I am working on a new implementation that doesn't use QSharedMemory
but it's not finished yet.
As a workaround you may try to delete it manually using ipcrm
. I'm sorry I can't be more helpful for the time being.
from singleapplication.
@itay-grudev - ak, ok. Thanks for the info!
from singleapplication.
Looks like the linphone guys worked around it by extending your code using DBus on linux for the time being: https://github.com/BelledonneCommunications/linphone-desktop/tree/master/linphone-app/src/app/single-application
from singleapplication.
@cajus That is indeed a clever way for implementing it in Linux, but I can't easily adapt it to Windows.
My WIP implementation right now is using QLocalSocket
s, where one instance becomes a QLocalServer
and becomes the primary. As long as something is listening on that socket - they become a primary and every other instance a secondary.
It looks promising so far, but I'm struggling to find the time to finish it.
from singleapplication.
firstly, many thanks to developer/contributors.
It is believed that the down stream bug, dail8859/NotepadNext#514 is related to this.
Some questions to consider. (re-included here from that issue description)
Q1) should the app, when run as root user, check to see if the desktop belongs to a user and create the shm-file with ownership of user, or maybe not?
Q2) should the app give a different filename to the shm-file per-User-per-Desktop in order to prevent name collision?
Q3) should the app give a better error message to inform the user as to how to correct the problem?
Q4) should the app delete the shm-file after the last user-process using it exits?
Q5) should the shm-file's filename have the string with the app's name in it, in order to clue the user that the file was created by the app.
from singleapplication.
I'll bump it up in my TODO list and see if I can allocate several hours to finish it.
from singleapplication.
Related Issues (20)
- Race condition (?) HOT 7
- Recording video has stuttering effect HOT 2
- ocr maybe error? HOT 1
- No primaryScreen property HOT 1
- QWidget: Cannot create a QWidget without QApplication HOT 4
- undefined reference to `SingleApplication::SingleApplication(int&, char**, bool, QFlags<SingleApplication::Mode>, int, QString const&)' HOT 5
- Long screenshot shortcuts cannot be changed(长截图快捷键无法更改) HOT 1
- Using QSharedMemory for SingleApplication might stop working as of Qt 6.6 HOT 8
- The new license might no longer be GPL-compatible HOT 14
- Restart application failed HOT 5
- key too long on macos HOT 10
- [Proposal] Never fail to launch app HOT 6
- wrong issue to wrong repo
- Could not find advapi32_LIBRARY using the following names: advapi32 HOT 2
- Define ownership of QSharedMemory* pointer HOT 1
- Check if d->attach() is successful HOT 1
- args_for_main.join( ) puts a separator on every space HOT 3
- Consider making SingleApplication as a hook HOT 1
- Randomly freeze in QSharedMemory::attach() which finally calls QSharedMemory::lock
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from singleapplication.