Christopher Faylor
f9fb1149d5
Revert 2005-05-30 close_all_files changes.
...
* spawn.cc (spawn_guts): When execing, close all files after the child has
synced with us.
2005-06-02 02:36:50 +00:00
Christopher Faylor
5ac6edefaf
* fhandler_disk_file.cc (fhandler_disk_file::fchown): Make sure that disk open
...
is called in case we're passed in a non-existent device.
2005-06-02 01:50:23 +00:00
Christopher Faylor
31d0f220ad
* include/machine/stdlib.h: New file.
2005-06-01 18:24:31 +00:00
Christopher Faylor
19adafdc21
* thread.h (List_remove): Revert most of 2005-05-30 change.
2005-06-01 14:55:45 +00:00
Christopher Faylor
8d05cca34b
* cygwin.sc: Don't output .reloc or .rsrc sections. Clean up stuff around
...
.cygheap and use a workaround to get things working with newer
(broken?) binutils.
2005-06-01 04:42:44 +00:00
Christopher Faylor
5d4a672193
* cygheap.cc (cygheap_end): Remove bogus section attribute.
...
* cygwin.sc: Make __cygheap_mid absolute. Remove unused _cygheap_foo.
2005-06-01 04:00:40 +00:00
Christopher Faylor
ce95c6407e
* child_info.h (child_info::cygheap_h): Delete.
...
(child_info::dwProcessId): New field.
* cygheap.cc (init_cheap): Delete.
(dup_now): Ditto.
(cygheap_setup_for_child): Ditto.
(cygheap_setup_for_child_cleanup): Ditto.
(cygheap_fixup_in_child): Simplify. Use new "child_copy" function to copy heap
from parent.
(_csbrk): Don't attempt allocation if within cygheap section. Fix so that more
than one allocation will succeed.
(cygheap_init): Reset possibly-nonzero region to zero.
* cygheap.h (cygheap_setup_for_child): Delete declaration.
(cygheap_setup_for_child_cleanup): Ditto.
(cygheap_start): Define as an array.
* cygwin.sc: Modernize. Remove unneeded sections. Define cygheap here.
* dcrt0.cc (do_exit): Reflect argument change to close_all_files.
* dtable.cc (dtable::vfork_parent_restore): Ditto.
* dtable.h: Ditto.
* fhandler.h: Ditto.
* fork.cc (fork_copy): Call ReadProcessMemory if there is no thread
(indicating that we're execing).
(fork_child): Don't mess with hParent.
(fork_parent): Remove hParent stuff. It happens earlier now. Remove call to
cygheap_setup_for_child* stuff.
(fork): Put child_info_stuff in grouped structure. Issue error if parent
handle is not set.
(child_copy): New function.
* sigproc.cc (child_info::child_info): Put cygheap settings here. Set parent
handle.
(child_info::~child_info): Close parent handle if it exists.
* spawn.cc (spawn_guts): Reorganize so that ciresrv is allocated at only the
last minute so that cygheap changes are reflected. Delete cygheap_setup*
calls.
* syscalls.cc (close_all_files): Add an argument to flag when the fd entry
should be released.
* winsup.h (close_all_files): Add an argument to close_all_files declaration.
Declare child_copy.
2005-06-01 03:46:56 +00:00
Christopher Faylor
9885498829
* thread.h (List_remove): Make node parameter const. Use simple comparison and
...
assignment rather than InterlockedCompareExchangePointer since access is
already synchronized.
2005-05-30 18:37:41 +00:00
Christopher Faylor
ac5e21b028
* dlfcn.cc (set_dl_error): Use UNIX error rather than Windows error.
2005-05-30 18:20:28 +00:00
Christopher Faylor
44055eca0b
* cygmagic: Remove debugging cruft missed on 2005-05-21.
2005-05-30 00:54:01 +00:00
Corinna Vinschen
7897d3fd88
* path.cc (path_conv::check): Move component to function scope. Set
...
PATH_RO only on *real* FH_NETDRIVEs or on non-FH_NETDRIVE virtual
paths. Allow non-retrievable shares to be handled as files.
2005-05-29 11:04:02 +00:00
Corinna Vinschen
f330e7b8e8
* include/limits.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Always define.
2005-05-29 10:05:56 +00:00
Christopher Faylor
65a7ca7b7b
* thread.h (pthread_key::set): Inline.
...
(pthread_key::get): Ditto.
* thread.cc (pthread::set): Delete.
(pthread::get): Ditto.
2005-05-29 02:42:36 +00:00
Christopher Faylor
37b01058e7
* cygwin.din: Remove signal front end from pthread_[gs]etspecific.
2005-05-29 02:26:29 +00:00
Christopher Faylor
5c0a13d486
* fhandler_tty.cc (fhandler_tty_slave:tcflush): Use signed comparison.
2005-05-29 00:05:49 +00:00
Christopher Faylor
03bb8acaa7
* times.cc (time_ms::usecs): Coerce comparison to signed or whole test is a
...
no-op.
2005-05-28 21:31:17 +00:00
Christopher Faylor
1bbf1ac6a5
* cygheap.h: Reference _cygheap_start via .cygheap section.
...
* environ.cc: Fix force_into_environment typo throughout.
(spenvs): Export CYGWIN_DEBUG if DEBUGGING.
2005-05-27 18:26:19 +00:00
Christopher Faylor
720c77ee72
* include/cygwin/version.h: Bump DLL minor number to 18.
2005-05-26 18:19:26 +00:00
Corinna Vinschen
181c20f1ac
* ChangeLog: Remove accidentally checked in entry.
2005-05-25 08:41:28 +00:00
Christopher Faylor
125b724dd8
* fhandler.h (fhandler_base::mkdir): New virtual method.
...
(fhandler_base::rmdir): Ditto.
(fhandler_disk_file:mkdir): New method.
(fhandler_disk_file:rmdir): Ditto.
* dir.cc (mkdir): Implement with fhandlers.
(rmdir): Ditto.
* fhandler.cc (fhandler_base::mkdir): New virtual method.
(fhandler_base::rmdir): Ditto.
(fhandler_disk_file::mkdir): New method.
(fhandler_disk_file::rmdir): Ditto.
fhandler_random.cc: white space.
2005-05-25 04:32:59 +00:00
Christopher Faylor
2a41ee9e0c
* include/cygwin/version.h: Bump API minor number to 129.
2005-05-25 03:46:10 +00:00
Christopher Faylor
cb3f5f0862
* cygwin.din: Export mkdtemp.
...
* mktemp.cc: New file.
* Makefile.in (DLL_OFILES): Add mktemp.o
2005-05-25 03:40:07 +00:00
Corinna Vinschen
e0242a025a
* include/stdint.h (INTMAX_C, UINTMAX_C): Fix definition.
2005-05-23 13:13:00 +00:00
Christopher Faylor
f82ca06eda
* spawn.cc (find_exec): Accept a PATH-like string in place of an environment
...
variable.
* dlfcn.cc (get_full_path_of_dll): Search /usr/bin (for windows compatibility)
and /usr/lib (for UNIX compatibility) when looking for shared libraries.
* environ.cc (conv_envvars): Put back LD_LIBRARY_PATH since it is used by
get_full_path_of_dll().
* errno.cc (errmap): Map MOD_NOT_FOUND to ENOENT.
* cygmagic: Remove debugging cruft.
2005-05-22 03:54:29 +00:00
Corinna Vinschen
89e5f7f81e
* include/cygwin/in.h: Add comment.
2005-05-19 21:22:37 +00:00
Corinna Vinschen
58065cb805
* include/cygwin/in.h: Define IPPROTO_xxx values as macros to
...
accomodate SUSv3.
2005-05-19 21:18:17 +00:00
Christopher Faylor
776b73dd33
* include/limits.h: Include features.h, as on linux.
2005-05-19 19:45:28 +00:00
Christopher Faylor
071f64d934
* include/endian.h: New file.
2005-05-19 19:44:31 +00:00
Corinna Vinschen
424946e8ab
* cygwin.sc: Add Dwarf-2 debug sections.
2005-05-19 17:04:28 +00:00
Corinna Vinschen
989ea1c99e
* mmap.cc (mmap64): Make granularity an automatic variable.
2005-05-19 08:43:17 +00:00
Christopher Faylor
969d6089ce
* fhandler.h (fhandler_cygdrive::seekdir): Delete declaration.
...
(fhandler_cygdrive::seekdir): Delete.
* fhandler.h (fhandler_cygdrive::iscygdrive_root): Delete method.
(fhandler_cygdrive::telldir): Delete declaration.
* fhandler_disk_file.cc: Remove all uses of fhandler_cygdrive::iscygdrive_root.
(fhandler_disk_file::mkdir): New method.
(fhandler_disk_file::rmdir): Ditto.
(fhandler_cygdrive::telldir): Delete.
2005-05-19 05:43:55 +00:00
Christopher Faylor
ac437c3e0c
* external.cc: Move pids declaration to file scope and use less enthusiastic
...
constructor.
* pinfo.h (winpids::winpids): Remove default setting.
* fhandler_fifo.cc (fhandler_fifo::open_not_mine): Accommodate removal of
default setting.
* fhandler_proc.cc (fhandler_proc::readdir): Ditto.
2005-05-19 01:25:20 +00:00
Christopher Faylor
24515d6563
* cygtls.h (_local_storage::unknown_thread_name): New buffer.
...
* tlsoffsets.h: Regenerate.
* cygthread.cc (cygthread::name): Use new thread-local buffer.
* exceptions.cc (handle_exceptions): Avoid unnecessary initialization of static
variables to zero.
* fork.cc (slow_pid_reuse) Ditto.
2005-05-18 23:30:02 +00:00
Corinna Vinschen
692fccabfb
* mmap.cc (mmap64): Avoid compiler warning.
...
* ntea.cc (NTReadEA): Ditto.
* hires.h (hires_base): Remove useless usecs function.
2005-05-18 17:23:17 +00:00
Corinna Vinschen
49cc728adc
* fhandler_netdrive.cc (fhandler_netdrive::telldir): Remove since it's
...
equivalent to fhandler_virtual::telldir now anyway.
* fhandler.h (class fhandler_netdrive): Remove telldir.
2005-05-18 10:32:37 +00:00
Corinna Vinschen
bffaf54d76
* fhandler_netdrive.cc (fhandler_netdrive::telldir): Implement.
...
(fhandler_netdrive::seekdir): Implement.
(fhandler_netdrive::closedir): Call rewinddir to have only one point
of calling WNetCloseEnum.
2005-05-18 10:23:40 +00:00
Corinna Vinschen
5b59a2cc0d
* fhandler.h (class fhandler_netdrive): Add method rewinddir.
...
* fhandler_netdrive.cc (struct netdriveinf): New structure to
store thread arguments.
(thread_netdrive): Thread handling all potentially blocking
WNet... calls.
(create_thread_and_wait): Start and wait for above thread.
(fhandler_netdrive::exists): Change to call create_thread_and_wait
instead of calling WNet... function.
(fhandler_netdrive::readdir): Ditto. Fix error handling.
(fhandler_netdrive::rewinddir): New method.
2005-05-17 20:34:15 +00:00
Corinna Vinschen
0d5ba26ccd
* external.cc (cygwin_internal): Avoid compiler warning.
2005-05-17 08:46:41 +00:00
Christopher Faylor
4f7544bc97
* dcrt0.cc (dll_crt0_0): Don't do fixup_after_exec if dynamically loaded since
...
the state of fds is unknown at this point.
2005-05-17 01:27:31 +00:00
Christopher Faylor
5c8e6fbd8c
* include/sys/cygwin.h (enum cygwin_getinfo_types): Add CW_DEBUG_SELF.
...
* external.cc (cygwin_internal): Implement CW_DEBUG_SELF.
* init.cc (dll_entry): Minor rearrangement of code.
2005-05-17 01:21:06 +00:00
Christopher Faylor
b55ba2f3da
* path.cc (path_conv::check): Remove embedded dots before slashes.
2005-05-17 01:08:58 +00:00
Corinna Vinschen
451c738bef
* environ.cc (conv_envvars): Remove LD_LIBRARY_PATH entirely.
...
It doesn't belong here.
2005-05-16 15:48:36 +00:00
Corinna Vinschen
1f7b9e8bc6
* environ.cc (conv_envvars): Treat LD_LIBRARY_PATH as path list.
2005-05-15 12:04:13 +00:00
Corinna Vinschen
dad546a5eb
* fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Check
...
return code from GetFileSize and set file size to 0 if necessary.
* fhandler_netdrive.cc (fhandler_netdrive::fstat): Set permissions
to read/execute for all.
2005-05-14 21:12:10 +00:00
Christopher Faylor
84778b9d8c
really fix typo.
2005-05-13 22:40:19 +00:00
Christopher Faylor
9156326733
fix typo
2005-05-13 22:09:32 +00:00
Christopher Faylor
17e5c6a8f0
* path.cc (normalize_posix_path): Do normalization on . and .. after a '//'.
2005-05-13 21:05:46 +00:00
Corinna Vinschen
50361e07d1
* fhandler.h (fhandler_netdrive::readdir): Remove useless comment.
2005-05-13 20:29:31 +00:00
Corinna Vinschen
e01eac68ed
* autoload.cc (WNetGetResourceParentA): Import.
...
(WNetOpenEnumA): Import.
(WNetEnumResourceA): Import.
(WNetCloseEnum): Import.
* fhandler.h (fhandler_netdrive::telldir): Add declaration.
(fhandler_netdrive::seekdir): Ditto.
(fhandler_netdrive::closedir): Ditto.
* fhandler_netdrive.cc: Drop explicit including windows.h. Include
winnetwk.h instead of shlwapi.h. Include dirent.h.
(fhandler_netdrive::readdir): Implement.
(fhandler_netdrive::telldir): New method.
(fhandler_netdrive::seekdir): New method.
(fhandler_netdrive::closedir): Ditto.
2005-05-13 20:20:02 +00:00
Christopher Faylor
063f1df2aa
Remove PC_FULL from path_conv usage throughout.
...
* path.h (enum pathconv_arg): Change PC_FULL to PC_NOUILL.
* path.cc (path_conv::check): Test for PC_NOFULL rather than !PC_FULL.
(cygwin_conv_to_win32_path): Use PC_NOFULL to force non-absolute path.
2005-05-13 15:46:07 +00:00