<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nx-libs/nx-X11/programs/Xserver/dix/dispatch.c, branch 3.5.99.5</title>
<subtitle>NXv3 (redistributed) 
</subtitle>
<id>https://openid.arctica-project.org/nx-libs/atom?h=3.5.99.5</id>
<link rel='self' href='https://openid.arctica-project.org/nx-libs/atom?h=3.5.99.5'/>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/'/>
<updated>2017-04-10T14:22:28+00:00</updated>
<entry>
<title>Add CreatePixmap allocation hints.</title>
<updated>2017-04-10T14:22:28+00:00</updated>
<author>
<name>Aaron Plattner</name>
<email>aplattner@nvidia.com</email>
</author>
<published>2017-02-22T12:30:48+00:00</published>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/commit/?id=3ef6d51202a5c4f8ad23d17abf0ee9957129e88c'/>
<id>urn:sha1:3ef6d51202a5c4f8ad23d17abf0ee9957129e88c</id>
<content type='text'>
 Backported from X.org:

 commit f2e310132fbe1520c1b5f3da4faa2d2d47835e72
 Author: Aaron Plattner &lt;aplattner@nvidia.com&gt;
 Date:   Wed Oct 31 14:15:35 2007 -0700

    Add CreatePixmap allocation hints.

    These hints allow an acceleration architecture to optimize allocation of certain
    types of pixmaps, such as pixmaps that will serve as backing pixmaps for
    redirected windows.

 Backported-to-NX-by: Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;
</content>
</entry>
<entry>
<title>Xserver: Support building against libXfont2 (v2) API and old libXfont(1) API alike.</title>
<updated>2017-04-10T14:09:20+00:00</updated>
<author>
<name>Mike Gabriel</name>
<email>mike.gabriel@das-netzwerkteam.de</email>
</author>
<published>2017-02-09T13:05:57+00:00</published>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/commit/?id=f4c80a78ce0e5648334fc43e5c93a068ed3ec5be'/>
<id>urn:sha1:f4c80a78ce0e5648334fc43e5c93a068ed3ec5be</id>
<content type='text'>
 Fixes ArcticaProject/nx-libs#296.

 Inspired by the following X.org commit. Other than X.org, we will continue
 support for building nx-libs against libXfont1 for a while.

 commit 05a793f5b3c40747d5a92a076def7f4fb673c7e7
 Author: Keith Packard &lt;keithp@keithp.com&gt;
 Date:   Tue Sep 1 18:50:55 2015 -0700

    dix: Switch to the libXfont2 API (v2)

    This new libXfont API eliminates exposing internal X server symbols to
    the font library, replacing those with a struct full of the entire API
    needed to use that library.

    v2: Use libXfont2 instead of libXfont_2

    Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
    Reviewed-by: Adam Jackson &lt;ajax@redhat.com&gt;
</content>
</entry>
<entry>
<title>SetFontPath: set client-&gt;errorValue on failure.</title>
<updated>2017-04-10T14:03:10+00:00</updated>
<author>
<name>Jamey Sharp</name>
<email>jamey@minilop.net</email>
</author>
<published>2017-02-16T08:19:40+00:00</published>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/commit/?id=f743f9f743362c891f049a514cdcf3d39546194b'/>
<id>urn:sha1:f743f9f743362c891f049a514cdcf3d39546194b</id>
<content type='text'>
 Backported from X.org:

 commit 21ceae9002c6364deb3d074cf2da7d3864cf6879
 Author: Jamey Sharp &lt;jamey@minilop.net&gt;
 Date:   Tue May 11 10:24:00 2010 -0700

    SetFontPath: set client-&gt;errorValue on failure.

    Previously the callers were only setting errorValue on Success, when
    it's ignored, and leaving it alone on failure, when it's sent to the
    client.

    Since SetFontPath takes the ClientPtr, let it set client-&gt;errorValue
    instead of letting the callers continue to get it wrong.

    Signed-off-by: Jamey Sharp &lt;jamey@minilop.net&gt;
    Reviewed-by: Julien Cristau &lt;jcristau@debian.org&gt;
    Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;

 Backported-to-NX-by: Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;
