summaryrefslogtreecommitdiffstats
path: root/winsup
Commit message (Collapse)AuthorAgeFilesLines
...
* Drop has_always_all_codepages flagCorinna Vinschen2016-06-233-55/+1
|
* Drop has_broken_udf flagCorinna Vinschen2016-06-234-47/+3
|
* Drop has_sendmsg flagCorinna Vinschen2016-06-233-11/+1
|
* Drop has_mandatory_integrity_control flagCorinna Vinschen2016-06-233-47/+31
|
* Drop has_restricted_stack_args flagCorinna Vinschen2016-06-233-16/+0
|
* Drop supports_all_posix_ai_flagsCorinna Vinschen2016-06-233-84/+2
|
* Drop has_gaa_on_link_prefix flag and remove obsolete functions thuslyCorinna Vinschen2016-06-234-167/+4
|
* Drop has_recycle_dot_binCorinna Vinschen2016-06-233-63/+9
|
* Add release message for commit 733af66Corinna Vinschen2016-06-231-0/+14
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Clarify source file license in CYGWIN_LICENSECorinna Vinschen2016-06-231-5/+7
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Remove support for SUNWNFS file systemCorinna Vinschen2016-06-235-37/+11
|
* Handle up to 63 partitions per driveCorinna Vinschen2016-06-2321-37276/+2374
| | | | | | | | | | | | | | Revamp device parsing code. Introducing support for more partitions into the shilka-generated parser has the unfortunate side-effect of raising the size of the DLL by almost 2 Megs. Therefore we split out the handling for /dev/sdXY devices into a tiny bit of hand-written code. While at it, remove some unused cruft from devices.* and generally clean up the device class to provide access methods instead of direct access to members. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Bump DLL minor versionCorinna Vinschen2016-06-231-1/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout optioncygwin-2_5_2-releaseCorinna Vinschen2016-06-23408-1053/+347
| | | | | | | | | | | | | | 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>
* Add release message for commit 2c83227Corinna Vinschen2016-06-211-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Drop useless calls to path_conv.isgood_inodeCorinna Vinschen2016-06-211-6/+2
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Use correct file info (especially inode number) for newly created filesCorinna Vinschen2016-06-211-3/+9
| | | | | | | | | | | | | | fhandler_base::open_fs has two problems: - When newly creating a file, the file info in the path_conv is incorrect. It points to info for the parent dir, not to info for the file itself (which, naturally, wasn't available before). - Fetching the file's inode number only worked for non-NFS. Both problems should be fixed now by reloading file info if the file has just been created, as well as using the new FS-agnostic path_conv::get_ino method. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Use new path_conv_handle functions to access file infoCorinna Vinschen2016-06-212-15/+5
| | | | | | | This avoids having to call nfs_fetch_fattr3/file_get_fai depending on FS type as well as having to extract the info FS dependent. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Improve encapsulation of FS type behind path_conv coverCorinna Vinschen2016-06-211-3/+24
| | | | | | | | | | | Rather than having to check for the FS type in the caller and having to call different functions whether FS is NFS or not, encapsulate the info in path_conv_handle/path_conv methods to allow FS type agnostic calling from upper level functions. This patch only implements the methods. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* uinfo.cc: More comment fixes, remove unused testing code.Corinna Vinschen2016-06-151-12/+4
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* uinfo.cc: Fix commentCorinna Vinschen2016-06-151-2/+2
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix typos in comments and debug output in select_stuff::waitCorinna Vinschen2016-06-081-3/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for commit 7239bb7b3ded5ab961dc56dc346d8ab83660ba29Corinna Vinschen2016-06-061-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for select(2) changesCorinna Vinschen2016-06-061-0/+2
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Improve timer handling in select.Corinna Vinschen2016-06-061-43/+50
| | | | | | | | | | | | | | | | | | | | | | | Commit a23e6a35d896a075640db714b28ce74bb6b8d7ff introduced a timer object to the WFMO handling in select_stuff::wait to allow sub-tickcount timeout values in select. Problems with this patch: The timer was created and destroyed on every invocation of select_stuff::wait, thus potentially multiple times per select. Also, since the timer was prepended to the WFMO hande list, the timer handle could shadow actual events on other objects, given that WFMO checks the objects in the order they have been specified in the HANDLE array. The timer was also created/destroyed and added to the HANDLE array even if it was not required. This patch drops the local timer HANDLE and recycles the cw_timer HANDLE in the cygtls area instead. Thus we typically don't need to create the timer in select at all, and we never have to destroy it. The timer HANDLE is now also appended as last object to the HANDLE array, and it's only added if actually needed. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix condition in select which results in busy loop.Corinna Vinschen2016-06-061-1/+1
| | | | | | | | | | | The check for current timestamp > start timestamp has an unwelcome side effect: The loop is not left as long as the current timestamp hasn't been incremented. This leads to busy loops of about one tick (10 to 16 ms per MSDN). This fixes https://cygwin.com/ml/cygwin/2016-05/msg00327.html Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Return at most one line of input in canonical modeTakashi Yano2016-06-061-6/+5
| | | | | | | | | | | | | | | | | 'man termios' says: "A read(2) returns at most one line of input" in canonical mode. On cygwin 2.5.1, read(2) returns all data in buffer if the buffer size specified is large enough. This behaviour is correct in noncanonical mode, but is not correct in canonical mode. While checking this problem, I found a bug of tcflush(). tcflush() flushes only partial data in the buffer. The patch also fixes this bug. The patch has also been tested against the problem reported in https://cygwin.com/ml/cygwin/2016-05/msg00318.html. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Allow 'make distclean' to clean winsup/cygwinKen Brown2016-06-062-7/+9
| | | | But don’t let it remove source files.
* Only regenerate tlsoffsets{64}.h if cygtls.h can be compiledCorinna Vinschen2016-06-061-1/+1
| | | | | | | | | | | | The rule to make tlsoffset{64}.h has a flaw. If cygtls.h can't be built for whatever reason, it *still* regenerates tlsoffsets{64}.h, just with size 0. If the bug is not in cygtls.h itself, this behaviour breaks further building, because fixing the problem won't result in regenerating tlsoffset{64}.h. Manual intervention is required. Fix that by removing tlsoffsets{64}.h if gentls_offsets fails. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: include sys/types.h in sys/xattr.hYaakov Selkowitz2016-06-031-0/+1
| | | | | | | Using libattr's <xattr/xattr.h> requires consumers to explicitly include <sys/types.h> first, but glibc's header in sys/ already contains the include. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* sched.cc: Use PROCESS_QUERY_INFORMATION for nowCorinna Vinschen2016-06-031-2/+1
| | | | | | | | Temporarily revert to use PROCESS_QUERY_INFORMATION instead of PROCESS_QUERY_LIMITED_INFORMATION to make sure every aspect of the next release is still XP/2003 compatible. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Revert "Cygwin hangs up if several keys are typed during outputting a lot of ↵Corinna Vinschen2016-06-011-1/+1
| | | | | | | | | texts." This reverts commit 252a07b0ad3353abcd0fcd9b1b65ff977acd679e. This change introduced a hang in certain scenarios, for an example see https://cygwin.com/ml/cygwin/2016-05/msg00318.html
* dlopen: Add dot to filename if no slash is presentCorinna Vinschen2016-06-011-1/+1
| | | | | | | | We're appending a dot to the filename before calling LoadLibrary to override ".dll" automagic. This only worked for paths, not for simple filenames since it required a slash in the pathname. Fix that. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Cygwin: Add release messages for previous two commitsCorinna Vinschen2016-05-311-0/+6
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* realpath: Handle Win32 and NT long path prefixesCorinna Vinschen2016-05-311-4/+6
| | | | | | | | | | So far drive letter paths have been handled special since path_conv leaves the incoming path untouched except for converting backslashes to forward slashes. However, if the incoming path starts with a long path prefix, the same problem occurs. Therefore handle all paths starting with a backslahs the same way. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* TZ: Replace unreliable isupper calls on wcharsCorinna Vinschen2016-05-251-2/+4
| | | | | | | | | In case the TZ variable is empty, Cygwin fetches timezone info from Windows. Extracting the timezone short name uses isupper on wide chars. Replace with explicit check for A <= character <= Z to be independent of undefined behaviour. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Git is Git, not GITAdam Dinwoodie2016-05-242-3/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix typo and wrong URL in winsup/READMECorinna Vinschen2016-05-241-3/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for previous mmap fixCorinna Vinschen2016-05-201-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* mmap: Fix size restriction of maps due to using 32 bit size typeCorinna Vinschen2016-05-202-35/+36
| | | | | | | | | Throughout mmap, size-related variables and parameters are still using DWORD as type, which disallows mapping ranges > 4Gigs. Fix this by using SIZE_T throughout for those vars and parameters. Also, drop unused off parameter from 1st variant of mmap_record::map_pages. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for scheduler fixesCorinna Vinschen2016-05-201-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix thread priority handlingCorinna Vinschen2016-05-201-9/+11
| | | | | | | | | | | | | | | So far pthread::postcreate() only sets the thread priority at all, only if the inherit-scheduler attribute is PTHREAD_EXPLICIT_SCHED. This completely ignores the PTHREAD_INHERIT_SCHED case, since in contrast to POSIX, a thread does not inherit its priority from the creating thread, but always starts with THREAD_PRIORITY_NORMAL. pthread_getschedparam() only returns what's stored in the thread attributes, not the actual thread priority. This patch fixes both problems. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Rewrite scheduler functions getting and setting process and thread priorityCorinna Vinschen2016-05-202-172/+173
| | | | | | | | | | | | | | | | So far the scheduler priority handling is not POSIX compatible. The priorities use a range of -14 up to +15, which means it's not clear if the POSIX-required return value of -1 in case of an error is *really* an error or just the valid priority value -1. Even more confusing, -14 is the *max* value and 15 is the *min* value. Last but not least this range doesn't match the POSIX requirement of at least 32 priority values. This patch cleans up scheduler priority handling and moves the valid priority range to 1 (min) - 32 (max). It also adds a function sched_get_thread_priority() which will help to make thread priority more POSIX-like. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Miscellaneous style cleanup, whitespace only.John Hood2016-05-201-2/+2
|
* Improve and simplify select().John Hood2016-05-202-49/+15
| | | | | | | | | * select.h: Eliminate redundant select_stuff::select_loop state. * select.cc (select): Eliminate redundant select_stuff::select_loop state. Eliminate redundant code for zero timeout. Do not return early on early timer return. (select_stuff::wait): Eliminate redundant select_stuff::select_loop state.
* Use high-resolution timebases for select().John Hood2016-05-202-70/+114
| | | | | | | | | | | * select.h: Change prototype for select_stuff::wait() for larger microsecond timeouts. * select.cc (pselect): Convert from old cygwin_select(). Implement microsecond timeouts. (cygwin_select): Rewrite as a wrapper on pselect(). (select): Implement microsecond timeouts. (select_stuff::wait): Implement microsecond timeouts with a timer object.
* Bump Cygwin DLL version to 2.5.2Corinna Vinschen2016-05-182-1/+14
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Always provide register_t via <sys/types.h>Sebastian Huber2016-04-211-5/+0
| | | | | | | | Always provide register_t via <sys/types.h> for glibc and BSD compatibility. Define __BIT_TYPES_DEFINED__ to 1 like glibc for legacy header files. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
* Remove cygwin/types.hCorinna Vinschen2016-04-211-22/+0
|
* Resurrect <machine/types.h> for <sys/types.h>Sebastian Huber2016-04-212-123/+143
| | | | | | | | | | | Resurrect <machine/_user_types.h> for use in <sys/types.h>. Newlib targets may provide an own version of <machine/types.h> in their machine directory to add custom user types for <sys/types.h>. Check the _SYS_TYPES_H header guard to prevent a direct include of <machine/types.h>, since the <machine/types.h> file is a Newlib speciality. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>