summaryrefslogtreecommitdiffstats
path: root/winsup/cygserver
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* cygwin/ChangeLog:Christopher Faylor2012-11-232-5/+6
| | | | | | | | | | | | | | | | | 2012-11-23 Christopher Faylor <me.cygwin2012@cgf.cx> * Makefile.in: Use explicit path to mkdir. lsaauth/ChangeLog: 2012-11-23 Christopher Faylor <me.cygwin2012@cgf.cx> * Makefile.in: Use /bin/mkdir to make directories. testsuite/ChangeLog: 2012-11-23 Christopher Faylor <me.cygwin2012@cgf.cx> * Makefile.in: Remove old Makefile.common'isms. Don't rely on in-build tools.
* * sysv_sem.cc (semundo_clear): Move condition to break fromCorinna Vinschen2012-11-232-2/+7
| | | | inner loop to the right spot.
* ChangeLog:Christopher Faylor2012-11-236-1319/+676
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2012-11-12 Christopher Faylor <me.cygwin2012@cgf.cx> * Makefile.common: Revamp for new configury. Add default compilation targets, include .E processing. Add magic for allowing "CFLAGS" to control optimization options in "CXXFLAGS". * configure.cygwin: New include for Cygwin configure.in's. * acinclude.m4: Delete old definitions. Implement AC_WINDOWS_HEADERS, AC_WINDOWS_LIBS, AC_CYGWIN_INCLUDES, target_builddir, winsup_srcdir. * aclocal.m4: Regenerate. * autogen.sh: New file. * ccwrap: New script. * c++wrap: New script. * config.guess: New script. * config.sub: New script. * configure: Regenerate. * configure.in: Eliminate LIB_AC_PROG_* calls in favor of standard. Delete ancient target test. * install-sh: New script. cygserver/ChangeLog: 2012-11-12 Christopher Faylor <me.cygwin2012@cgf.cx> * Makefile.in: Revamp for new configury. * configure.in: Revamp for new configury. * aclocal.m4: Regenerate. * configure: Ditto. * autogen.sh: New script. cygwin/ChangeLog: 2012-11-22 Christopher Faylor <me.cygwin2012@cgf.cx> * select.cc (select): Don't return -1 when we've timed out after looping. 2012-11-22 Christopher Faylor <me.cygwin2012@cgf.cx> * Makefile.in: Revamp for new configury. (datarootdir): Add variable setting. (winver_stamp): Accommodate changes to mkvers.sh setting. (libc.a): Fix race when libm.a might not have been built yet. * configure.in: Revamp for new configury. * aclocal.m4: Regenerate. * configure: Ditto. * autogen.sh: New script. * mkvers.sh: Find include directives via CFLAGS and friends rather than assuming that w32api lives nearby. utils/ChangeLog: 2012-11-12 Christopher Faylor <me.cygwin2012@cgf.cx> * aclocal.m4: Regenerate. * configure: Ditto. * autogen.sh: New script. * configure.in: Revamp for new configury. * Makefile.in: Revamp for new configury. Rename ALL_* to just *. Always use "VERBOSE" setting. (MINGW_CXX): Don't include CFLAGS in definition. (all): Define target first, before everything else so that it is the default. (ps.exe): Don't add useless -lcygwin. (ldh.exe): For consistency, add to existing MINGW_LDFLAGS rather than redefining them. (cygcheck.exe): Always include -lz for MINGW_LDFLAGS. Don't try to figure out where to find it. (dumper.exe): Simplify check. Assume libraries are installed rather than trying to retrieve from source tree. (install): Just use /bin/mkdir to create directories. (Makefile): Regenerate when standard dependencies change. * dump_setup.cc: Always include zlib.h. Remove accommodations for it possibly not existing. * parse_pe.cc: Add define which allows building with installed binutils package. * dumper.cc: Ditto.
* * bsd_helper.cc (adjust_identity_info): Fix typo in log message.Corinna Vinschen2012-10-252-2/+6
|
* * woutsup.h: Just include winlean.h.Corinna Vinschen2012-07-192-16/+5
|
* * client.cc: Revert sigproc.h inclusion since it was fixed elsewhere.Christopher Faylor2012-03-192-4/+4
|
* * client.cc: Include sigproc.h if __INSIDE_CYGWIN__ is defined.Corinna Vinschen2012-03-192-0/+8
|
* * client.cc: Remove unneeded #include "sigproc.h".Christopher Faylor2012-03-192-2/+4
|
* * transport_pipes.cc (transport_layer_pipes::transport_layer_pipes):Corinna Vinschen2012-02-142-7/+6
| | | | Always use cygwin_internal to fetch installation key.
* * cygserver.cc (print_usage): Align output to utilities in utilsCorinna Vinschen2011-10-102-26/+29
| | | | | directory. (print_version): Ditto.
* * sysv_shm.cc (ACCESSPERMS): Remove to fix redefined warning, asYaakov Selkowitz2011-08-192-1/+5
| | | | this is now defined in <sys/stat.h>.
* * configure.in: Remove AC_ALLOCA test and test for __builtin_memset.Corinna Vinschen2011-02-073-3018/+2973
| | | | * configure: Regenerate.
* * transport_pipes.cc: Include ntdef.h to accommodate cygerrno.h.Christopher Faylor2010-04-202-0/+5
|
* * Makefile.in (cygserver.exe): Link with -static to avoid linkingCorinna Vinschen2009-11-162-1/+6
| | | | against cygstdc++-6.dll due to references to __cxa_pure_virtual.
* * transport_pipes.cc (transport_layer_pipes::transport_layer_pipes):Corinna Vinschen2009-11-062-1/+11
| | | | | | Check cygwin_internal for returning 0 rather than for != 0. (transport_layer_pipes::accept): Add debug output. (transport_layer_pipes::connect): Ditto.