</content>
</entry>
<entry>
<title>Revert "regression fix for 52872a0: Keep index parameter in AddScreen() for now. Requires proper ABI backport. (was: copy+paste error)."</title>
<updated>2017-04-10T14:01:02+00:00</updated>
<author>
<name>Mike Gabriel</name>
<email>mike.gabriel@das-netzwerkteam.de</email>
</author>
<published>2017-04-10T14:01:02+00:00</published>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/commit/?id=9e2588e56f5b712c4501a19c1f723257c05aa6af'/>
<id>urn:sha1:9e2588e56f5b712c4501a19c1f723257c05aa6af</id>
<content type='text'>
This reverts commit 342758254b1b8507c9ec774f40d8ec62baf394a8.

 Other than stated in the original commit msg, both regressions are
 related to inproper rebasing of two pull requests touch the same code
 portion.
</content>
</entry>
<entry>
<title>regression fix for 52872a0: Keep index parameter in AddScreen() for now. Requires proper ABI backport. (was: copy+paste error).</title>
<updated>2017-03-27T14:39:28+00:00</updated>
<author>
<name>Mike Gabriel</name>
<email>mike.gabriel@das-netzwerkteam.de</email>
</author>
<published>2017-03-27T14:39:28+00:00</published>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/commit/?id=342758254b1b8507c9ec774f40d8ec62baf394a8'/>
<id>urn:sha1:342758254b1b8507c9ec774f40d8ec62baf394a8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move AddScreen() comment where it actually belongs. Should be done in X.org, too.</title>
<updated>2017-03-24T08:19:34+00:00</updated>
<author>
<name>Mike Gabriel</name>
<email>mike.gabriel@das-netzwerkteam.de</email>
</author>
<published>2017-03-10T15:48:54+00:00</published>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/commit/?id=cb9e50c2f7de225b336721a7c0723f1d28da3607'/>
<id>urn:sha1:cb9e50c2f7de225b336721a7c0723f1d28da3607</id>
<content type='text'>
</content>
</entry>
<entry>
<title>dix: Move AddScreen() over into dispatch.c and introduce init_screen()</title>
<updated>2017-03-24T08:19:30+00:00</updated>
<author>
<name>Mike Gabriel</name>
<email>mike.gabriel@das-netzwerkteam.de</email>
</author>
<published>2017-03-10T15:29:24+00:00</published>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/commit/?id=52872a0de67226eff6100d8353f5c712e94e9e9d'/>
<id>urn:sha1:52872a0de67226eff6100d8353f5c712e94e9e9d</id>
<content type='text'>
 Partially pruned out of X.org commits:

 commit 987579c930bda803427a28cb82773c389f5110d6
 Author: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
 Date:   Wed Apr 22 13:26:40 2009 +1000

    dix: remove all but main() from main.c

    All other functions are pushed into where they seemed to fit.
    main.c is now linked separately into libmain.a and linked in by the various
    DDXs.

    Signed-off-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;

 commit 3478af3374abffa0c226ee077fda1fcfc0751e74
 Author: Dave Airlie &lt;airlied@redhat.com&gt;
 Date:   Tue Jun 5 17:01:21 2012 +0100

    screen: split out screen init code. (v2)

    This is a precursor for reusing this code to init gpu screens.

    v2: fixup int check as per Keith's review.

    Reviewed-by: Keith Packard &lt;keithp@keithp.com&gt;
    Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;

 Backported-to-NX-by: Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;
