<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nx-libs/nx-X11/programs/Xserver/os/WaitFor.c, branch 3.5.99.18</title>
<subtitle>NXv3 (redistributed) 
</subtitle>
<id>https://openid.arctica-project.org/nx-libs/atom?h=3.5.99.18</id>
<link rel='self' href='https://openid.arctica-project.org/nx-libs/atom?h=3.5.99.18'/>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/'/>
<updated>2018-08-21T16:50:22+00:00</updated>
<entry>
<title>Use min() [defined in include/misc.h] instead of MIN() [not defined in any Xorg header].</title>
<updated>2018-08-21T16:50:22+00:00</updated>
<author>
<name>Alan Coopersmith</name>
<email>Alan.Coopersmith@sun.com</email>
</author>
<published>2018-08-21T16:50:16+00:00</published>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/commit/?id=489c17313090b58b5a4f898a47f23d50372923f2'/>
<id>urn:sha1:489c17313090b58b5a4f898a47f23d50372923f2</id>
<content type='text'>
 Backport from X.org:

 commit 724dbc2f8bbe2f21bf16f20ca7b8bb555516626c
 Author: Alan Coopersmith &lt;Alan.Coopersmith@sun.com&gt;
 Date:   Tue May 2 01:30:37 2006 +0000

    Use min() [defined in include/misc.h] instead of MIN() [not defined in any
        Xorg header].

 Backported-to-NX-by: Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;
</content>
</entry>
<entry>
<title>Lift os to XORG-7_1 state - non-functional changes only</title>
<updated>2018-02-27T02:13:55+00:00</updated>
<author>
<name>Ulrich Sibiller</name>
<email>uli42@gmx.de</email>
</author>
<published>2018-02-27T02:13:55+00:00</published>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/commit/?id=41ff6b0344482f3146aeaaea184911b5e40df9a6'/>
<id>urn:sha1:41ff6b0344482f3146aeaaea184911b5e40df9a6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Xext: lift DPMS extension to xorg-xserver-7.1/1.1 state</title>
<updated>2018-02-07T22:15:57+00:00</updated>
<author>
<name>Ulrich Sibiller</name>
<email>uli42@gmx.de</email>
</author>
<published>2017-10-21T00:04:30+00:00</published>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/commit/?id=31900d41a067a16644e93068e003077bde64c077'/>
<id>urn:sha1:31900d41a067a16644e93068e003077bde64c077</id>
<content type='text'>
</content>
</entry>
<entry>
<title>os: Use NotifyFd interface for listen descriptors</title>
<updated>2017-03-21T09:58:08+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-03-15T15:16:37+00:00</published>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/commit/?id=c468be804ec48231db12f504c2d877ef7a11adc1'/>
<id>urn:sha1:c468be804ec48231db12f504c2d877ef7a11adc1</id>
<content type='text'>
 Bundle X.org backport of these commits:

 commit 7ea64fb4374504bd3d524fc08c90efdab9f253ea
 Author: Alan Coopersmith &lt;alan.coopersmith@oracle.com&gt;
 Date:   Mon Mar 9 09:55:57 2015 -0700

    Clear ListenTransConns entries in CloseWellKnownConnections

    Since _XSERVTransClose frees the connection pointer passed to it,
    remove that pointer from the array, so we don't try to double free it
    if we come back into CloseWellKnownConnections again.

    Should fix https://bugzilla.yoctoproject.org/show_bug.cgi?id=6665 in which
    the shutdown section of the main() loop called CloseWellKnownConnections()
    and then moved on to ddxGiveUp(), which failed to release the VT and thus
    called AbortServer(), which called CloseWellKnownConnections() again.

    Signed-off-by: Alan Coopersmith &lt;alan.coopersmith@oracle.com&gt;
    Reviewed-by: Adam Jackson &lt;ajax@redhat.com&gt;
    Signed-off-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;

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

    os: Use NotifyFd interface for listen descriptors

    Replace the custom path for dealing with new incoming connections with
    the general-purpose NotifyFd API.

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

 commit ba71b69f94f00a6f6910597185610668e79c10be
 Author: Alan Coopersmith &lt;alan.coopersmith@oracle.com&gt;
 Date:   Fri Jan 1 17:34:41 2016 -0800

    Avoid segfault in CloseWellKnownConnections when using -displayfd

    When -displayfd is looping through the possible display ids to use,
    if it can't open all the listening sockets for one (say when :0 is
    already in use), it calls CloseWellKnownConnections to close all
    the ListenTransConns entries before the point that ListenTransFds
    was allocated &amp; initialized, so CloseWellKnownConnections would
    segfault trying to read entries from a NULL ListenTransFds pointer.

    Introduced by commit 7b02f0b8

    Signed-off-by: Alan Coopersmith &lt;alan.coopersmith@oracle.com&gt;
    Reviewed-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>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>
