9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: quanstro@quanstro.net
To: 9fans@cse.psu.edu
Subject: Re: [9fans] [plan9port] graphics
Date: Wed, 28 Jun 2006 23:27:36 -0500	[thread overview]
Message-ID: <ea8273d90ebb08083f50ce5ccfca3afc@quanstro.net> (raw)
In-Reply-To: <ee9e417a0606281046u10a8a596t5875dbcf3e8e8546@mail.gmail.com>

when this came up a while ago, you suggested one devdraw
server per namespace.  after some consideration i convinced
myself you were right.  programs like rio could be much closer
to the plan 9 source.  lately i've been considering writing an
X server extension implementing devdraw.  (i realize this might
be problematic on osx.) 

why did you choose to run 1 devdraw per graphical program?

- erik

(i haven't had X connection problems with nptl.  i thought linuxthreads
was pretty much a thing of the past)

On Wed Jun 28 12:47:41 CDT 2006, rsc@swtch.com wrote:
[...]
> 
> I tried to preserve this model in Plan 9 from User Space,
> using pthreads or explicitly-created shared-memory threads
> on systems where pthreads wasn't good enough (e.g., Linux
> pre-NPTL).  I allocated multiple connections (Displays) to
> the underlying X server and gave one to each proc, though
> there were one or two places where I had to cheat, letting
> one proc send an asynchronous message to a Display that
> another proc was reading.  I still don't know whether these
> cut corners are what caused the trouble or whether there are
> deeper problems with truly multithreaded X clients.
> 
[...]
> 
> Over the weekend I shuffled things around.  Instead of
> linking X code into every program, there is now a single
> program, called devdraw, that contains X interface code.
> Graphical programs now fork and exec a devdraw and then
> speak a simple protocol to its standard input and standard
> output to read from the keyboard and mouse and draw on the
> screen.  Devdraw is not a threaded program.  It runs on the
> standard system stack and uses select(2) to manage its two
> inputs.  It uses only a single connection to the X server.
> My hope is that doing things the Official Unix Way inside
> devdraw will eliminate the problems people have reported.
> 


  parent reply	other threads:[~2006-06-29  4:27 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-28 17:46 Russ Cox
2006-06-28 21:13 ` Jack Johnson
2006-06-28 21:42   ` Russ Cox
2006-06-29  2:04 ` Roman Shaposhnick
2006-06-29  3:59   ` David Leimbach
2006-06-29  4:27 ` quanstro [this message]
2006-06-29 15:36   ` Russ Cox
2006-06-29 18:59     ` Roman Shaposhnick
2006-07-12 15:36       ` andrey mirtchovski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ea8273d90ebb08083f50ce5ccfca3afc@quanstro.net \
    --to=quanstro@quanstro.net \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).