aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygserver
AgeCommit message (Collapse)AuthorFilesLines
2022-05-04Revert "sys/types.h: Don't include sys/_stdint.h"Corinna Vinschen1-1/+0
This reverts commit 4232d171a620662aaed650879936eac60aefd9e0.
2022-05-03sys/types.h: Don't include sys/_stdint.hCorinna Vinschen1-0/+1
By including sys/_stdint.h, all types from stdint.h are exposed even if stdint.h isn't pulled in explicitely. Include <machine/_default_types.h instead. Fix up newlib and Cygwin files which rely on stdint.h types, too. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2021-08-26Cygwin: Allow using CFLAGS also for C++ filesCorinna Vinschen1-0/+1
This was used before switching to automake to allow easy tweaking of optimization and debugging settings from the command line during testing. Reenable. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2021-08-26Cygwin: C++17: register keyword is deprecatedCorinna Vinschen1-6/+6
The register keyword was already deprecated with C++11, but with C++17 it has been entirely removed. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2021-04-29Cygwin: drop all generated autotools filesCorinna Vinschen1-1241/+0
- add autotool files generated under winsup to .gitignore Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2021-04-27Cygwin: Use automake (v5)Jon Turney2-52/+1271
v2: * Include tzmap.h in BUILT_SOURCES * Make per-file flags appear after user-supplied CXXFLAGS, so they can override optimization level. * Correct .o files used to define symbols exported by libm.a * Drop gcrt0.o mistakenly included in libgmon.a * Add missing line continuations in GMON_FILES value v3: * use per-file flags for .c compilation * override C{XX,}FLAGS, as they are set on the command line by top-level make v4: * Drop -Wno-error=write-strings from path_testsuite CXXFLAGS v5: * Update for changes in master - Add -fno-threadsafe-statics to CXX flags - Add hypotl.cc - Remove fenv.cc (in favour of newlib), add fenv.c stub - Add proc.5 manpage rules
2020-11-20Cygwin: Remove recursive configureJon Turney5-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.
2020-11-02Cygwin: Drop autoconf variable all_hostJon Turney2-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.
2020-10-28Cygwin: Restore setting CC and CXX Makefile variablesJon Turney1-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.
2020-10-21Cygwin: Drop do-nothing install_host targetJon Turney2-7/+0
Drop do-nothing install_host target, which is only used when not cross-compiling.
2020-10-21Cygwin: Drop cygwin version.o from cygserverJon Turney1-3/+1
The data it contains isn't referenced since 9e9bc3a4.
2020-10-18Cygwin: Use aclocal option --system-acdir rather than --acdirJon Turney1-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.
2020-10-18Cygwin: Remove --with-windows-{libs,headers}Jon Turney3-102/+0
2020-10-18Cygwin: Remove ccwrapJon Turney3-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.
2020-10-14Cygwin: Remove AC_PROG_MAKE_SETJon Turney2-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.
2020-10-14Cygwin: Drop looking for w32api in winsup/w32apiJon Turney2-4/+0
Stop looking for w32api headers in the (no longer existent) winsup/w32api directory (removed in commit 61746d6ae850).
2020-08-07Cygwin: cygserver: build with -Wimplicit-fallthrough=5Ken Brown4-3/+5
Define the pseudo keyword 'fallthrough' in woutsup.h to support this.
2020-08-07Cygwin: cygserver: build with -Wimplicit-fallthrough=4 -WerrorCorinna Vinschen1-1/+1
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2019-07-17Cygwin: fix GCC 8.3 'local external declaration' errorsKen Brown1-3/+2
Move external declarations out of function definition.
2018-06-26Cygwin: fix bumptious GCC 7 warningsCorinna Vinschen1-1/+1
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2017-11-28cygserver: remove all asserts on "this"Corinna Vinschen2-7/+0
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2017-06-20Revert "cygserver: Revamp thread sleep handling"Corinna Vinschen5-71/+99
This reverts commit b80b2c011936f7f075b76b6e59f9e8a5ec49caa1.
2017-03-24cygserver: Speed up non-debug scenarioCorinna Vinschen7-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>
2017-03-24cygserver: Small code cleanupCorinna Vinschen2-3/+3
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2017-03-24cygserver: Revamp thread sleep handlingCorinna Vinschen5-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>
2017-03-24cygserver: raise number of worker threads on demandCorinna Vinschen2-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>
2017-03-24cygserver: Only print basename of source in debug output to raise readabilityCorinna Vinschen1-1/+2
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2017-03-24cygserver: Seralize debug output to stdout to raise readabilityCorinna Vinschen1-0/+13
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-06-23Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout optioncygwin-2_5_2-releaseCorinna Vinschen26-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>
2016-04-04Rename without-mingw-progs to with-cross-bootstrapPeter Foley2-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>
2016-03-30Replace AC_CANONICAL_SYSTEM with AC_CANONICAL_TARGET, fix AC_INIT usageCorinna Vinschen2-5/+3
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-03-21Remove misleading indentationPeter Foley2-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>
2016-03-19winsup: Move all old CVS Changelogs into CVSChangeLogs.old dirCorinna Vinschen3-921/+0
2016-01-07Deprecate all winsup ChangeLog filesCorinna Vinschen2-833/+834
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-02-23 * pwdgrp.cc: Handle default fetch_user_arg_type_t in switchesCorinna Vinschen2-1/+14
throughout to silence compiler.
2015-01-28 * Makefile.in: Simplify rule to build dependencies from cygwin dir.Corinna Vinschen2-6/+7
2015-01-19 * bsd_helper.h: Throughout, convert "struct thread" to "class thread".Corinna Vinschen8-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.
2014-11-06 * cygserver-config: Add -N option to allow different service name.Corinna Vinschen2-5/+16
2014-08-15 * configure.ac: Convert to new AC_INIT style.Corinna Vinschen3-24/+39
* configure: Regenerate.
2014-07-16Fix typoCorinna Vinschen1-1/+1
2014-06-23 * bsd_helper.cc (ipcexit_creat_hookthread): Delete shs in another errorCorinna Vinschen2-0/+6
case to make Coverity really happy (CID 59993).
2014-06-23 * client.cc: Throughout, fix debug output of signed byte count value.Corinna Vinschen2-8/+12
2014-05-19 * bsd_mutex.cc (msleep_sync_array::~msleep_sync_array): New destructorCorinna Vinschen2-0/+7
to make Coverity happy (CID 59838).
2014-05-19 * bsd_helper.cc (ipcexit_creat_hookthread): Delete shs to makeCorinna Vinschen3-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).
2014-04-16 * pwdgrp.cc (client_request_pwdgrp::pwd_serve): Add 1 to the messageCorinna Vinschen2-2/+7
length to account for the trailing NUL.
2014-04-16 * cygserver-config: Use numeric id 18 instead of "system" in chown.Corinna Vinschen2-2/+6
2014-04-07 * process.cc (process::process): Only notice that signal_arrived isCorinna Vinschen2-2/+6
NULL in debug output.
2014-03-12 * Makefile.in (OBJS): Add pwdgrp.o.Corinna Vinschen4-2/+174
* client.cc (client_request::handle_request): Handle CYGSERVER_REQUEST_PWDGRP message. * pwdgrp.cc: New file implementing CYGSERVER_REQUEST_PWDGRP.
2014-03-12 * Throughout, fix format specifiers in debug statements to accommodateCorinna Vinschen8-94/+85
x86_64.
2014-03-06 * setpwd.cc (client_request_setpwd::serve): Use RtlSecureZeroMemory toCorinna Vinschen2-2/+7
delete password from memory.