Comments (9)
Windows is a bit of second class citizen I'm afraid. We just don't have much Windows devs I guess. I'm willing to have a look as well but I only have windows build hosts which never sleep. Do you have a code example showing the bug?
from czmq.
I'll see if I can create one. I'm 95% on Linux as well. Windows is not my favorite, but people want Windows software still so I need to support the use-case.
from czmq.
This is apparently how libuv does it: https://github.com/libuv/libuv/blob/master/src/win/detect-wakeup.c
from czmq.
Thanks for the ref! Seems only relevant for Win8 and later. Docs here: https://learn.microsoft.com/en-us/windows/win32/api/powerbase/nf-powerbase-powerregistersuspendresumenotification
from czmq.
Any idea what code would need to be registered there? If I know what needs to be added I can do the PR. I just don't know where the code is that does the enumeration on Windows. Any information is appreciated. Happy to contribute if I understand what to do.
from czmq.
I see some uses of GetAdaptersAddresses in libzmq/src/ip_resolver.cpp and czmq/src/ziflist.c. The use in ziflist.c seems most pertinent with the comment "// Helper to reload network interfaces from system". That seems to be what needs to happen here. Can anybody confirm that as the correct function to run on wake-up? If so, the next question will be what list to update with it.
from czmq.
On second thought, it seems that the ip_resolver.cpp usage ends up getting called in zpoller.c in s_rebuild_poll_set(). That's in the code path of zpoller_wait, which may make more sense.
from czmq.
You also could look into how zloop rebuilds the pollset if it is of any relevance.
Line 244 in db94044
However this might be one that needs to be done in libzmq as the sockets might need to be recreated?
from czmq.
Related Issues (20)
- Android / Java build fails on CentOS 7 HOT 2
- can use zsock_new_pub() api set ipv6 HOT 3
- Android / Java bindings/jni/ci_build.sh fails on Ubuntu 22.04 HOT 3
- zauth `zsock_bind()` fails when called for the second time from a different thread
- Lingering broken TCP connections when using zproxy
- czmq bindiing jni should be deployed to maven central jcenter is now read only. HOT 1
- Tests on OSX? HOT 1
- Ios Build Fails Please check the log on IOS sdk 16.2 HOT 2
- zsock_events() segfaults if called too often HOT 4
- How to get peer PID with czmq? HOT 1
- Saving certificate to memory?
- An error occurs when the zsock_set_tcp_keepalive function is executed
- ziflist crashes when there are 'alias' net devices HOT 1
- No MSYS2 package HOT 2
- zloop allows calling start() again but timer removal fails then HOT 2
- Issue with libczmq-dev HOT 1
- Problem: czmq `make check` tests do not display properly in terminal HOT 1
- Problem: When zauth unable to load password file it uses zsys `info` instead of `warn`
- zloop: nonstop does not work as intended (EINTR breaks loop) HOT 2
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 czmq.