{"push_id":1629638741,"size":33,"distinct_size":2,"ref":"refs/heads/pr/drop-render-fullcolor-workaround","head":"37319a3b5670b8de9bd0be508a1f7d4183d7217a","before":"58016661e8fca5bb7521a1fc4b10c05c5905eea9","commits":[{"sha":"074646707400ff659909fff1f059f58f44493a38","author":{"name":"Mike Gabriel","email":"b7b2ce7e4a094364211cb180b6446ee3e237ed0d@das-netzwerkteam.de"},"message":"os/xdmcp: Remove dead 'restart' code\n\n Completing the below X.org commit:\n\n commit a3a40291330bad10401fe2bcdbc097ce742b026a\n Author: Keith Packard <keithp@keithp.com>\n Date:   Mon Sep 21 07:16:16 2015 +0100\n\n    os/xdmcp: Remove dead 'restart' code\n\n    The X server used to wait for the user to hit a key or move the mouse\n    before restarting the session after a keepalive failure. This,\n    presumably, was to avoid having the X server continuously spew XDMCP\n    protocol on the network while the XDM server was dead.\n\n    Switching into this state was removed from the server some time before\n    XFree86 4.3.99.16, so the remaining bits of code have been dead for\n    over a decade, and no-one ever noticed.\n\n    Reviewed-by: Adam Jackson <ajax@redhat.com>\n    Signed-off-by: Keith Packard <keithp@keithp.com>\n\n Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>","distinct":false,"url":"https://api.github.com/repos/sunweaver/nx-libs/commits/074646707400ff659909fff1f059f58f44493a38"},{"sha":"645b757df77b2f85028e16c2e303b288fe2474af","author":{"name":"Chris Wilson","email":"4181b934c2715a2bba60cdb3cc1b35b2777d1c23@chris-wilson.co.uk"},"message":"os: Immediately queue initial WriteToClient\n\n Backported from X.org:\n\n commit 9bf46610a9d20962854016032de4567974e87957\n Author: Chris Wilson <chris@chris-wilson.co.uk>\n Date:   Fri Jun 21 22:58:31 2013 +0100\n\n    os: Immediately queue initial WriteToClient\n\n    If we immediately put the WriteToClient() buffer into the socket's write\n    queue, not only do we benefit from sending the response back to client\n    earlier, but we also avoid the overhead of copying the data into our own\n    staging buffer and causing extra work in the next select(). The write is\n    effectively free as typically we may only send one reply per client per\n    select() call, so the cost of the FlushClient() is the same.\n\n    shmget10:   26400 -> 110000\n    getimage10: 25000 -> 108000\n\n    shmget500:   3160 -> 13500\n    getimage500: 1000 -> 1010\n\n    The knock-on effect is that on a mostly idle composited desktop, the CPU\n    overhead is dominated by the memmove in WriteToClient, which is in turn\n    eliminated by this patch.\n\n    Reviewed-by: Adam Jackson <ajax@redhat.com>\n    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>\n\n Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>","distinct":false,"url":"https://api.github.com/repos/sunweaver/nx-libs/commits/645b757df77b2f85028e16c2e303b288fe2474af"},{"sha":"af7c3750070dfad2ebd2d615f2c3fecda7e58053","author":{"name":"Keith Packard","email":"d5aef14bbc6fea8f865e6ff46cdb390e8b6cfef2@keithp.com"},"message":"Xserver/os/io.c: Bail out early from FlushClient if nothing needs to be written.\n\n Found in X.org commit:\n\n commit d5bf6f95f31037bd49b11348b500c3c13b7e0c99\n Author: Keith Packard <keithp@keithp.com>\n Date:   Thu Oct 4 14:42:37 2012 -0700\n\n    Fix FlushClient to write extraBuf when provided (regression fix)\n\n    In commit:\n\n        commit 092c57ab173c8b71056f6feb3b9d04d063a46579\n        Author: Adam Jackson <ajax@redhat.com>\n        Date:   Fri Jun 17 14:03:01 2011 -0400\n\n            os: Hide the Connection{In,Out}put implementation details\n\n            Reviewed-by: Daniel Stone <daniel@fooishbar.org>\n            Signed-off-by: Adam Jackson <ajax@redhat.com>\n\n    the check for an empty output buffer was moved from one calling\n    location into the FlushClient implementation itself. However, this\n    neglected the possibility that additional data, in the form of\n    'extraBuf' would be passed to FlushClient from other code paths. If the\n    output buffer happened to be empty at that time, the extra data would\n    never be written to the client.\n\n    This is fixed by checking the total data to be written, which includes\n    both pending and extra data, instead of just the pending data.\n\n    Signed-off-by: Keith Packard <keithp@keithp.com>\n    Reviewed-by: Julien Cristau <jcristau@debian.org>\n\n Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>","distinct":false,"url":"https://api.github.com/repos/sunweaver/nx-libs/commits/af7c3750070dfad2ebd2d615f2c3fecda7e58053"},{"sha":"65b6a62bc726b5e4f4833ed1e27733e22fabcfa8","author":{"name":"Michel Dänzer","email":"04e02e363b23f600e6da8ae785c28c5ce9396c71@amd.com"},"message":"dix: Pass ClientPtr to FlushCallback\n\n Backported X.org commits:\n\n commit b380f3ac51f40ffefcde7d3db5c4c149f274246d\n Author: Michel Dänzer <michel.daenzer@amd.com>\n Date:   Tue Aug 2 17:53:01 2016 +0900\n\n    dix: Pass ClientPtr to FlushCallback\n\n    This change has two effects:\n\n    1. Only calls FlushCallbacks when we're actually flushing data to a\n       client. The unnecessary FlushCallback calls could cause significant\n       performance degradation with compositing, which is significantly\n       reduced even without any driver changes.\n\n    2. By passing the ClientPtr to FlushCallbacks, drivers can completely\n       eliminate unnecessary flushing of GPU commands by keeping track of\n       whether we're flushing any XDamageNotify events to the client for\n       which the corresponding rendering commands haven't been flushed to\n       the GPU yet.\n\n    Reviewed-by: Adam Jackson <ajax@redha.com>\n    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>\n\n commit c65f610e12f9df168d5639534ed3c2bd40afffc8\n Author: Kristian Høgsberg <krh@bitplanet.net>\n Date:   Thu Jul 29 18:52:35 2010 -0400\n\n    Always call the flush callback chain when we flush client buffers\n\n    We were missing the callback in a couple of places.  Drivers may use\n    the flush callback to submit batched up rendering before events (for\n    example, damage events) are sent out, to ensure that the rendering\n    has been queued when the client receives the event.\n\n    Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>\n    Reviewed-by: Keith Packard <keithp@keithp.com>\n\n Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>","distinct":false,"url":"https://api.github.com/repos/sunweaver/nx-libs/commits/65b6a62bc726b5e4f4833ed1e27733e22fabcfa8"},{"sha":"cbc2d300b984d7ebc789deac0642104f223c2920","author":{"name":"Peter Harris","email":"eb4bd620c28736cae83ddcb176f15f398730d225@opentext.com"},"message":"Fix overflow of ConnectionOutput->size and ->count\n\n commit 4b0d0df34f10a88c10cb23dd50087b59f5c4fece\n Author: Peter Harris <pharris@opentext.com>\n Date:   Mon Nov 17 14:31:24 2014 -0500\n\n    Fix overflow of ConnectionOutput->size and ->count\n\n    When (long) is larger than (int), and when realloc succeeds with sizes\n    larger than INT_MAX, ConnectionOutput->size and ConnectionOutput->count\n    overflow and become negative.\n\n    When ConnectionOutput->count is negative, InsertIOV does not actually\n    insert an IOV, and FlushClient goes into an infinite loop of writev(fd,\n    iov, 0) [an empty list].\n\n    Avoid this situation by killing the client when it has more than INT_MAX\n    unread bytes of data.\n\n    Signed-off-by: Peter Harris <pharris@opentext.com>\n    Reviewed-by: Keith Packard <keithp@keithp.com>\n    Signed-off-by: Keith Packard <keithp@keithp.com>\n\n Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>","distinct":false,"url":"https://api.github.com/repos/sunweaver/nx-libs/commits/cbc2d300b984d7ebc789deac0642104f223c2920"},{"sha":"2ecd2a006866bd7053536c04b195319a548c6ca2","author":{"name":"Aaron Plattner","email":"6ed1917d896846e638344bfb5f736d3b673d797c@nvidia.com"},"message":"os: Return BadLength instead of disconnecting BigReq clients (#4565)\n\n Backported from X.org:\n\n commit 67c66606c760c263d7a4c2d1bba43ed6225a4e7c\n Author: Robert Morell <rmorell@nvidia.com>\n Date:   Thu May 9 13:09:02 2013 -0700\n\n    os: Reset input buffer's 'ignoreBytes' field\n\n    If a client sends a request larger than maxBigRequestSize, the server is\n    supposed to ignore it.\n\n    Before commit cf88363d, the server would simply disconnect the client.  After\n    that commit, it attempts to gracefully ignore the request by remembering how\n    long the client specified the request to be, and ignoring that many bytes.\n    However, if a client sends a BigReq header with a large size and disconnects\n    before actually sending the rest of the specified request, the server will\n    reuse the ConnectionInput buffer without resetting the ignoreBytes field.  This\n    makes the server ignore new X clients' requests.\n\n    This fixes that behavior by resetting the ignoreBytes field when putting the\n    ConnectionInput buffer back on the FreeInputs list.\n\n    Signed-off-by: Robert Morell <rmorell@nvidia.com>\n    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>\n    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>\n\n commit c80c41767eb101e9dbd8393d8cca7764b4e248a4\n Author: Aaron Plattner <aplattner@nvidia.com>\n Date:   Mon Oct 25 22:01:32 2010 -0700\n\n    os: Fix BigReq ignoring when another request is pending\n\n    Commit cf88363db0ebb42df7cc286b85d30d7898aea840 fixed the handling of\n    BigReq requests that are way too large and handles the case where the\n    read() syscall returns a short read.  However, it neglected to handle\n    the case where it returns a long read, which happens when the client\n    has another request in the queue after the bogus large one.\n\n    Handle the long read case by subtracting the smaller of 'needed' and\n    'gotnow' from oci->ignoreBytes.  If needed < gotnow, simply subtract\n    the two, leaving gotnow equal to the number of extra bytes read.\n    Since the code immediately following the (oci->ignoreBytes > 0) block\n    tries to handle the next request, advance oci->bufptr immediately\n    instead of setting oci->lenLastReq and letting the next call to\n    ReadRequestFromClient do it.\n\n    Fixes the XTS pChangeKeyboardMapping-3 test.\n\n             CASES TESTS  PASS UNSUP UNTST NOTIU  WARN   FIP  FAIL UNRES  UNIN ABORT\n    -Xproto    122   389   367     2    19     0     0     0     1     0     0     0\n    +Xproto    122   389   368     2    19     0     0     0     0     0     0     0\n\n    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>\n    Reviewed-by: Adam Jackson <ajax@redhat.com>\n    Signed-off-by: Keith Packard <keithp@keithp.com>\n\n commit cf88363db0ebb42df7cc286b85d30d7898aea840\n Author: Aaron Plattner <aplattner@nvidia.com>\n Date:   Fri Aug 27 10:20:29 2010 -0700\n\n    os: Return BadLength instead of disconnecting BigReq clients (#4565)\n\n    If a client sends a big request that's too big (i.e. bigger than\n    maxBigRequestSize << 2 bytes), the server just disconnects it.  This makes the\n    client receive SIGPIPE the next time it tries to send something.\n\n    The X Test Suite sends requests that are too big when the test specifies the\n    TOO_LONG test type.  When the client receives SIGPIPE, XTS marks it as\n    UNRESOLVED, which counts as a failure.\n\n    Instead, remember how long the request is supposed to be and then return that\n    size.  Dispatch() checks the length and sends BadLength to the client.  Then,\n    whenever oci->ignoreBytes is nonzero, ignore the data read instead of trying to\n    process it as a request.\n\n    Signed-off-by: Aaron Plattner <aplattner@nvidia.com>\n    Reviewed-by: Keith Packard <keithp@keithp.com>\n    Signed-off-by: Keith Packard <keithp@keithp.com>\n\n Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>","distinct":false,"url":"https://api.github.com/repos/sunweaver/nx-libs/commits/2ecd2a006866bd7053536c04b195319a548c6ca2"},{"sha":"f9123570dbe81fdea4e38e7be9775cf926ed1eb3","author":{"name":"Alan Coopersmith","email":"213b6a7fe88aaaa0324352cedf990a0b57cb6ef5@oracle.com"},"message":"Set padding bytes to 0 in WriteToClient\n\n commit bed610fcae41ddfe21fa9acde599b17d1d15f5d1\n Author: Alan Coopersmith <alan.coopersmith@oracle.com>\n Date:   Mon Jul 9 19:12:44 2012 -0700\n\n    Set padding bytes to 0 in WriteToClient\n\n    Clear them out when needed instead of leaving whatever values were\n    present in previously sent messages.\n\n    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>\n    Reviewed-by: Keith Packard <keithp@keithp.com>\n    Tested-by: Daniel Stone <daniel@fooishbar.org>\n\n Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>","distinct":false,"url":"https://api.github.com/repos/sunweaver/nx-libs/commits/f9123570dbe81fdea4e38e7be9775cf926ed1eb3"},{"sha":"eac0a8fade92e47a8fdbcceb2821e5f9bbf0063f","author":{"name":"Adam Jackson","email":"ecb80db6ebfe88bc7b3496ab61333a14af3caea2@nwnk.net"},"message":"Don't crash on unconfigured interfaces. (X.org bug #5218, Andrei Barbu)\n\n commit 9d62d1e6903ccc095f784279a699b3f40a8f0cf8\n Author: Adam Jackson <ajax@nwnk.net>\n Date:   Sat Jan 7 00:45:17 2006 +0000\n\n    Bug #5218: Don't crash on unconfigured interfaces. (Andrei Barbu)\n\n Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>","distinct":false,"url":"https://api.github.com/repos/sunweaver/nx-libs/commits/eac0a8fade92e47a8fdbcceb2821e5f9bbf0063f"},{"sha":"7177caa702b0a914d5450767a0e632bcb56d33f8","author":{"name":"Mike Gabriel","email":"b7b2ce7e4a094364211cb180b6446ee3e237ed0d@das-netzwerkteam.de"},"message":"Xserver/os/Imakefile: Introduce the NULL variable and line-wrap various variable definitions for the sake of better readability.","distinct":false,"url":"https://api.github.com/repos/sunweaver/nx-libs/commits/7177caa702b0a914d5450767a0e632bcb56d33f8"},{"sha":"104307dd6750205e707635940f5f3efba370f8ec","author":{"name":"Mike Gabriel","email":"b7b2ce7e4a094364211cb180b6446ee3e237ed0d@das-netzwerkteam.de"},"message":"Xserver/os/: Drop not-used-anymore MNX_TCPCONN macro.","distinct":false,"url":"https://api.github.com/repos/sunweaver/nx-libs/commits/104307dd6750205e707635940f5f3efba370f8ec"},{"sha":"0338cbc3f355cdb16da789f446dee2eb7773edba","author":{"name":"Mike Gabriel","email":"b7b2ce7e4a094364211cb180b6446ee3e237ed0d@das-netzwerkteam.de"},"message":"LBX clean-up: Drop forgotten passage in Xserver/os/connection.c.","distinct":false,"url":"https://api.github.com/repos/sunweaver/nx-libs/commits/0338cbc3f355cdb16da789f446dee2eb7773edba"},{"sha":"6bc37b980515995b0944632e5a062246683f1d97","author":{"name":"Alan Coopersmith","email":"213b6a7fe88aaaa0324352cedf990a0b57cb6ef5@sun.com"},"message":"AUDIT messages should contain uid for local accesses (X.org bug #1997)\n\n commit fbfb35189ef6666707097704b43e052cb2f919ae\n Author: Alan Coopersmith <alan.coopersmith@sun.com>\n Date:   Wed Nov 1 15:11:48 2006 -0800\n\n    Bug #1997: AUDIT messages should contain uid for local accesses\n\n    <https://bugs.freedesktop.org/show_bug.cgi?id=1997>","distinct":false,"url":"https://api.github.com/repos/sunweaver/nx-libs/commits/6bc37b980515995b0944632e5a062246683f1d97"},{"sha":"8996f80a5e3b205cb580aba34aa21d165ef78cfb","author":{"name":"Alan Coopersmith","email":"213b6a7fe88aaaa0324352cedf990a0b57cb6ef5@sun.com"},"message":"Rework local client id finding code to be more uniform\n\n Backport of X.org commit:\n\n commit 2d93e69690d2c5d4a89a795ede6423796528e5df\n Author: Alan Coopersmith <alan.coopersmith@sun.com>\n Date:   Thu Sep 27 16:47:06 2007 -0700\n\n    Rework local client id finding code to be more uniform\n\n Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>\n\n Note: This commit also switches client_uid_string's size from 32 to 64 chars,\n as found in this X.org commit (spotted by Mihai Moldovan during code review):\n\n    commit a7b944f0d96c3e0e15e75378a04def1ac96089fb\n    Author: Alan Coopersmith <alan.coopersmith@sun.com>\n    Date:   Wed Nov 1 16:17:49 2006 -0800\n\n        If getpeerucred() is available, include pid & zoneid in audit messages too","distinct":false,"url":"https://api.github.com/repos/sunweaver/nx-libs/commits/8996f80a5e3b205cb580aba34aa21d165ef78cfb"},{"sha":"6c076cfe5a656b03d4bd0dd9742e7a02dce2b957","author":{"name":"Pauli Nieminen","email":"2077134d16a7a5d0ce2f26d6c5ab691733efdac9@nokia.com"},"message":"os: Fix a memory leak\n\n Backported from X.org (+ coding style fixes in other free() calls):\n\n commit 617b7d22115ccaaaa7ec69c99885054d33a3bc37\n Author: Pauli Nieminen <ext-pauli.nieminen@nokia.com>\n Date:   Thu Dec 30 19:19:42 2010 +0200\n\n    os: Fix a memory leak\n\n    Signed-off-by: Pauli Nieminen <ext-pauli.nieminen@nokia.com>\n    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>\n    Reviewed-by: Daniel Stone <daniel@fooishbar.org>\n\n Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>","distinct":false,"url":"https://api.github.com/repos/sunweaver/nx-libs/commits/6c076cfe5a656b03d4bd0dd9742e7a02dce2b957"},{"sha":"f14f738a627b5a6f6c1242f4fe123e4cc9e9c811","author":{"name":"Keith Packard","email":"d5aef14bbc6fea8f865e6ff46cdb390e8b6cfef2@keithp.com"},"message":"dix/os: Merge priority computation into SmartScheduleClient\n\n Backported from X.org:\n\n commit 7762a602c1dfdd8cfcf2b8c2281cf4d683d05216\n Author: Keith Packard <keithp@keithp.com>\n Date:   Thu May 19 15:05:55 2016 -0700\n\n    dix/os: Merge priority computation into SmartScheduleClient\n\n    Instead of having scheduling done in two places (one in\n    WaitForSomething, and the other in SmartScheduleClient), just stick\n    all of the scheduling in SmartScheduleClient.\n\n    Signed-off-by: Keith Packard <keithp@keithp.com>\n    Reviewed-by: Adam Jackson <ajax@redhat.com>\n\n Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>","distinct":false,"url":"https://api.github.com/repos/sunweaver/nx-libs/commits/f14f738a627b5a6f6c1242f4fe123e4cc9e9c811"},{"sha":"366067b7c3678148bff858239e3c16e0d6043e03","author":{"name":"Mike Gabriel","email":"b7b2ce7e4a094364211cb180b6446ee3e237ed0d@das-netzwerkteam.de"},"message":"dix/os: backport various signal handling and smart scheduler changes from X.org\n\n Backported from X.org:\n\n commit 6178b1c91cfc9e860914acc6f0be2f2d2e07a124\n Author: Adam Jackson <ajax@redhat.com>\n Date:   Tue Jun 7 15:52:11 2016 -0400\n\n    dix: Use OsSignal() not signal()\n\n    As the man page for the latter states:\n\n        The effects of signal() in a multithreaded process are unspecified.\n\n    We already have an interface to call sigaction() instead, use it.\n\n    Signed-off-by: Adam Jackson <ajax@redhat.com>\n    Reviewed-by: Keith Packard <keithp@keithp.com>\n\n commit e10ba9e4b52269b2ac75c4802dce4ca47d169657\n Author: Keith Packard <keithp@keithp.com>\n Date:   Wed Nov 11 22:02:01 2015 -0800\n\n    Remove non-smart scheduler. Don't require setitimer.\n\n    This allows the server to call GetTimeInMillis() after each request is\n    processed to avoid needing setitimer. -dumbSched now turns off the\n    setitimer.\n\n    Reviewed-by: Adam Jackson <ajax@redhat.com>\n    Signed-off-by: Keith Packard <keithp@keithp.com>\n\n commit 1f915e8b524dd02011158aa038935970684c7630\n Author: Daniel Drake <drake@endlessm.com>\n Date:   Wed May 20 13:16:12 2015 -0600\n\n    Keep SIGALRM restart flag after Popen\n\n    Commit 94ab7455 added SA_RESTART to the SIGALRM handler.  However, the\n    Popen code tears down and recreates the SIGALRM handler via OsSignal(),\n    and this flag is dropped at this time.\n\n    Clean the code to use just a single codepath for creating this signal\n    handler, always applying SA_RESTART.\n\n    [ajax: Fixed commit id]\n\n    Reviewed-by: Adam Jackson <ajax@redhat.com>\n    Signed-off-by: Daniel Drake <drake@endlessm.com>\n\n commit 94ab7455abc213fc96760e29ab2e943ec682fb22\n Author: Daniel Drake <drake@endlessm.com>\n Date:   Tue May 12 16:39:22 2015 -0600\n\n    Allow system call restarts upon signal interruption\n\n    The X server frequently deals with SIGIO and SIGALRM interruptions.\n    If process execution is inside certain blocking system calls\n    when these signals arrive, e.g. with the kernel blocked on\n    a contended semaphore, the system calls will be interrupted.\n\n    Some system calls are automatically restartable (the kernel re-executes\n    them with the same parameters once the signal handler returns) but\n    only if the signal handler allows it.\n\n    Set SA_RESTART on the signal handlers to enable this convenient\n    behaviour.\n\n    Reviewed-by: Adam Jackson <ajax@redhat.com>\n    Signed-off-by: Daniel Drake <drake@endlessm.com>\n\n commit a6c71ce5d2d2fe89e07a2ef5041c915acc3dc686\n Author: Tiago Vignatti <tiago.vignatti@nokia.com>\n Date:   Mon Mar 28 19:21:28 2011 +0300\n\n    os: fix memory and fd leaks in Popen\n\n    Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>\n    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>\n    Reviewed-by: Nicolas Peninguy <nico@lostgeeks.org>\n\n commit c9051b684b524549eab6d5b88ee3e195a6f6fbe8\n Author: Alan Coopersmith <alan.coopersmith@sun.com>\n Date:   Wed Nov 5 18:25:57 2008 -0800\n\n    Use OsSignal in Popen/Pclose to avoid SysV signal() stupidity\n\n commit 0e9ef65fa583bf2393dd0fda82df6f092387b425\n Author: Keith Packard <keithp@koto.keithp.com>\n Date:   Wed Nov 7 16:33:10 2007 -0800\n\n    Don't frob timers unless SmartSchedule is running\n\n commit 2338d5c9914e2a43c3a4f7ee0f4355ad0a1ad9e7\n Author: Arjan van de Ven <arjan@linux.intel.com>\n Date:   Sun Oct 28 09:37:52 2007 +0100\n\n    reduce wakeups from smart scheduler\n\n    The smart scheduler itimer currently always fires after each request\n    (which in turn causes the CPU to wake out of idle, burning precious\n    power). Rather than doing this, just stop the timer before going into\n    the select() portion of the WaitFor loop. It's a cheap system call, and\n    it will only get called if there's no more commands batched up from the\n    active fd.\n\n    This change also allows some of the functions to be simplified;\n    setitimer() will only fail if it's passed invalid data, and we don't do\n    that... so make it void and remove all the conditional code that deals\n    with failure.\n\n    The change also allows us to remove a few variables that were used for\n    housekeeping between the signal handler and the main loop.\n\n    Signed-off-by: Keith Packard <keithp@koto.keithp.com>\n\n **Note**: The above change also required ABI changes in hw/nxagent/.\n\n commit abe0a51f3f790f8c055289465e130177c4b647cc\n Author: Ben Byer <bbyer@bbyer.apple.com>\n Date:   Fri Sep 21 17:07:36 2007 -0700\n\n    So, like, checking return codes of system calls (signal, etc) is good.\n    Also, only restore an old signal handler if one was actually set\n    (prevents the server from dying on OS X).\n\n commit 6da39c67905500ab2db00a45cda4a9f756cdde96\n Author: Eric Anholt <eric@anholt.net>\n Date:   Wed Sep 12 13:23:13 2007 +0000\n\n    Fix build on FreeBSD after Popen changes.\n\n commit a5b8053606d6e786cdcf6734f271acc05f9cc588\n Author: Adam Jackson <ajax@benzedrine.nwnk.net>\n Date:   Tue Sep 11 11:37:06 2007 -0400\n\n    Ignore - not just block - SIGALRM around Popen()/Pclose().\n\n    Because our \"popen\" implementation uses stdio, and because nobody's stdio\n    library is capable of surviving signals, we need to make absolutely sure\n    that we hide the SIGALRM from the smart scheduler.  Otherwise, when you\n    open a menu in openoffice, and it recompiles XKB to deal with the\n    accelerators, and you popen xkbcomp because we suck, then the scheduler\n    will tell you you're taking forever doing something stupid, and the\n    wait() code will get confused, and input will hang and your CPU usage\n    slams to 100%.  Down, not across.\n\n Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>","distinct":false,"url":"https://api.github.com/repos/sunweaver/nx-libs/commits/366067b7c3678148bff858239e3c16e0d6043e03"},{"sha":"239fe3d0802b12ce8947741693244ff8154fa559","author":{"name":"Rami Ylimäki","email":"81ae4e12357166a60fc729403add4b5434f1fd70@vincit.fi"},"message":"os: Add facilities for client ID tracking.\n\n commit 6d6d4cb6043905d850834946e9bfc526ed5a9ef7\n Author: Matthieu Herrb <matthieu.herrb@laas.fr>\n Date:   Mon Jan 2 13:23:59 2012 +0000\n\n    Add OpenBSD support to DetermineClientCmd()\n\n    Uses kvm_getargv() from libkvm.\n\n    Signed-off-by: Matthieu Herrb <matthieu.herrb@laas.fr>\n    Reviewed-by: Adam Jackson <ajax@redhat.com>\n    Signed-off-by: Keith Packard <keithp@keithp.com>\n\n commit cfc4c3d7fa8bd4da4c08b2ab8e6f85435f75353a\n Author: Alan Coopersmith <alan.coopersmith@oracle.com>\n Date:   Sat Dec 24 10:00:56 2011 -0800\n\n    Add Solaris support to DetermineClientCmd\n\n    Uses /proc/pid/psinfo to read command & partial arguments.\n\n    Moves cmdsize & argsize variables into non-Solaris #else clause\n    to avoid unused variable warnings.\n\n    Fixes format mismatch errors when building with DEBUG defined on\n    a 64-bit platform (where Mask is defined as CARD32).\n\n    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>\n    Reviewed-by: Rami Ylimäki <rami.ylimaki@vincit.fi>\n    Signed-off-by: Keith Packard <keithp@keithp.com>\n\n commit 780133f9ae7fada462714b47e79d26075bbd9abe\n Author: Alan Coopersmith <alan.coopersmith@oracle.com>\n Date:   Fri Oct 28 21:29:50 2011 -0700\n\n    Convert DetermineClientCmd to use strdup instead of malloc+strncpy\n\n    *cmdname is initialized to NULL earlier in the function, so it's\n    okay to overwrite it with NULL if strdup fails, don't need that\n    extra check.\n\n    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>\n    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>\n\n commit 2ef4ff45ef1fcfc4967ebe3d550408769e5f6500\n Author: Erkki Seppälä <erkki.seppala@vincit.fi>\n Date:   Fri Mar 25 10:38:23 2011 +0200\n\n    os/client: Prevent rare fd leak in DetermineClientPid\n\n    DetermineClientPid didn't close file descriptor if read on\n    /proc/pid/cmdline failed. Adjusted the code to disregard the close\n    return value and perform the return after that, if the read failed or\n    returned EOF.\n\n    Signed-off-by: Mark Kettenis <mark.kettenis@xs4all.nl>\n    Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi>\n    Reviewed-by: Rami Ylimäki <rami.ylimaki@vincit.fi>\n    Signed-off-by: Keith Packard <keithp@keithp.com>\n\n commit 1e933665bef26c74196bb7c59910e6a78bcacf0e\n Author: Rami Ylimäki <rami.ylimaki@vincit.fi>\n Date:   Wed Dec 22 16:51:09 2010 +0200\n\n    os: Add facilities for client ID tracking.\n\n    An interface is provided for figuring out the PID and process name of\n    a client. Make some existing functionality from SELinux and IA\n    extensions available for general use.\n\n    Signed-off-by: Rami Ylimäki <rami.ylimaki@vincit.fi>\n    Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>\n\n Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>","distinct":false,"url":"https://api.github.com/repos/sunweaver/nx-libs/commits/239fe3d0802b12ce8947741693244ff8154fa559"},{"sha":"349b6dec54eaa86b49f3627939c4e7039e3b25f0","author":{"name":"Pauli Nieminen","email":"2077134d16a7a5d0ce2f26d6c5ab691733efdac9@nokia.com"},"message":"os: always check if client is local when connection is accepted\n\n Backported from X.org:\n\n commit 2d67ada3c4079a11c52024a9c3d4138becca5171\n Author: Pauli Nieminen <ext-pauli.nieminen@nokia.com>\n Date:   Thu Dec 30 19:19:43 2010 +0200\n\n    os: always check if client is local when connection is accepted\n\n    LocalClient is used for all DRI2 requests that makes it frequently\n    called function. Querying if connection is local or not takes 10-15us\n    (on ARM) depending on malloc speed.\n\n    Signed-off-by: Pauli Nieminen <ext-pauli.nieminen@nokia.com>\n    Reviewed-by: Daniel Stone <daniel@fooishbar.org>\n\n Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>","distinct":false,"url":"https://api.github.com/repos/sunweaver/nx-libs/commits/349b6dec54eaa86b49f3627939c4e7039e3b25f0"},{"sha":"ed52cb2952bebf6b98e187ff1f8609690fae3d59","author":{"name":"Adam Jackson","email":"ecb80db6ebfe88bc7b3496ab61333a14af3caea2@redhat.com"},"message":"dix: Pull client-is-local flag up to the ClientRec\n\n Backported from X.org\n\n commit ff8e3ad8074cd2c8bed49b39c40c2b4892118270\n Author: Adam Jackson <ajax@redhat.com>\n Date:   Thu Sep 20 13:16:59 2012 -0400\n\n    dix: Pull client-is-local flag up to the ClientRec\n\n    Reviewed-by: Daniel Stone <daniel@fooishbar.org>\n    Signed-off-by: Adam Jackson <ajax@redhat.com>\n\n Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>","distinct":false,"url":"https://api.github.com/repos/sunweaver/nx-libs/commits/ed52cb2952bebf6b98e187ff1f8609690fae3d59"},{"sha":"4f76ed19b8a7b9448e29ac152f7f5ec1e611950e","author":{"name":"Adam Jackson","email":"ecb80db6ebfe88bc7b3496ab61333a14af3caea2@redhat.com"},"message":"dix: Extend initial connection handshake for forwarding proxies\n\n commit 78fa121f4097d29458e5453c13473595df06e26e\n Author: Adam Jackson <ajax@redhat.com>\n Date:   Fri Jun 17 13:43:38 2011 -0400\n\n    dix: Extend initial connection handshake for forwarding proxies\n\n    Forwarding proxies like sshd will appear to be local, even though they\n    aren't really.  This leads to weird behaviour for extensions that truly\n    require running under the same OS services as the client, like MIT-SHM\n    and DRI2.\n\n    Add two new legal values for the initial connection's byteOrder field,\n    'r' and 'R'.  These act like 'l' and 'B' respectively, but have the side\n    effect of forcing the client to be treated as non-local.  Forwarding\n    proxies should attempt to munge the first packet of the connection\n    accordingly; older servers will reject connections thusly munged, so the\n    proxy should fall back to passthrough if the munged connection attempt\n    fails.\n\n    Reviewed-by: Daniel Stone <daniel@fooishbar.org>\n    Signed-off-by: Adam Jackson <ajax@redhat.com>\n\n Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>","distinct":false,"url":"https://api.github.com/repos/sunweaver/nx-libs/commits/4f76ed19b8a7b9448e29ac152f7f5ec1e611950e"}]}
{"actor":{"display_login":"sunweaver"}}