</content>
</entry>
<entry>
<title>dix: Extend initial connection handshake for forwarding proxies</title>
<updated>2017-03-21T09:58:07+00:00</updated>
<author>
<name>Adam Jackson</name>
<email>ajax@redhat.com</email>
</author>
<published>2017-02-16T10:54:19+00:00</published>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/commit/?id=4f76ed19b8a7b9448e29ac152f7f5ec1e611950e'/>
<id>urn:sha1:4f76ed19b8a7b9448e29ac152f7f5ec1e611950e</id>
<content type='text'>
 commit 78fa121f4097d29458e5453c13473595df06e26e
 Author: Adam Jackson &lt;ajax@redhat.com&gt;
 Date:   Fri Jun 17 13:43:38 2011 -0400

    dix: Extend initial connection handshake for forwarding proxies

    Forwarding proxies like sshd will appear to be local, even though they
    aren't really.  This leads to weird behaviour for extensions that truly
    require running under the same OS services as the client, like MIT-SHM
    and DRI2.

    Add two new legal values for the initial connection's byteOrder field,
    'r' and 'R'.  These act like 'l' and 'B' respectively, but have the side
    effect of forcing the client to be treated as non-local.  Forwarding
    proxies should attempt to munge the first packet of the connection
    accordingly; older servers will reject connections thusly munged, so the
    proxy should fall back to passthrough if the munged connection attempt
    fails.

    Reviewed-by: Daniel Stone &lt;daniel@fooishbar.org&gt;
    Signed-off-by: Adam Jackson &lt;ajax@redhat.com&gt;

 Backported-to-NX-by: Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;
</content>
</entry>
<entry>
<title>os: Add facilities for client ID tracking.</title>
<updated>2017-03-21T09:58:07+00:00</updated>
<author>
<name>Rami Ylimäki</name>
<email>rami.ylimaki@vincit.fi</email>
</author>
<published>2017-02-15T15:42:14+00:00</published>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/commit/?id=239fe3d0802b12ce8947741693244ff8154fa559'/>
<id>urn:sha1:239fe3d0802b12ce8947741693244ff8154fa559</id>
<content type='text'>
 commit 6d6d4cb6043905d850834946e9bfc526ed5a9ef7
 Author: Matthieu Herrb &lt;matthieu.herrb@laas.fr&gt;
 Date:   Mon Jan 2 13:23:59 2012 +0000

    Add OpenBSD support to DetermineClientCmd()

    Uses kvm_getargv() from libkvm.

    Signed-off-by: Matthieu Herrb &lt;matthieu.herrb@laas.fr&gt;
    Reviewed-by: Adam Jackson &lt;ajax@redhat.com&gt;
    Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;

 commit cfc4c3d7fa8bd4da4c08b2ab8e6f85435f75353a
 Author: Alan Coopersmith &lt;alan.coopersmith@oracle.com&gt;
 Date:   Sat Dec 24 10:00:56 2011 -0800

    Add Solaris support to DetermineClientCmd

    Uses /proc/pid/psinfo to read command &amp; partial arguments.

    Moves cmdsize &amp; argsize variables into non-Solaris #else clause
    to avoid unused variable warnings.

    Fixes format mismatch errors when building with DEBUG defined on
    a 64-bit platform (where Mask is defined as CARD32).

    Signed-off-by: Alan Coopersmith &lt;alan.coopersmith@oracle.com&gt;
    Reviewed-by: Rami Ylimäki &lt;rami.ylimaki@vincit.fi&gt;
    Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;

 commit 780133f9ae7fada462714b47e79d26075bbd9abe
 Author: Alan Coopersmith &lt;alan.coopersmith@oracle.com&gt;
 Date:   Fri Oct 28 21:29:50 2011 -0700

    Convert DetermineClientCmd to use strdup instead of malloc+strncpy

    *cmdname is initialized to NULL earlier in the function, so it's
    okay to overwrite it with NULL if strdup fails, don't need that
    extra check.

    Signed-off-by: Alan Coopersmith &lt;alan.coopersmith@oracle.com&gt;
    Reviewed-by: Jeremy Huddleston &lt;jeremyhu@apple.com&gt;

 commit 2ef4ff45ef1fcfc4967ebe3d550408769e5f6500
 Author: Erkki Seppälä &lt;erkki.seppala@vincit.fi&gt;
 Date:   Fri Mar 25 10:38:23 2011 +0200

    os/client: Prevent rare fd leak in DetermineClientPid

    DetermineClientPid didn't close file descriptor if read on
    /proc/pid/cmdline failed. Adjusted the code to disregard the close
    return value and perform the return after that, if the read failed or
    returned EOF.

    Signed-off-by: Mark Kettenis &lt;mark.kettenis@xs4all.nl&gt;
    Signed-off-by: Erkki Seppälä &lt;erkki.seppala@vincit.fi&gt;
    Reviewed-by: Rami Ylimäki &lt;rami.ylimaki@vincit.fi&gt;
    Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;

 commit 1e933665bef26c74196bb7c59910e6a78bcacf0e
 Author: Rami Ylimäki &lt;rami.ylimaki@vincit.fi&gt;
 Date:   Wed Dec 22 16:51:09 2010 +0200

    os: Add facilities for client ID tracking.

    An interface is provided for figuring out the PID and process name of
    a client. Make some existing functionality from SELinux and IA
    extensions available for general use.

    Signed-off-by: Rami Ylimäki &lt;rami.ylimaki@vincit.fi&gt;
    Reviewed-by: Tiago Vignatti &lt;tiago.vignatti@nokia.com&gt;

 Backported-to-NX-by: Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;
