| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
a given DLL name. Change default search path to allow /usr/bin.
(get_full_path_of_dll): Find DLLs even if the caller used a ".so"
suffix or a "lib" prefix for the DLL.
|
|
|
|
| |
unlock_and_remove.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
field.
(class lockf_t): Add lf_ver field.
(lockf_t::lockf_t): Initialize lf_ver to 0.
(class inode_t): Change i_wait to i_cnt. Change comment to explain
change in usage.
(inode_t:use): Rename from wait. Make private.
(inode_t::unuse): Rename from unwait. Make private.
(inode_t::inuse): Rename from waiting. Make private.
(inode_t::notused): New public method to set use count to 0.
(inode_t::unlock_and_remove): New method to unlock node and to delete
it if it's unused in current process.
(fhandler_base::del_my_locks): Drop global list lock. Drop variable
no_locks_left. Simpify unlocking and removing node by just calling
unlock_and_remove.
(fixup_lockf_after_exec): Call notused method for each node.
(inode_t::get): Call use method. Lock node only if outside of list
lock.
(inode_t::get_all_locks_list): Accommodate additional lf_ver field
when creating lockf_t structure from object name.
(lockf_t::create_lock_obj_attr): Accommodate additional lf_ver field
when creating object name from lockf_t structure. Handle
STATUS_OBJECT_NAME_COLLISION gracefully in F_POSIX case as well.
Change comment accordingly. Increment lf_ver field rather than high
byte of lf_wid field. Simplify comment.
(fhandler_disk_file::lock): Always call unlock_and_remove rather than
just UNLOCK on node.
(lf_setlock): Move ret definition where it's used. Drop unneeded
tests for obj being not NULL. Only check for deadlock condition if the
lock we're trying to establish is a POSIX lock. Revamp object
collecting and wait code to cover all cases. Don't return with EDEADLK
if blocking process can't be opened for synchronization in F_POSIX case,
rather just wait like in F_FLOCK case. Change system_printf to
debug_printf in that case. Only run WaitForMultipleObjects with high
priority. Close obj and process handles prior to locking node.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(fhandler_base::close): Move call to del_my_locks from here...
* fhandler_disk_file.cc (fhandler_disk_file::open): ...to here.
* flock.cc (struct lockfattr_t): New type.
(lockf_t::close_lock_obj): New method, use throughout.
(lockf_t::create_lock_obj_attr): New method.
(lockf_t::create_lock_obj): Use create_lock_obj_attr method. Handle
STATUS_OBJECT_NAME_COLLISION in F_FLOCK case gracefully. Add lengthy
comments to explain why and how.
(lockf_t::open_lock_obj): Use create_lock_obj_attr method.
(lockf_t::del_lock_obj): Call NtSetEvent rather than SetEvent for
symmetry.
(fhandler_disk_file::lock): Define n only where it's used. Call
need_fork_fixup only if call was successful. Handle EINTR and
ECANCELED return values from lf_setlock.
(lf_setlock): Drop WAIT_UNLOCKED and WAIT_PROC_EXITED. Don't wait
for event object handle count to become <= 1 in F_LOCK case.
Simplify WFMO return value handling. Don't handle signal and cancel
events here; just return with appropriate error code instead.
(lf_getblock): Ignore locks for which the handle can't be opened.
Use IsEventSignalled.
* ntdll.h (STATUS_INVALID_INFO_CLASS): Undef if defined elsewhere to
make sure the definition is casted to NTSTATUS.
(STATUS_INVALID_HANDLE): Define and ditto.
(STATUS_OBJECT_NAME_COLLISION): Define.
(NtSetEvent): Declare.
|
| |
|
|
|
|
| |
also in freerange thread case.
|
|
|
|
|
|
| |
FILE_OVERWITE/FILE_OVERWRITE_IF. Set file size to 0 explicitely if
regular, existing file has been opened for writing with O_TRUNC flag
set. Explain why.
|
|
|
|
|
|
|
|
| |
sigprocmask to copy parent thread signal mask into new parent_sigmask
member.
(pthread::thread_init_wrapper): Copy _my_tls.sigmask from new
parent_sigmask member.
* thread.h (class pthread): Drop parent_tls. Add parent_sigmask.
|
|
|
|
| |
contents if we've asked _main_tls to exit.
|
| |
|
|
|
|
| |
* include/_mingw.h: Increment version to 3.20.
|
|
|
|
|
| |
* tlsmthread.c: Update to reflect changes in tlssup.c.
* tlssup.c: code clean-up.
|
|
|
|
|
| |
encountered. Enforce timeout set to 0 in case of invalid fds. Take
number of invalid fds into account when returning.
|
|
|
|
|
| |
nosignal flag. Convert ECONNABORTED on connection-oriented socket
to EPIPE, too.
|
|
|
|
|
| |
* libc/stdlib/putenv_r.c: Use "strchr" instead of obsolete "index".
* libc/stdlib/setenv_r.c: Use "memcpy" instead of obsolete "bcopy".
|
|
|
|
|
|
|
| |
* libc/misc/ffs.c, libc/string/bcmp.c, libc/string/bcopy.c,
libc/string/bzero.c, libc/string/index.c, libc/string/rindex.c,
libc/string/strcasecmp.c, libc/string/strncasecmp.c:
Let synopsis reference "#include <strings.h>".
|
|
|
|
|
|
|
| |
* libc/posix/regexec.c: Define "nope" only #ifndef NDEBUG.
* libc/stdio/vfscanf.c: Define "state" only #ifdef _MB_CAPABLE.
* libc/string/wcwidth.c: Include <wctypes.h> for "iswprint" and
"iswcntrl".
|
|
|
|
|
| |
* libc/sys/rtems/include/limits.h: Compute SSIZE_MAX based on
__SIZE_MAX__, __SIZEOF_SIZE_T__ and __CHAR_BIT__.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libc/string/index.c: Include <strings.h> for "index".
* libc/string/rindex.c: Include <strings.h> for "rindex".
* libc/string/strcasecmp.c: Include <strings.h> for "strcasecmp".
Don't include <string.h>.
* libc/string/strncasecmp.c: Include <strings.h> for "strncasecmp".
Don't include <string.h>.
* libc/string/bzero.c: Include <strings.h> for "bzero".
Don't include <string.h>
* libc/misc/ffs.c: Include <strings.h> for "ffs".
Don't include <_ansi.h>.
|
| |
|
| |
|
|
|
|
| |
(_PATH_SHELLS): Define.
|
|
|
|
|
| |
shortcuts RO, X, and WC. Use in creating access flag string. Don't
set type flag to 's' for copy-on-write pages, as on Linux.
|
|
|
|
|
|
|
|
| |
* libc/sys/rtems/crt0.c: Rework RTEMS_STUB macro.
Include <unistd.h>.
Remove C++-style comments.
Remove hppa, a29k.
Add clock_gettime, gettimeofday, sched_yield.
|
|
|
|
| |
* include/_mingw.h: Increment version to 3.19.
|
|
|
|
|
|
| |
* include/float.h: Modify guard to accomodate CLang.
Thanks to Ruben Van Boxem for the report.
|
|
|
|
| |
* tlssup.c: Remove mingwm10.dll fallback.
|
|
|
|
|
|
| |
* include/sys/types.h (ssize_t): Defined as int as opposed to long.
Thanks to bvassche for the report.
|
|
|
|
| |
and /proc/misc.
|
|
|
|
|
|
|
|
| |
DEV_SOUND_MAJOR. Use throughout.
* fhandler_proc.cc (proc_tab): Add /proc/devices and /proc/misc
virtual files.
(format_proc_devices): New function.
(format_proc_misc): New function.
|
|
|
|
|
|
|
|
|
|
| |
* environ.cc (conv_start_chars): Move to shared cygwin region and initialize at
compile time.
(match_first_char): New generic function for querying conv_start_chars.
(posify_maybe): Rename from posify.
(environ_init): Remove conv_envvars initialization. Don't check
conv_start_chars, just allow posify_maybe to make the decision.
* fhandler_console.cc (__vt100_conv): Fix formatting. Mark as const.
|
|
|
|
|
|
|
|
|
| |
* libc/stdio/vasiprintf.c: Include "local.h" for "_svfiprintf_r".
* libc/stdio/vasprintf.c Include "local.h" for "_svfprintf_r".
* libc/stdio/vsiprintf.c: Include "local.h" for "_svfiprintf_r".
* libc/stdio/vsniprintf.c: Include "local.h" for "_svfiprintf_r".
* libc/stdio/vsnprintf.c: Include "local.h" for "_svfprintf_r"
* libc/stdio/vsprintf.c: Include "local.h" for "_svfprintf_r"
|
|
|
|
|
|
|
| |
* libc/string/bcmp.c: Include <strings.h> for "bcmp".
* libc/string/bcopy.c: Include <strings.h> for "bcopy".
* libc/string/strcasestr.c: Include <strings.h> for "strncasecmp".
* libc/time/strptime.c: Include <strings.h> for "strncasecmp".
|
|
|
|
|
|
|
|
|
|
| |
This directory contains some files that are used to generate some
of the files included in the GDB release, and thus must be part of
the GDB release also.
ChangeLog:
* src-release (GDB_SUPPORT_DIRS): Add 'cpu'.
|
|
|
|
| |
sections as well.
|
|
|
|
|
| |
Add comment.
* libc/include/sys/unistd.h (execlpe): Declare for Cygwin.
|
|
|
|
|
| |
being given as negative.
(mktime): Set tm_isdst=0 when !daylight.
|
|
|
|
|
| |
using the device independent key code, rather than the device dependent
scan code.
|
| |
|
|
|
|
| |
this is now defined in <sys/stat.h>.
|
|
|
|
| |
* init.cc: Reflect change to dll_crt0_0 in declaration.
|
|
|
|
| |
(dtable::stdio_init): Fix incorrect negation of not_open(2) condition.
|
|
|
|
|
| |
* net.cc (gethostby_helper): Remove DEBUGGING code from and
streamline the second pass.
|
|
|
|
|
|
|
|
|
|
| |
internal datastructures. Explain the code.
* ntdll.h (struct _LDR_DATA_TABLE_ENTRY): Define.
(struct _PEB_LDR_DATA): Define.
(struct _PEB): Change PVOID LoaderData to PPEB_LDR_DATA Ldr.
* fhandler_process.cc (format_process_maps): Call NtQueryVirtualMemory
with valid return length pointer. Explain why.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* dlfcn.cc: Throughout mark exported symbols as extern "C".
(dlopen): Unignore flags argument. Define ret to NULL. Fix typo in
comment. Support Glibc flags RTLD_NOLOAD and RTLD_NODELETE.
* include/dlfcn.h: Clean up comments.
(RTLD_NODELETE): Define.
(RTLD_NOLOAD): Define.
(RTLD_DEEPBIND): Define.
|
|
|
|
|
| |
generate normalized pathnames from here...
(_pipe): ...to here.
|