xpra icon
Bug tracker and wiki

Opened 11 months ago

Last modified 4 weeks ago

#1174 new defect

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)

named-pipes-mess-v2.patch (2.0 KB) - added by Antoine Martin 6 months ago.
trying to not deadlock
named-pipes-ctypes.patch (11.4 KB) - added by Antoine Martin 4 weeks ago.
ctypes implementation that doesn't crash! (also doesn't work..)
named-pipes-ctypes-v3.patch (14.0 KB) - added by Antoine Martin 4 weeks ago.
can connect and read the packet.. but we need overlapped IO to both read and write without blocking, oh joy

Download all attachments as: .zip

Change History (7)

comment:1 Changed 9 months ago by Antoine Martin

Milestone: 0.181.0

Milestone renamed

Changed 6 months ago by Antoine Martin

Attachment: named-pipes-mess-v2.patch added

trying to not deadlock

comment:2 Changed 6 months ago by Antoine Martin

Milestone: 1.0future
Status: newassigned

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 5 weeks ago by Antoine Martin

Milestone: future2.0
Priority: majorcritical

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 weeks ago by Antoine Martin

Attachment: named-pipes-ctypes.patch added

ctypes implementation that doesn't crash! (also doesn't work..)

Changed 4 weeks ago by Antoine Martin

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 weeks ago by Antoine Martin

Owner: changed from Antoine Martin to alas
Status: assignednew

Done in r15179. That was hard.

Some pointers that led me to the solution:


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.

Last edited 4 weeks ago by Antoine Martin (previous) (diff)
Note: See TracTickets for help on using tickets.