</content>
</entry>
<entry>
<title>dix/os: backport various signal handling and smart scheduler changes from X.org</title>
<updated>2017-03-21T09:58:01+00:00</updated>
<author>
<name>Mike Gabriel</name>
<email>mike.gabriel@das-netzwerkteam.de</email>
</author>
<published>2017-02-16T15:21:34+00:00</published>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/commit/?id=366067b7c3678148bff858239e3c16e0d6043e03'/>
<id>urn:sha1:366067b7c3678148bff858239e3c16e0d6043e03</id>
<content type='text'>
 Backported from X.org:

 commit 6178b1c91cfc9e860914acc6f0be2f2d2e07a124
 Author: Adam Jackson &lt;ajax@redhat.com&gt;
 Date:   Tue Jun 7 15:52:11 2016 -0400

    dix: Use OsSignal() not signal()

    As the man page for the latter states:

        The effects of signal() in a multithreaded process are unspecified.

    We already have an interface to call sigaction() instead, use it.

    Signed-off-by: Adam Jackson &lt;ajax@redhat.com&gt;
    Reviewed-by: Keith Packard &lt;keithp@keithp.com&gt;

 commit e10ba9e4b52269b2ac75c4802dce4ca47d169657
 Author: Keith Packard &lt;keithp@keithp.com&gt;
 Date:   Wed Nov 11 22:02:01 2015 -0800

    Remove non-smart scheduler. Don't require setitimer.

    This allows the server to call GetTimeInMillis() after each request is
    processed to avoid needing setitimer. -dumbSched now turns off the
    setitimer.

    Reviewed-by: Adam Jackson &lt;ajax@redhat.com&gt;
    Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;

 commit 1f915e8b524dd02011158aa038935970684c7630
 Author: Daniel Drake &lt;drake@endlessm.com&gt;
 Date:   Wed May 20 13:16:12 2015 -0600

    Keep SIGALRM restart flag after Popen

    Commit 94ab7455 added SA_RESTART to the SIGALRM handler.  However, the
    Popen code tears down and recreates the SIGALRM handler via OsSignal(),
    and this flag is dropped at this time.

    Clean the code to use just a single codepath for creating this signal
    handler, always applying SA_RESTART.

    [ajax: Fixed commit id]

    Reviewed-by: Adam Jackson &lt;ajax@redhat.com&gt;
    Signed-off-by: Daniel Drake &lt;drake@endlessm.com&gt;

 commit 94ab7455abc213fc96760e29ab2e943ec682fb22
 Author: Daniel Drake &lt;drake@endlessm.com&gt;
 Date:   Tue May 12 16:39:22 2015 -0600

    Allow system call restarts upon signal interruption

    The X server frequently deals with SIGIO and SIGALRM interruptions.
    If process execution is inside certain blocking system calls
    when these signals arrive, e.g. with the kernel blocked on
    a contended semaphore, the system calls will be interrupted.

    Some system calls are automatically restartable (the kernel re-executes
    them with the same parameters once the signal handler returns) but
    only if the signal handler allows it.

    Set SA_RESTART on the signal handlers to enable this convenient
    behaviour.

    Reviewed-by: Adam Jackson &lt;ajax@redhat.com&gt;
    Signed-off-by: Daniel Drake &lt;drake@endlessm.com&gt;

 commit a6c71ce5d2d2fe89e07a2ef5041c915acc3dc686
 Author: Tiago Vignatti &lt;tiago.vignatti@nokia.com&gt;
 Date:   Mon Mar 28 19:21:28 2011 +0300

    os: fix memory and fd leaks in Popen

    Signed-off-by: Tiago Vignatti &lt;tiago.vignatti@nokia.com&gt;
    Reviewed-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
    Reviewed-by: Nicolas Peninguy &lt;nico@lostgeeks.org&gt;

 commit c9051b684b524549eab6d5b88ee3e195a6f6fbe8
 Author: Alan Coopersmith &lt;alan.coopersmith@sun.com&gt;
 Date:   Wed Nov 5 18:25:57 2008 -0800

    Use OsSignal in Popen/Pclose to avoid SysV signal() stupidity

 commit 0e9ef65fa583bf2393dd0fda82df6f092387b425
 Author: Keith Packard &lt;keithp@koto.keithp.com&gt;
 Date:   Wed Nov 7 16:33:10 2007 -0800

    Don't frob timers unless SmartSchedule is running

 commit 2338d5c9914e2a43c3a4f7ee0f4355ad0a1ad9e7
 Author: Arjan van de Ven &lt;arjan@linux.intel.com&gt;
 Date:   Sun Oct 28 09:37:52 2007 +0100

    reduce wakeups from smart scheduler

    The smart scheduler itimer currently always fires after each request
    (which in turn causes the CPU to wake out of idle, burning precious
    power). Rather than doing this, just stop the timer before going into
    the select() portion of the WaitFor loop. It's a cheap system call, and
    it will only get called if there's no more commands batched up from the
    active fd.

    This change also allows some of the functions to be simplified;
    setitimer() will only fail if it's passed invalid data, and we don't do
    that... so make it void and remove all the conditional code that deals
    with failure.

    The change also allows us to remove a few variables that were used for
    housekeeping between the signal handler and the main loop.

    Signed-off-by: Keith Packard &lt;keithp@koto.keithp.com&gt;

 **Note**: The above change also required ABI changes in hw/nxagent/.

 commit abe0a51f3f790f8c055289465e130177c4b647cc
 Author: Ben Byer &lt;bbyer@bbyer.apple.com&gt;
 Date:   Fri Sep 21 17:07:36 2007 -0700

    So, like, checking return codes of system calls (signal, etc) is good.
    Also, only restore an old signal handler if one was actually set
    (prevents the server from dying on OS X).

 commit 6da39c67905500ab2db00a45cda4a9f756cdde96
 Author: Eric Anholt &lt;eric@anholt.net&gt;
 Date:   Wed Sep 12 13:23:13 2007 +0000

    Fix build on FreeBSD after Popen changes.

 commit a5b8053606d6e786cdcf6734f271acc05f9cc588
 Author: Adam Jackson &lt;ajax@benzedrine.nwnk.net&gt;
 Date:   Tue Sep 11 11:37:06 2007 -0400

    Ignore - not just block - SIGALRM around Popen()/Pclose().

    Because our "popen" implementation uses stdio, and because nobody's stdio
    library is capable of surviving signals, we need to make absolutely sure
    that we hide the SIGALRM from the smart scheduler.  Otherwise, when you
    open a menu in openoffice, and it recompiles XKB to deal with the
    accelerators, and you popen xkbcomp because we suck, then the scheduler
    will tell you you're taking forever doing something stupid, and the
    wait() code will get confused, and input will hang and your CPU usage
    slams to 100%.  Down, not across.

 Backported-to-NX-by: Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;
</content>
</entry>
</feed>
