summaryrefslogtreecommitdiffstats
path: root/winsup/cygserver
Commit message (Collapse)AuthorAgeFilesLines
* Cygwin: Remove recursive configureJon Turney2020-11-205-5330/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's doesn't seem to be much use in independently distributing these subdirectories, so allowing them to be independently configured seems pointless and overcomplicated. The order in which the subdirectories are built is still a little odd, as cygwin is linked with libcygserver, and cygserver is then linked with cygwin. So, we build the cygwin directory first, which invokes a build of libcygserver in the cygserver directory, and then build in the cygserver directory to build the cygserver executable. Drop AC_CONFIGURE_ARGS, since we don't need to recursively call configure with the same arguments anymore. Slightly refine when we build utils: Previously we didn't build any utils if MinGW compiler use was avoided, now we just avoid building those utils which require that compiler. Greatly simplify how winsup_srcdir and target_builddir are set, since we're only configuring from one directory. (These are still kept absolute, since we don't adjust them where used for being used in a subdirectory). Remove configure.cygwin and put it's (greatly reduced) contents inline in the one place it's used now. Remove generated configure and aclocal.m4 in subdirectories.
* Cygwin: Drop autoconf variable all_hostJon Turney2020-11-022-23/+0
| | | | | | | | The autoconf variable all_host is used to make building of the stub library used by the testsuite conditional on not cross-compiling. Make it unconditional, so we will notice if it's broken when cross-compiling.
* Cygwin: Restore setting CC and CXX Makefile variablesJon Turney2020-10-281-0/+3
| | | | | | | | | | | b55e3f19 was a bit too aggressive in dropping, rather than just un-exporting these Makefile variables. We need to set these to the configured host compiler if we are cross-compiling, otherwise they default to the build compiler. Also export CC to the mkvers.sh script (which requires it since 4eca5e6a). It's unclear why we can't just cause windres to use the build 'cpp' as the pre-processor there.
* Cygwin: Drop do-nothing install_host targetJon Turney2020-10-212-7/+0
| | | | | Drop do-nothing install_host target, which is only used when not cross-compiling.
* Cygwin: Drop cygwin version.o from cygserverJon Turney2020-10-211-3/+1
| | | | The data it contains isn't referenced since 9e9bc3a4.
* Cygwin: Use aclocal option --system-acdir rather than --acdirJon Turney2020-10-181-1/+1
| | | | | | In autogen.sh, use 'aclocal --system-acdir' rather than 'aclocal --acdir'. '--acdir' was deprecated in automake 1.11 and removed in automake 1.13.
* Cygwin: Remove --with-windows-{libs,headers}Jon Turney2020-10-183-102/+0
|
* Cygwin: Remove ccwrapJon Turney2020-10-183-25/+16
| | | | | | | | | | | | | | ccwrap massages the compiler's standard include directories to remove '/usr/include/w32api', with the intent of allowing it to be overriden by '--with-windows-headers' (See 4c36016b). I'm not 100% convinced that this is always working as desired, since in some places w32api includes are done using <w32api/something.h>, which will find them via the path /usr/include. If this does turn out to be needed, this could also be implemented by constructing the appropriate compiler flags once, rather than on every compiler invocation.
* Cygwin: Remove AC_PROG_MAKE_SETJon Turney2020-10-142-35/+0
| | | | | | | | This is only needed if we are using an ancient make which doesn't set ${MAKE}, but we say "This makefile requires GNU make." everywhere. It only has an effect if @SET_MAKE@ is used, which we aren't doing consistently.
* Cygwin: Drop looking for w32api in winsup/w32apiJon Turney2020-10-142-4/+0
| | | | | Stop looking for w32api headers in the (no longer existent) winsup/w32api directory (removed in commit 61746d6ae850).
* Cygwin: cygserver: build with -Wimplicit-fallthrough=5Ken Brown2020-08-074-3/+5
| | | | Define the pseudo keyword 'fallthrough' in woutsup.h to support this.
* Cygwin: cygserver: build with -Wimplicit-fallthrough=4 -WerrorCorinna Vinschen2020-08-071-1/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Cygwin: fix GCC 8.3 'local external declaration' errorsKen Brown2019-07-171-3/+2
| | | | Move external declarations out of function definition.
* Cygwin: fix bumptious GCC 7 warningsCorinna Vinschen2018-06-261-1/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygserver: remove all asserts on "this"Corinna Vinschen2017-11-282-7/+0
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Revert "cygserver: Revamp thread sleep handling"Corinna Vinschen2017-06-205-71/+99
| | | | This reverts commit b80b2c011936f7f075b76b6e59f9e8a5ec49caa1.
* cygserver: Speed up non-debug scenarioCorinna Vinschen2017-03-247-16/+30
| | | | | | | | | _log/_vlog were always called so we always had a function call hit even if we're not debugging. Expand on the debugging macros so the decision to call _log/_vlog is done in the caller already. Also, make a log level difference between syscall_printf and system_printf. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygserver: Small code cleanupCorinna Vinschen2017-03-242-3/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygserver: Revamp thread sleep handlingCorinna Vinschen2017-03-245-99/+71
| | | | | | | | | | | | | | | | | | | | The current implementation is a very simple approach to implement a statically sized sleep queue. The problem is that this code requires a certain amount of synchronization because the slots in the queue are used dynamically. To top it off, the Event objects used for sync'ing are created and destroyed on demand. This is complicated, slow, and error prone. There's also a blatant bug here: The number of slots in the queue was wrongly computed in size. It was too small if XSI IPC was used a lot. Make the code more robust. Let the queue have the right size. Every slot is now used for a specific IPC object. All sync objects (switched to Semaphores) are only created when first required, but never destroyed. This reduces the usage of a critical section to the creation of a new sync object. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygserver: raise number of worker threads on demandCorinna Vinschen2017-03-242-12/+11
| | | | | | | | | | | | | The number of threads in the worker pool is fixed so far. This is a problem in XSI IPC scenarions with an unknown number of consumers. It doesn't make sense to make the pool very big for a start, but when the need arises, we need to make sure we can serve the request even if all other worker threads are in a wait state. This patch changes threaded_queue to just add another worker thread if all current workers are busy. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygserver: Only print basename of source in debug output to raise readabilityCorinna Vinschen2017-03-241-1/+2
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygserver: Seralize debug output to stdout to raise readabilityCorinna Vinschen2017-03-241-0/+13
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout optioncygwin-2_5_2-releaseCorinna Vinschen2016-06-2326-50/+2
| | | | | | | | | | | | | | Bump GPLv2+ to GPLv3+ for some files, clarify BSD 2-clause. Everything else stays under GPLv3+. New Linking Exception exempts resulting executables from LGPLv3 section 4. Add CONTRIBUTORS file to keep track of licensing. Remove 'Copyright Red Hat Inc' comments. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Rename without-mingw-progs to with-cross-bootstrapPeter Foley2016-04-042-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rename without-mingw-progs to with-cross-bootstrap, since it now disables additional checks that are problematic for cross-compilers. When cross-compiling a toolchain targeting cygwin, building cygwin1.dll requires libgcc. However, building libgcc requires the cygwin headers to be installed. Configuring cygwin requries the mingw-crt libraries, which require the cygwin headers to be installed. Work around this circular dependency by making the --with-cross-bootstrap configure option skip cygwin's configure checks for valid mingw-crt libraries. Cygwin will still properly link against these libraries if they exist, but this allows configure to succeed even if the libraries have not been built yet. Since the mingw-crt libraries only require the cygwin headers to be installed, this allows us to successfully configure cygwin so that we can only install the headers without trying to build any libraries. winsup/ChangeLog configure.ac: rename without-mingw-progs option to with-cross-bootstrap configure: regenerate winsup/cygserver/ChangeLog configure.ac: don't check AC_WINDOWS_LIBS when using with-cross-bootstrap configure: regenerate winsup/cygwin/ChangeLog configure.ac: don't check AC_WINDOWS_LIBS when using with-cross-bootstrap configure: regenerate Signed-off-by: Peter Foley <pefoley2@pefoley.com>
* Replace AC_CANONICAL_SYSTEM with AC_CANONICAL_TARGET, fix AC_INIT usageCorinna Vinschen2016-03-302-5/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Remove misleading indentationPeter Foley2016-03-212-3/+6
| | | | | | | | | | | GCC 6.0+ warns on misleading indentation, so fix it. winsup/cygserver/ChangeLog * sysv_msg.cc (msgsnd): Fix misleading indentation. * sysv_msg.cc (msgrcv): Ditto. * sysv_sem.cc (semop): Ditto. Signed-off-by: Peter Foley <pefoley2@pefoley.com>
* winsup: Move all old CVS Changelogs into CVSChangeLogs.old dirCorinna Vinschen2016-03-193-921/+0
|
* Deprecate all winsup ChangeLog filesCorinna Vinschen2016-01-072-833/+834
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* * pwdgrp.cc: Handle default fetch_user_arg_type_t in switchesCorinna Vinschen2015-02-232-1/+14
| | | | throughout to silence compiler.
* * Makefile.in: Simplify rule to build dependencies from cygwin dir.Corinna Vinschen2015-01-282-6/+7
|
* * bsd_helper.h: Throughout, convert "struct thread" to "class thread".Corinna Vinschen2015-01-198-48/+66
| | | | | | | | | | | | | | | | | | | * bsd_mutex.cc (_msleep): Fetch signal_arrived handle from thread's ipcblk. * process.h (class process): Drop _signal_arrived and align methods. (process_cache::process): Drop signal_arrived parameter. * process.cc (process::process): Ditto. Drop related code. (process::~process): Drop closing signal_arrived handle. (process_cache::process): Drop signal_arrived parameter in call to process::process. (thread::dup_signal_arrived): New method duplicating thread's signal_arrived handle. (thread::close_signal_arrived): New method closing thread's signal_arrived handle. * msg.cc (client_request_msg::serve): Drop signal_arrived parameter from call to process_cache::process. Use thread constructor to initialize td. * sem.cc (client_request_sem::serve): Ditto. * shm.cc (client_request_shm::serve): Ditto.
* * cygserver-config: Add -N option to allow different service name.Corinna Vinschen2014-11-062-5/+16
|
* * configure.ac: Convert to new AC_INIT style.Corinna Vinschen2014-08-153-24/+39
| | | | * configure: Regenerate.
* Fix typoCorinna Vinschen2014-07-161-1/+1
|
* * bsd_helper.cc (ipcexit_creat_hookthread): Delete shs in another errorCorinna Vinschen2014-06-232-0/+6
| | | | case to make Coverity really happy (CID 59993).
* * client.cc: Throughout, fix debug output of signed byte count value.Corinna Vinschen2014-06-232-8/+12
|
* * bsd_mutex.cc (msleep_sync_array::~msleep_sync_array): New destructorCorinna Vinschen2014-05-192-0/+7
| | | | to make Coverity happy (CID 59838).
* * bsd_helper.cc (ipcexit_creat_hookthread): Delete shs to makeCorinna Vinschen2014-05-193-4/+18
| | | | | | Coverity happy (CID 59993). * transport_pipes.cc (transport_layer_pipes::listen): Make listen_pipe and connect_pipe statics to make Coverity happy (CID 60010/60011).
* * pwdgrp.cc (client_request_pwdgrp::pwd_serve): Add 1 to the messageCorinna Vinschen2014-04-162-2/+7
| | | | length to account for the trailing NUL.
* * cygserver-config: Use numeric id 18 instead of "system" in chown.Corinna Vinschen2014-04-162-2/+6
|
* * process.cc (process::process): Only notice that signal_arrived isCorinna Vinschen2014-04-072-2/+6
| | | | NULL in debug output.
* * Makefile.in (OBJS): Add pwdgrp.o.Corinna Vinschen2014-03-124-2/+174
| | | | | | * client.cc (client_request::handle_request): Handle CYGSERVER_REQUEST_PWDGRP message. * pwdgrp.cc: New file implementing CYGSERVER_REQUEST_PWDGRP.
* * Throughout, fix format specifiers in debug statements to accommodateCorinna Vinschen2014-03-128-94/+85
| | | | x86_64.
* * setpwd.cc (client_request_setpwd::serve): Use RtlSecureZeroMemory toCorinna Vinschen2014-03-062-2/+7
| | | | delete password from memory.
* winsup/ChangeLog:Christopher Faylor2013-11-074-140/+155
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2013-11-06 Christopher Faylor <me.cygwin2013@cgf.cx> * configure.ac: Detect windows headers/libs after we've figured out the C compiler. * configure: Regenerate. * aclocal.m4: Regenerate. * configure.cygwin: Default to '.' if can't find a winsup directory. winsup/cygserver/ChangeLog: 2013-11-06 Christopher Faylor <me.cygwin2013@cgf.cx> * configure.ac: Detect windows headers/libs after we've figured out the C compiler. * configure: Regenerate. * aclocal.m4: Regenerate. winsup/cygwin/ChangeLog: 2013-11-06 Christopher Faylor <me.cygwin2013@cgf.cx> * configure.ac: Detect windows headers/libs after we've figured out the C compiler. * configure: Regenerate. * aclocal.m4: Regenerate. winsup/utils/ChangeLog: 2013-11-06 Christopher Faylor <me.cygwin2013@cgf.cx> * configure.ac: Detect windows headers/libs after we've figured out the C compiler. * configure: Regenerate. * aclocal.m4: Regenerate.
* * Merge in cygwin-64bit-branch.Corinna Vinschen2013-04-2316-53/+139
|
* * Makefile.in: Remove old from CFLAGS and move C*FLAGS so that they can beChristopher Faylor2012-11-282-3/+9
| | | | manipulated by Makefile.common.
* ChangeLog:Christopher Faylor2012-11-264-114/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2012-11-26 Christopher Faylor <me.cygwin2012@cgf.cx> * configure.ac: Rename from configure.in. * configure.in: Delete. * configure: Regenerate. cygserver/ChangeLog: 2012-11-26 Christopher Faylor <me.cygwin2012@cgf.cx> * configure.ac: Rename from configure.in. * configure.in: Delete. * configure: Regenerate. cygwin/ChangeLog: 2012-11-26 Christopher Faylor <me.cygwin2012@cgf.cx> * configure.ac: Rename from configure.in. * configure.in: Delete. * configure: Regenerate. doc/ChangeLog: 2012-11-26 Christopher Faylor <me.cygwin2012@cgf.cx> * configure.ac: Rename from configure.in. * configure.in: Delete. * configure: Regenerate. lsaauth/ChangeLog: 2012-11-26 Christopher Faylor <me.cygwin2012@cgf.cx> * configure.ac: Rename from configure.in. * configure.in: Delete. * configure: Regenerate. testsuite/ChangeLog: 2012-11-26 Christopher Faylor <me.cygwin2012@cgf.cx> * configure.ac: Rename from configure.in. * configure.in: Delete. * configure: Regenerate. utils/ChangeLog: 2012-11-26 Christopher Faylor <me.cygwin2012@cgf.cx> * configure.ac: Rename from configure.in. * configure.in: Delete. * configure: Regenerate.
* * transport_pipes.cc (pipe_instance_lock_once): Remove.Corinna Vinschen2012-11-262-33/+10
| | | | | | | | (pipe_instance_lock): Remove. (pipe_instance): Remove. (initialise_pipe_instance_lock): Remove. (transport_layer_pipes::accept): Drop entire pipe_instance handling. (transport_layer_pipes::close): Ditto.
* * cygserver.cc (main): Call listen right after creating theCorinna Vinschen2012-11-233-30/+44
| | | | | | | | | transport. * transport_pipes.cc (transport_layer_pipes::listen): Create first instance of the named pipe here. Connect the client side to block it for further use by the system. (transport_layer_pipes::accept): Don't handle first pipe instance here. Change debug output accordingly.