1. 07 May, 2020 1 commit
  2. 05 Jan, 2020 4 commits
  3. 12 Jun, 2019 1 commit
    • Ulrich Sibiller's avatar
      Remove the Must_have_memory hack. · a765857a
      Ulrich Sibiller authored
      We are not using any alloc function that respects that variable, so
      lets drop it. Backport of this commit:
      
        commit 0ce61e21d6d7dcca0090e319bbcdb678570f2c3f
        Author: Adam Jackson <ajax@redhat.com>
        Date:   Fri Oct 3 16:05:19 2008 -0400
      
          Remove the Must_have_memory hack.
      
          Also remove an astonishing amount of misunderstanding of how casts work.
      a765857a
  4. 29 May, 2019 1 commit
    • Ulrich Sibiller's avatar
      dix: remove unused requestLogIndex · 0eab060d
      Ulrich Sibiller authored
      As done in these commits:
      
        commit 6583477035234e23ead2fad9db7a07e5862447a4
        Author: Nicolai Hähnle <nhaehnle@gmail.com>
        Date:   Sat May 23 13:35:24 2009 +0200
      
          Remove reference to non-existing requestLog and requestLogIndex
      
          These fields were removed in 252ec504817e05b185e4896a2d899e9c00b8aeef.
      Signed-off-by: 's avatarNicolai Haehnle <nhaehnle@gmail.com>
      Signed-off-by: 's avatarPeter Hutterer <peter.hutterer@who-t.net>
      
        commit 252ec504817e05b185e4896a2d899e9c00b8aeef
        Author: Adam Jackson <ajax@redhat.com>
        Date:   Mon Mar 30 15:18:30 2009 -0400
      
          Document which bits of ClientRec are currently unused
      0eab060d
  5. 09 Nov, 2018 2 commits
  6. 22 Oct, 2018 1 commit
  7. 03 Jul, 2018 1 commit
    • Mike Gabriel's avatar
      Removal of dead code in Xserver/xkb. Follow-up commit for 3739a9b3. · e734ca21
      Mike Gabriel authored
       Spotted in and backported from X.org:
      
       commit 021fc5cb2cb4a7972b4a6fcb570c1da92787d68d
       Author: Adam Jackson <ajax@benzedrine.nwnk.net>
       Date:   Sun Mar 18 16:31:19 2007 -0400
      
          Static markup and dead code cull over xkb/.
      
          The former <X11/extensions/XKBsrv.h> has been pulled into the server now as
          include/xkbsrv.h, and the world updated to look for it in the new place,
          since it made no sense to define server API in an extension header.  Any
          further work along this line will need to do similar things with XKBgeom.h
          and friends.
      Backported-to-NX-by: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
      e734ca21
  8. 27 Feb, 2018 1 commit
  9. 26 Feb, 2018 3 commits
  10. 07 Feb, 2018 1 commit
  11. 16 Dec, 2017 3 commits
  12. 10 Dec, 2017 2 commits
    • Daniel Kurtz's avatar
      os/xprintf: add Xvscnprintf and Xscnprintf · a6e632aa
      Daniel Kurtz authored
      Backported from X.org:
      
      commit 5c2e2a164d615ab06be28a663734e782614b5cc7
      Author: Daniel Kurtz <djkurtz@chromium.org>
      Date:   Wed Apr 18 09:51:51 2012 +0000
      
          os/xprintf: add Xvscnprintf and Xscnprintf
      
          Normal snprintf() usually returns the number of bytes that would have been
          written into a buffer had the buffer been long enough.
      
          The scnprintf() variants return the actual number of bytes written,
          excluding the trailing '\0'.
      Signed-off-by: 's avatarDaniel Kurtz <djkurtz@chromium.org>
      Reviewed-by: 's avatarPeter Hutterer <peter.hutterer@who-t.net>
      Signed-off-by: 's avatarPeter Hutterer <peter.hutterer@who-t.net>
      Backported-to-NX-by: 's avatarMihai Moldovan <ionic@ionic.de>
      a6e632aa
    • Alan Coopersmith's avatar
      Add asprintf() implementation for platforms without it · 1e3a9748
      Alan Coopersmith authored
      Backported from X.org:
      
      commit c95c1d338fdb62dbe3dba934b97324fa778b7fce
      Author: Alan Coopersmith <alan.coopersmith@oracle.com>
      Date:   Sat Nov 27 18:43:12 2010 -0800
      
          Add asprintf() implementation for platforms without it
      
          Provides a portable implementation of this common allocating sprintf()
          API found in many, but not yet all, of the platforms we support.
          If the platform provides vasprintf() we simply wrap it, otherwise we
          implement it - either way callers can use it regardless of platform.
      
          Since not all platforms guarantee to NULL out the return pointer on
          failure, we don't either, and require callers to check the return
          value for -1.
      
          The old Xprintf() API is deprecated, but left for compatibility for now.
      
          The new API is added in a new header so that it can be used in parts of
          the server such as hw/xfree86/parser that don't include all the server
          headers.
      Signed-off-by: 's avatarAlan Coopersmith <alan.coopersmith@oracle.com>
      Reviewed-by: 's avatarMikhail Gusarov <dottedmag@dottedmag.net>
      
      Includes re-indentation changes from
      9838b7032ea9792bec21af424c53c07078636d21.
      Backported-to-NX-by: 's avatarMihai Moldovan <ionic@ionic.de>
      1e3a9748
  13. 28 Jun, 2017 1 commit
    • Adam Jackson's avatar
      dix: Remove arch awareness from servermd.h (X.org v2, nx-libs v4) · f77a4b40
      Adam Jackson authored
       commit 1af15aaf278edcf6f6de94774350e34a80883c24
       Author: Olivier Fourdan <ofourdan@redhat.com>
       Date:   Fri Apr 10 10:07:38 2015 +0200
      
          dix: Fix image byte order on big endian hardware
      
          Make sure X_BIG_ENDIAN/X_LITTLE_ENDIAN are defined before actually using
          them.
      
          Otherwise, image byte order could be wrong on big endian hardware even
          though endianess detection is correct.
      Reported-by: 's avatarTim Waugh <twaugh@redhat.com>
      Signed-off-by: 's avatarOlivier Fourdan <ofourdan@redhat.com>
      Reviewed-by: 's avatarAdam Jackson <ajax@redhat.com>
      
       commit 4302484ef2e67b2e05756c7ee0834dce938f1b44
       Author: Adam Jackson <ajax@redhat.com>
       Date:   Mon Jul 21 10:06:53 2014 -0400
      
          dix: Remove arch awareness from servermd.h (v2)
      
          At this point we have no architectures where image byte order is
          different from bitmap bit order, or where either of those two are not
          also the native word endianness.  Hooray, one more place where we don't
          have to worry about enabling new CPU architectures.
      
          v2: Rebase to master to handle the addition of ppc64le, arc, and xtensa,
          and use autoconf's endianness detection instead of gcc predefines.
      Signed-off-by: 's avatarAdam Jackson <ajax@redhat.com>
      Reviewed-by: 's avatarDaniel Stone <daniels@collabora.com>
      Signed-off-by: 's avatarKeith Packard <keithp@keithp.com>
      
       commit f6469f1910c72add358b7263d69bd116b4450ece
       Author: Adam Jackson <ajax@redhat.com>
       Date:   Mon Jul 21 10:06:46 2014 -0400
      
          dix: Remove some XFree86 3.x leftovers
      Signed-off-by: 's avatarAdam Jackson <ajax@redhat.com>
      Reviewed-by: 's avatarDaniel Stone <daniels@collabora.com>
      Signed-off-by: 's avatarKeith Packard <keithp@keithp.com>
      
       commit 5aaacb501ff26bad391664cc7367bfe5164f72c7
       Author: Adam Jackson <ajax@redhat.com>
       Date:   Mon Jul 21 10:06:45 2014 -0400
      
          dix: Remove an ancient IBM configuration
      
          Whatever unix this was meant to be is either no longer in circulation,
          or is AIX, which we don't claim to support anyway.
      Signed-off-by: 's avatarAdam Jackson <ajax@redhat.com>
      Reviewed-by: 's avatarDaniel Stone <daniels@collabora.com>
      Signed-off-by: 's avatarKeith Packard <keithp@keithp.com>
      
       commit 446fe9eecddd1337f9d5164dd7c301e1ba3dfe32
       Author: Daniel Stone <daniel@fooishbar.org>
       Date:   Thu Jul 17 21:37:50 2008 +0300
      
          Dead code removal
      
          Remove a whole bunch of code that was never built, be it entire files or
          just dead ifdefs.
      Backported-to-NX-by: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
      f77a4b40
  14. 19 Apr, 2017 1 commit
  15. 10 Apr, 2017 5 commits
  16. 21 Mar, 2017 10 commits
    • Alan Coopersmith's avatar
      Use unique logfile names when starting server with -displayfd · e96e810c
      Alan Coopersmith authored
       commit edcb6426f20c3be5dd5f50b76a686754aef2f64e
       Author: Alan Coopersmith <alan.coopersmith@oracle.com>
       Date:   Fri Jan 1 18:11:14 2016 -0800
      
          Use unique logfile names when starting server with -displayfd
      
          Fixes https://bugs.freedesktop.org/show_bug.cgi?id=93212
      
          Previously all X servers started with -displayfd would overwrite
          Xorg.0.log - now a temporary name of Xorg.pid-<pid>.log is used
          until after -displayfd finds an open display - then it is renamed
          to the traditional Xorg.<display>.log name.
      Reviewed-by: 's avatarAdam Jackson <ajax@redhat.com>
      Signed-off-by: 's avatarAlan Coopersmith <alan.coopersmith@oracle.com>
      Backported-to-NX-by: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
      e96e810c
    • Keith Packard's avatar
      os: Use NotifyFd interface for listen descriptors · c468be80
      Keith Packard authored
       Bundle X.org backport of these commits:
      
       commit 7ea64fb4374504bd3d524fc08c90efdab9f253ea
       Author: Alan Coopersmith <alan.coopersmith@oracle.com>
       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: 's avatarAlan Coopersmith <alan.coopersmith@oracle.com>
      Reviewed-by: 's avatarAdam Jackson <ajax@redhat.com>
      Signed-off-by: 's avatarPeter Hutterer <peter.hutterer@who-t.net>
      
       commit 7b02f0b87ec2fa0cc5a65307a1fd55c671cec884
       Author: Keith Packard <keithp@keithp.com>
       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: 's avatarAdam Jackson <ajax@redhat.com>
      Signed-off-by: 's avatarKeith Packard <keithp@keithp.com>
      
       commit ba71b69f94f00a6f6910597185610668e79c10be
       Author: Alan Coopersmith <alan.coopersmith@oracle.com>
       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 & initialized, so CloseWellKnownConnections would
          segfault trying to read entries from a NULL ListenTransFds pointer.
      
          Introduced by commit 7b02f0b8
      Signed-off-by: 's avatarAlan Coopersmith <alan.coopersmith@oracle.com>
      Reviewed-by: 's avatarKeith Packard <keithp@keithp.com>
      Backported-to-NX-by: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
      c468be80
    • Jon TURNEY's avatar
      Handle -displayfd and an explicit display number sensibly · 3be144ff
      Jon TURNEY authored
       commit bc348bd2c42f3f18786085ccef2f010eff5bf3d2
       Author: Jon TURNEY <jon.turney@dronecode.org.uk>
       Date:   Mon Mar 11 14:34:32 2013 +0000
      
          Handle -displayfd and an explicit display number sensibly
      
          Handle -displayfd and an explicit display number sensibly, e.g. use the
          explicitly specified display number, and write it to the displayfd
      
          v2: displayfd might be 0, so use -1 as invalid value
          v3: Rebase for addition of NoListenAll flag
      Signed-off-by: 's avatarJon TURNEY <jon.turney@dronecode.org.uk>
      Reviewed-by: 's avatarKristian Høgsberg <krh@bitplanet.net>
      Backported-to-NX-by: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
      3be144ff
    • Kristian Høgsberg's avatar
      os: Add a mechanism to prevent creating any listen sockets · e8bc4c7e
      Kristian Høgsberg authored
       commit 44fe1b8ea284df6bbaef67e246016d104665b2fe
       Author: Kristian Høgsberg <krh@bitplanet.net>
       Date:   Wed Mar 19 14:03:13 2014 -0700
      
          os: Add a mechanism to prevent creating any listen sockets
      
          A socket-activated server will receive its listening sockets from the
          parent process and should not create its own sockets.  This patch
          introduces a NoListen flag that can be set by a DDX to prevent
          the server from creating the sockets.  When NoListen is enabled, we
          also disable the server lock checking, since the parent process is
          responsible for checking the lock before picking the display name and
          creating the sockets.
      Signed-off-by: 's avatarKristian Høgsberg <krh@bitplanet.net>
      Signed-off-by: 's avatarPeter Hutterer <peter.hutterer@who-t.net>
      Reviewed-by: 's avatarDaniel Stone <daniel@fooishbar.org>
      Backported-to-NX-by: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
      e8bc4c7e
    • Chase Douglas's avatar
      os: Add -displayfd option · 89496d98
      Chase Douglas authored
       commit 88bacc49f06da5927f716869f5a32672a8297ed0
       Author: Chase Douglas <chase.douglas@canonical.com>
       Date:   Wed Apr 4 15:29:42 2012 -0700
      
          os: Add -displayfd option
      
          This option specifies a file descriptor in the launching process.  X
          will scan for an available display number and write that number back to
          the launching process, at the same time as SIGUSR1 generation.  This
          means display managers don't need to guess at available display numbers.
          As a consequence, if X fails to start when using -displayfd, it's not
          because the display was in use, so there's no point in retrying the X
          launch on a higher display number.
      Signed-off-by: 's avatarAdam Jackson <ajax@redhat.com>
      Signed-off-by: 's avatarChase Douglas <chase.douglas@canonical.com>
      Reviewed-by: 's avatarJulien Cristau <jcristau@debian.org>
      Tested-by: 's avatarJulien Cristau <jcristau@debian.org>
      Reviewed-by: 's avatarAlan Coopersmith <alan.coopersmith@oracle.com>
      Signed-off-by: 's avatarPeter Hutterer <peter.hutterer@who-t.net>
      Backported-to-NX-by: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
      89496d98
    • Adam Jackson's avatar
      Move SIGUSR1 notification as late as possible. · f5301dee
      Adam Jackson authored
       commit f01e149d1af14ef9ee0e8a6743ab6a08f3bb677c
       Author: Adam Jackson <ajax@redhat.com>
       Date:   Thu Nov 1 15:41:11 2007 -0400
      
          Move SIGUSR1 notification as late as possible.
      
          If we inherited a signal mask from the parent process that ignores SIGUSR1,
          then we will send SIGUSR1 to the parent to indicate when we're ready to
          accept connections.  Unfortunately, we send this notification way too
          early, right after creating the sockets rather than just before entering
          the main loop.
      
          Move it to just before Dispatch() so we're not lying quite so much.
      Backported-to-NX-by: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
      f5301dee
    • Adam Jackson's avatar
      dix: Pull client-is-local flag up to the ClientRec · ed52cb29
      Adam Jackson authored
       Backported from X.org
      
       commit ff8e3ad8074cd2c8bed49b39c40c2b4892118270
       Author: Adam Jackson <ajax@redhat.com>
       Date:   Thu Sep 20 13:16:59 2012 -0400
      
          dix: Pull client-is-local flag up to the ClientRec
      Reviewed-by: 's avatarDaniel Stone <daniel@fooishbar.org>
      Signed-off-by: 's avatarAdam Jackson <ajax@redhat.com>
      Backported-to-NX-by: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
      ed52cb29
    • Rami Ylimäki's avatar
      os: Add facilities for client ID tracking. · 239fe3d0
      Rami Ylimäki authored
       commit 6d6d4cb6043905d850834946e9bfc526ed5a9ef7
       Author: Matthieu Herrb <matthieu.herrb@laas.fr>
       Date:   Mon Jan 2 13:23:59 2012 +0000
      
          Add OpenBSD support to DetermineClientCmd()
      
          Uses kvm_getargv() from libkvm.
      Signed-off-by: 's avatarMatthieu Herrb <matthieu.herrb@laas.fr>
      Reviewed-by: 's avatarAdam Jackson <ajax@redhat.com>
      Signed-off-by: 's avatarKeith Packard <keithp@keithp.com>
      
       commit cfc4c3d7fa8bd4da4c08b2ab8e6f85435f75353a
       Author: Alan Coopersmith <alan.coopersmith@oracle.com>
       Date:   Sat Dec 24 10:00:56 2011 -0800
      
          Add Solaris support to DetermineClientCmd
      
          Uses /proc/pid/psinfo to read command & partial arguments.
      
          Moves cmdsize & 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: 's avatarAlan Coopersmith <alan.coopersmith@oracle.com>
      Reviewed-by: 's avatarRami Ylimäki <rami.ylimaki@vincit.fi>
      Signed-off-by: 's avatarKeith Packard <keithp@keithp.com>
      
       commit 780133f9ae7fada462714b47e79d26075bbd9abe
       Author: Alan Coopersmith <alan.coopersmith@oracle.com>
       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: 's avatarAlan Coopersmith <alan.coopersmith@oracle.com>
      Reviewed-by: 's avatarJeremy Huddleston <jeremyhu@apple.com>
      
       commit 2ef4ff45ef1fcfc4967ebe3d550408769e5f6500
       Author: Erkki Seppälä <erkki.seppala@vincit.fi>
       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: 's avatarMark Kettenis <mark.kettenis@xs4all.nl>
      Signed-off-by: 's avatarErkki Seppälä <erkki.seppala@vincit.fi>
      Reviewed-by: 's avatarRami Ylimäki <rami.ylimaki@vincit.fi>
      Signed-off-by: 's avatarKeith Packard <keithp@keithp.com>
      
       commit 1e933665bef26c74196bb7c59910e6a78bcacf0e
       Author: Rami Ylimäki <rami.ylimaki@vincit.fi>
       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: 's avatarRami Ylimäki <rami.ylimaki@vincit.fi>
      Reviewed-by: 's avatarTiago Vignatti <tiago.vignatti@nokia.com>
      Backported-to-NX-by: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
      239fe3d0
    • Mike Gabriel's avatar
      dix/os: backport various signal handling and smart scheduler changes from X.org · 366067b7
      Mike Gabriel authored
       Backported from X.org:
      
       commit 6178b1c91cfc9e860914acc6f0be2f2d2e07a124
       Author: Adam Jackson <ajax@redhat.com>
       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: 's avatarAdam Jackson <ajax@redhat.com>
      Reviewed-by: 's avatarKeith Packard <keithp@keithp.com>
      
       commit e10ba9e4b52269b2ac75c4802dce4ca47d169657
       Author: Keith Packard <keithp@keithp.com>
       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: 's avatarAdam Jackson <ajax@redhat.com>
      Signed-off-by: 's avatarKeith Packard <keithp@keithp.com>
      
       commit 1f915e8b524dd02011158aa038935970684c7630
       Author: Daniel Drake <drake@endlessm.com>
       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: 's avatarAdam Jackson <ajax@redhat.com>
      Signed-off-by: 's avatarDaniel Drake <drake@endlessm.com>
      
       commit 94ab7455abc213fc96760e29ab2e943ec682fb22
       Author: Daniel Drake <drake@endlessm.com>
       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: 's avatarAdam Jackson <ajax@redhat.com>
      Signed-off-by: 's avatarDaniel Drake <drake@endlessm.com>
      
       commit a6c71ce5d2d2fe89e07a2ef5041c915acc3dc686
       Author: Tiago Vignatti <tiago.vignatti@nokia.com>
       Date:   Mon Mar 28 19:21:28 2011 +0300
      
          os: fix memory and fd leaks in Popen
      Signed-off-by: 's avatarTiago Vignatti <tiago.vignatti@nokia.com>
      Reviewed-by: 's avatarPeter Hutterer <peter.hutterer@who-t.net>
      Reviewed-by: 's avatarNicolas Peninguy <nico@lostgeeks.org>
      
       commit c9051b684b524549eab6d5b88ee3e195a6f6fbe8
       Author: Alan Coopersmith <alan.coopersmith@sun.com>
       Date:   Wed Nov 5 18:25:57 2008 -0800
      
          Use OsSignal in Popen/Pclose to avoid SysV signal() stupidity
      
       commit 0e9ef65fa583bf2393dd0fda82df6f092387b425
       Author: Keith Packard <keithp@koto.keithp.com>
       Date:   Wed Nov 7 16:33:10 2007 -0800
      
          Don't frob timers unless SmartSchedule is running
      
       commit 2338d5c9914e2a43c3a4f7ee0f4355ad0a1ad9e7
       Author: Arjan van de Ven <arjan@linux.intel.com>
       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: 's avatarKeith Packard <keithp@koto.keithp.com>
      
       **Note**: The above change also required ABI changes in hw/nxagent/.
      
       commit abe0a51f3f790f8c055289465e130177c4b647cc
       Author: Ben Byer <bbyer@bbyer.apple.com>
       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 <eric@anholt.net>
       Date:   Wed Sep 12 13:23:13 2007 +0000
      
          Fix build on FreeBSD after Popen changes.
      
       commit a5b8053606d6e786cdcf6734f271acc05f9cc588
       Author: Adam Jackson <ajax@benzedrine.nwnk.net>
       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: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
      366067b7
    • Alan Coopersmith's avatar
      Rework local client id finding code to be more uniform · 8996f80a
      Alan Coopersmith authored
       Backport of X.org commit:
      
       commit 2d93e69690d2c5d4a89a795ede6423796528e5df
       Author: Alan Coopersmith <alan.coopersmith@sun.com>
       Date:   Thu Sep 27 16:47:06 2007 -0700
      
          Rework local client id finding code to be more uniform
      Backported-to-NX-by: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
      
       Note: This commit also switches client_uid_string's size from 32 to 64 chars,
       as found in this X.org commit (spotted by Mihai Moldovan during code review):
      
          commit a7b944f0d96c3e0e15e75378a04def1ac96089fb
          Author: Alan Coopersmith <alan.coopersmith@sun.com>
          Date:   Wed Nov 1 16:17:49 2006 -0800
      
              If getpeerucred() is available, include pid & zoneid in audit messages too
      8996f80a
  17. 17 Mar, 2017 1 commit
  18. 15 Mar, 2017 1 commit
    • Keith Packard's avatar
      os: Add NotifyFd interfaces · 86110d6e
      Keith Packard authored
       Backported from X.org:
      
       commit 0c41b7af4ab0c8d22b88f201293f59524d1e7317
       Author: Keith Packard <keithp@keithp.com>
       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: 's avatarAdam Jackson <ajax@redhat.com>
      Signed-off-by: 's avatarKeith Packard <keithp@keithp.com>
      Backported-to-NX-by: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
      86110d6e