aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c
Commit message (Collapse)AuthorAgeFilesLines
* NXevents.c, NXdispatch.c: add some DEBUG statementsUlrich Sibiller2020-05-311-0/+5
|
* nxagent: Free atom map on terminationUlrich Sibiller2020-05-311-0/+2
|
* NXdispatch.c: free font data on exitUlrich Sibiller2020-05-071-0/+1
| | | | helps to avoid valgrind warnings
* NXdispatch.c: move nxagentCheckIfShadowAgent to client callbackUlrich Sibiller2020-05-071-7/+0
|
* NXdispatch.c: move nxagentClearClipboard to client callbackUlrich Sibiller2020-05-071-12/+3
|
* nxagent: use Xorg's callback mechanism for init/free of client privatesUlrich Sibiller2020-05-071-22/+1
|
* NXdispatch.c, Reconnect.c: fix format specifiersUlrich Sibiller2020-05-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | Fix these warnings with NX_DEBUG_INPUT enabled: NXdispatch.c: In function ‘Dispatch’: NXdispatch.c:350:74: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘CARD32’ {aka ‘unsigned int’} [-Wformat=] fprintf(stderr, "Session: Session started at '%s' timestamp [%lu].\n", ~~^ %u GetTimeAsString(), GetTimeInMillis()); Reconnect.c: In function ‘nxagentHandleConnectionStates’: Reconnect.c:303:74: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘CARD32’ {aka ‘unsigned int’} [-Wformat=] fprintf(stderr, "Session: Session suspended at '%s' timestamp [%lu].\n", GetTimeAsString(), GetTimeInMillis()); ~~^ ~~~~~~~~~~~~~~~~~ %u Reconnect.c: In function ‘nxagentReconnectSession’: Reconnect.c:673:66: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘CARD32’ {aka ‘unsigned int’} [-Wformat=] fprintf(stderr, "Session: Session resumed at '%s' timestamp [%lu].\n", GetTimeAsString(), GetTimeInMillis()); ~~^ ~~~~~~~~~~~~~~~~~ %u
* NXdispatch.c: fix invalid number of character '('Ulrich Sibiller2020-05-071-1/+1
| | | | | | As reported by static analyzer. Attributes ArcticaProject/nx-libs#905
* NXdispatch.c: some cleanupUlrich Sibiller2020-05-071-25/+23
|
* NXdispatch.c: whitespace fixUlrich Sibiller2020-05-071-1/+1
|
* Literals.h: always include in compilationUlrich Sibiller2020-05-071-2/+0
| | | | | | This change ensures Literals.h is always referenced during compilation, effectively hiding it from "unused file" detection we do occasionally to clean up the source code.
* Splash.h: split out xdmcp parts into separate header fileUlrich Sibiller2020-05-071-0/+1
|
* Splash.c: add nxagentHaveSplashWindow helperUlrich Sibiller2020-05-071-1/+1
|
* nxagent: Free atom map on terminationUlrich Sibiller2020-05-071-0/+2
|
* nxagent: remove now-obsolete own copies of ScreenSaver procsUlrich Sibiller2020-04-071-149/+0
| | | | | we moved the auto-disconnect feature to an own timer so there's no need for a special treatment in screen saver stuff anymore.
* nxagent: re-implement timeout handlingUlrich Sibiller2020-04-071-6/+6
| | | | | | Option -timeout used the screensaver facility. This patch changes that to an own timer that is independent. This effectly means we can drop most of the derived screensaving stuff in a follow-up commit.
* nxagent: remove another xprint renmantUlrich Sibiller2020-01-061-2/+12
| | | | | | reqeuestingClient was dropped with the XPRINT drop. Unfortunetely we are usign it in Image.c. So let's introduce nxagentRequestingClient as replacement for now.
* NXdispatch.c: port forgotten patchUlrich Sibiller2020-01-061-0/+3
| | | | had been forgotten in 7a2836f8db9941aaefd88b595f43589ff513b53e
* NXDispatch.c: mark NX changesUlrich Sibiller2020-01-061-7/+18
|
* NXdispatch.c: cleanup ProcCloseFont()Ulrich Sibiller2020-01-061-1/+1
| | | | minimize differences to dix/dispatch.c
* NXdispatch.c: add FIXMEUlrich Sibiller2020-01-061-0/+2
|
* NXdispatch.c: mark NX changesUlrich Sibiller2019-11-021-17/+47
|
* NXdispatch.c: simplify InitClientPrivates()Ulrich Sibiller2019-11-021-33/+9
| | | | by calling the upstream function from dix/dispatch.c
* NXdispatch.c: call upstream CloseDownClient()Ulrich Sibiller2019-11-021-84/+1
| | | | remove ~80 duplicate lines
* NXdispatch.c: Simplify InitSelections()Ulrich Sibiller2019-11-021-6/+2
| | | | by calling upstream version from dispatch.c
* Clipboard.c: introduce nxagentFind*Index functionsUlrich Sibiller2019-09-291-5/+1
| | | | | At some places we were using NumCurrentSelections. We replace that by nxagentMaxSelections because they always have the identical value.
* nxagent: avoid nested externsUlrich Sibiller2019-09-291-1/+2
|
* NXdispatch.c: replace hardcoded values by variables from Clipboard.cUlrich Sibiller2019-09-291-13/+18
|
* NXdispatch.c: move nxagentWMtimeout into the functionUlrich Sibiller2019-08-271-8/+3
| | | | it is only used there, no need for a global variable
* NXdispatch.c: drop currentDispatch variableUlrich Sibiller2019-08-271-13/+8
| | | | was only used once
* nxagent: move nxagentWMPassed to Splash.cUlrich Sibiller2019-08-271-7/+3
| | | | It is only relevant there.
* nxagent: add NXAGENT_ONSTART where missingUlrich Sibiller2019-08-271-0/+2
| | | | | There were some locations referenceing a variable that was only availabe with NXAGENT_ONSTART set
* Splash.c: nxagentRemoveSplashWindow: drop unused parameterUlrich Sibiller2019-08-271-2/+2
|
* NXdispatch.c: use upstream version of ProcSetSelectionOwnerUlrich Sibiller2019-06-111-97/+0
|
* NXdispatch.c: Use Callback instead of a modified functionUlrich Sibiller2019-06-111-9/+0
|
* dix: remove unused requestLogIndexUlrich Sibiller2019-05-291-6/+0
| | | | | | | | | | | | | | | | | | | | | 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: Nicolai Haehnle <nhaehnle@gmail.com> Signed-off-by: Peter 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
* NXdispatch.c: indent code to match environmentUlrich Sibiller2019-05-101-13/+13
|
* NXdispatch.c: add missing fixesUlrich Sibiller2019-05-101-5/+3
| | | | transfer to derived file was incomplete in 6acbfab33133a92dbd7f128284d26f94bfeb1af2
* NXdispatch.c: add missing changeUlrich Sibiller2019-05-101-0/+3
| | | | This change was missing in 239fe3d0802b12ce8947741693244ff8154fa559
* Revert "nxagent: rework Bool handling"Ulrich Sibiller2019-02-151-3/+3
| | | | | | | | | | | | This reverts commit 16cd2bbe1c4425e3fa557f9ca0723aa94a50b071. It turned out that I had missed some of the Booleans being actually tristate variables. I think I can fix this (they do not need to be tristate) but I revert this for now to get back to a working state (there are reports about non-working fullscreen mode and reconnect problems). Refers to ArcticaProject/nx-libs#772
* nxagent: rework Bool handlingUlrich Sibiller2019-02-111-3/+3
| | | | drop "== False", "== 0", "== True" and "== 0" for nxagentOptions and Traps
* nxagent: use nxagentWMPassed as Bool all over the placeUlrich Sibiller2018-10-221-1/+1
| | | | has been used as integer sometimes (technically correct, but not nice)
* hw/nxagent: fix spelling errors as reported by codespellUlrich Sibiller2018-05-241-1/+1
|
* NXdispatch.c: add FIXMEUlrich Sibiller2018-02-051-0/+1
|
* NXdispatch.c: fix wrong indentationUlrich Sibiller2018-02-051-6/+6
|
* reduce usage of uninitialised bytesUlrich Sibiller2017-12-281-1/+1
| | | | as reported by valgrind
* hw/nxagent/NXdispatch.c: Fix compiler warning: misleading-indentationMike Gabriel2017-12-141-1/+1
| | | | | | | | | | NXdispatch.c: In function 'Dispatch': NXdispatch.c:309:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation] if (!(dispatchException & DE_TERMINATE)) ^~ NXdispatch.c:312:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if' while (!dispatchException) ^~~~~
* dix/os: backport various signal handling and smart scheduler changes from X.orgMike Gabriel2017-03-211-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Adam Jackson <ajax@redhat.com> Reviewed-by: Keith 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: Adam Jackson <ajax@redhat.com> Signed-off-by: Keith 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: Adam Jackson <ajax@redhat.com> Signed-off-by: Daniel 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: Adam Jackson <ajax@redhat.com> Signed-off-by: Daniel 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: Tiago Vignatti <tiago.vignatti@nokia.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Nicolas 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: Keith 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: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* replace (DE)ALLOCATE_LOCAL by malloc/freeUlrich Sibiller2017-03-031-4/+4
| | | | | | | | | | | | | | | | | | | | | | This is basically a backport of the following commits + replacing xalloc/xfree by malloc/free. Fixes ArcticaProject/nx-libs#358. commit 2761c103311a1160bc483fd0367d654733df8598 Author: Daniel Stone <daniel@fooishbar.org> Date: Mon Nov 5 14:03:26 2007 +0000 OS: Remove usage of alloca Replace with heap allocations. commit 5e363500c86042c394595e1a6633581eb8fcd1bb Author: Daniel Stone <daniel@fooishbar.org> Date: Mon Nov 5 14:38:28 2007 +0000 OS: Remove ALLOCATE_LOCAL from os.h Remove ALLOCATE_LOCAL_FALLBACK and DEALLOCATE_LOCAL_FALLBACK from os.h, and remove the include of Xalloca.h as well.
* Naming change: Security*Access -> Dix*AccessMike Gabriel2017-02-201-8/+8
| | | | | | | | | | | | Backported from X.org: commit 6c46645cfc1afda8aeabfe0ed4d9342673b702f1 Author: Eamon Walsh <ewalsh@tycho.nsa.gov> Date: Thu Dec 14 14:45:42 2006 -0500 Naming change: Security*Access -> Dix*Access Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>