Comments (7)
Ref: fastfetch-cli/fastfetch#499
If I remove the dlclose
it won't crash
from ddcutil.
Thank you for the report. There had been vague assertions in the past about dlopen()/dlclose() not working. Your detailed report makes the locus of the problem obvious.
I have pushed the needed changes to branch 2.0.0-dev. For now trace messages are emitted unconditionally - that of course will change. More significantly, the termination function in the mainline sleeps for 4 seconds to allow for the sleep in the polling loop to complete, after which the polling loop checks if the terminate flag is set. Is this a problem for you? If so, the sleep duration in the polling loop could be decreased, increasing the frequency with with the loop checks for rare display hotplug events.
from ddcutil.
More significantly, the termination function in the mainline sleeps for 4 seconds to allow for the sleep in the polling loop to complete, after which the polling loop checks if the terminate flag is set. Is this a problem for you?
It's a serious problem for me. My program is performance sensitive and I don't want any delays. I'd rather not dlclose it and leak the memories.
I don't need watch
. My program should end in seconds. Can we have a flag / option to disable the watch thread?
from ddcutil.
Yes. Function ddca_init(), new in release 2.0.0, could be made to control whether watching for display hotplug events occurs, either through a flag on argument opts, or using the option string argument libopts. I need to think through which is better and what the defaults should be.
from ddcutil.
Function ddca_init() now recognizes strings "--enable-watch-displays" and "--disable-watch-displays" in its libopts string argument. Haven't decided yet what the default should be, but in any event if you specify "--disable-watch-displays" explicitly that will override the default. I have pushed the changes to branch 2.0.0-dev.
from ddcutil.
Why did you choose to use dlopen()/dlclose() instead of just linking to the shared library? Is it so that your program will execute even if the required version of libddcutil is not present, or is there some other reason?
from ddcutil.
Is it so that your program will execute even if the required version of libddcutil is not present?
even if libddcutil is not present
from ddcutil.
Related Issues (20)
- Ubuntu 24.04 LTS prebuild package HOT 2
- Unable to set input source on Gigabyte M27Q HOT 2
- Failed assertion in check_video_adapters_list_implements_drm HOT 1
- Small suggestion for ddcutil documentation on the website HOT 1
- Dell UltraSharp 2209WAf: DDC communication failed HOT 8
- Ubuntu and Debian packages in OBS are missing libddcutil.so.x.x.x HOT 2
- Enhancement - consider packaging module loading HOT 2
- "Keeping adjust sleep multiplier" warning shown many times HOT 1
- Monitor resets many times on boot after new udev rule installed HOT 44
- System cannot enter S0ix sleep after running ddcutil detect HOT 8
- No (DisplayLink) displays found on 2.1.4, but works on 2.0.0 HOT 6
- ddcutil 2.1.4-1: DDC communication failed HOT 3
- [debian] updating linux-image pkg fails due to ddcutil dkms module failure HOT 2
- Cannot get capabilities: Maximum DDC retries exceeded. HOT 8
- Add an option to return the capabilities for a specific feature. HOT 4
- DDC communication failed (getvcp of feature x10 returned Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: DDCRC_DDC_DATA(15)]) HOT 1
- Ddcutil crashes when some usb devices are connected HOT 1
- `ddcutil` ignores the final entry in `XDG_DATA_DIRS` when looking for an `mccs` file HOT 1
- Cannot update beyond 1.2.2-1 HOT 2
- Samsung C24F390 - DDC communication failed HOT 1
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 ddcutil.