<entry>
<title>dix/os: Merge priority computation into SmartScheduleClient</title>
<updated>2017-03-21T09:33:30+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-02-16T15:04:43+00:00</published>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/commit/?id=f14f738a627b5a6f6c1242f4fe123e4cc9e9c811'/>
<id>urn:sha1:f14f738a627b5a6f6c1242f4fe123e4cc9e9c811</id>
<content type='text'>
 Backported from X.org:

 commit 7762a602c1dfdd8cfcf2b8c2281cf4d683d05216
 Author: Keith Packard &lt;keithp@keithp.com&gt;
 Date:   Thu May 19 15:05:55 2016 -0700

    dix/os: Merge priority computation into SmartScheduleClient

    Instead of having scheduling done in two places (one in
    WaitForSomething, and the other in SmartScheduleClient), just stick
    all of the scheduling in SmartScheduleClient.

    Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
    Reviewed-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: Implement support for NotifyFd X_NOTIFY_WRITE and removal of AddEnabledDevices/RemoveEnabledDevices</title>
<updated>2017-03-17T08:40:37+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-02-09T23:33:44+00:00</published>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/commit/?id=761d74a6805e1030f2206a50834b36d807e8e107'/>
<id>urn:sha1:761d74a6805e1030f2206a50834b36d807e8e107</id>
<content type='text'>
 Backported from X.org:

 commit be5a513fee6cbf29ef7570e57eb0436d70fbd88c
 Author: Keith Packard &lt;keithp@keithp.com&gt;
 Date:   Mon Dec 7 15:12:14 2015 -0800

    Remove AddEnabledDevice and AddGeneralSocket APIs

    All uses of these interfaces should instead be using the NotifyFd API
    instead.

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

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

    os: Implement support for NotifyFd X_NOTIFY_WRITE

    This adds the ability to be notified when a file descriptor is
    available for writing.

    Reviewed-by: Adam Jackson &lt;ajax@redhat.com&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>Move the code for resetting the DPMS mode in response to input events, from WaitForSomething to mieqProcessInputEvents.</title>
<updated>2017-03-17T08:40:37+00:00</updated>
<author>
<name>Fredrik Höglund</name>
<email>fredrik@kde.org</email>
</author>
<published>2017-02-09T21:28:12+00:00</published>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/commit/?id=6307e6fc72f3cd748c9dc0e601a87171131309ea'/>
<id>urn:sha1:6307e6fc72f3cd748c9dc0e601a87171131309ea</id>
<content type='text'>
 Backported from X.org:

 commit 3b5b7ef5c2ab1d196806f6359e0972fd78d204dd
 Author: Fredrik Höglund &lt;fredrik@kde.org&gt;
 Date:   Wed Jan 3 21:05:35 2007 +0100

    Move the code for resetting the DPMS mode in response to input events,
    from WaitForSomething to mieqProcessInputEvents.

    mieqProcessInputEvents already handles resetting the screen saver.

 Backported-to-NX-by: Mike Gabriel &lt;mike.gabriel@das-netzwerkteam.de&gt;
</content>
</entry>
<entry>
<title>os: Add NotifyFd interfaces</title>
<updated>2017-03-15T10:09:41+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-02-09T12:45:12+00:00</published>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/commit/?id=86110d6edadef2d9fbcd3ee0d008696bfcf7dcd4'/>
<id>urn:sha1:86110d6edadef2d9fbcd3ee0d008696bfcf7dcd4</id>
<content type='text'>
 Backported from X.org:

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

    os: Add NotifyFd interfaces

    This provides a callback-based interface to monitor file
    descriptors beyond the usual client and device interfaces.

    Modules within the server using file descriptors for reading and/or
    writing can call

        Bool SetNotifyFd(int fd, NotifyFdProcPtr notify_fd, int mask, void *data);

    mask can be any combination of X_NOTIFY_READ and X_NOTIFY_WRITE.

    When 'fd' becomes readable or writable, the notify_fd function will be
    called with the 'fd', the ready conditions and 'data' values as arguments,

    When the module no longer needs to monitor the fd, it will call

        void RemoveNotifyFd(int fd);

    RemoveNotifyFd may be called from the notify function.

    Reviewed-by: Adam Jackson &lt;ajax@redhat.com&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>The smart scheduler is not optional.</title>
<updated>2017-02-15T10:19:06+00:00</updated>
<author>
<name>Mathieu Bérard</name>
<email>mathieu.berard@crans.org</email>
</author>
<published>2017-02-09T13:05:32+00:00</published>
<link rel='alternate' type='text/html' href='https://openid.arctica-project.org/nx-libs/commit/?id=6884e6a5b0cabdce39005470f4bcd0d960cfc956'/>
<id>urn:sha1:6884e6a5b0cabdce39005470f4bcd0d960cfc956</id>
<content type='text'>
 Backported from X.org:

 commit 9f9268821b13038556fbc029df54ab0e9b2aa77f
 Author: Mathieu Bérard &lt;mathieu.berard@crans.org&gt;
 Date:   Mon Aug 11 13:52:38 2008 -0400

    The smart scheduler is not optional.

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