#1174 closed defect (fixed)
named pipes improvements
Reported by: | Antoine Martin | Owned by: | alas |
---|---|---|---|
Priority: | critical | Milestone: | 2.0 |
Component: | platforms | Version: | trunk |
Keywords: | win32 named pipes | Cc: |
Description
Follow up from #1150
- use the "socket-dir" as named pipe path (currently hard-coded to Xpra\) and use the "socket-dirs" as the list of named pipe paths we search
- shadow server crashes easily with debug logging (could be the same issue as #1149)
- non-trivial clients (ie: xpra attach) cause garbage to be received by the server
Attachments (3)
Change History (9)
comment:1 Changed 5 years ago by
Milestone: | 0.18 → 1.0 |
---|
comment:2 Changed 4 years ago by
Milestone: | 1.0 → future |
---|---|
Status: | new → assigned |
r13735 is enough to be able to use "xpra info" and "xpra version" against a local win32 server (ie: "xpra shadow"), but not enough to connect as a client: when it doesn't deadlock on the named pipe, it seems to choke on the "logging" packets? (could be an encoding issue)
"xpra stop" kinda works, but again you need to run another command to get the named pipe thread to exit.
It's a mess and I really don't have time for this awful Microsoft API style.
comment:3 Changed 4 years ago by
Milestone: | future → 2.0 |
---|---|
Priority: | major → critical |
Named pipe code is currently broken by the move to ctypes (#678).
If this cannot be fixed in time, the named pipe code will have to be disabled.
Changed 4 years ago by
Attachment: | named-pipes-ctypes.patch added |
---|
ctypes implementation that doesn't crash! (also doesn't work..)
Changed 4 years ago by
Attachment: | named-pipes-ctypes-v3.patch added |
---|
can connect and read the packet.. but we need overlapped IO to both read and write without blocking, oh joy
comment:4 Changed 4 years ago by
Owner: | changed from Antoine Martin to alas |
---|---|
Status: | assigned → new |
Done in r15179. That was hard.
Some pointers that led me to the solution:
- Usage of overlapped named pipe for simultaneous read and write on Windows: All you need to do is to provide a different OVERLAPPED structure to each of the simultaneous operations.
- GetOverlappedResult
This also adds the "-d named-pipe" debug flag.
What this feature does: we can now query a running shadow server ("xpra info", "xpra list", "xpra version", "xpra stop", etc..) and even attach to it over named pipes. Follow up in #1454
@afarr: this is a FYI, feel free to close.
comment:5 Changed 4 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Acknowledged, and closing.
comment:6 Changed 6 weeks ago by
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1174
Milestone renamed