Corinna Vinschen
4856e91471
* dcrt0.cc (_dll_crt0()): Don't call wincap.init() here.
2001-09-14 08:23:46 +00:00
Christopher Faylor
5654f240f1
*** empty log message ***
2001-09-14 04:39:56 +00:00
Christopher Faylor
25e40ae6aa
* fork.cc (vfork): Avoid recursive vforks.
2001-09-14 04:37:57 +00:00
Christopher Faylor
02a9889121
* fhandler.h (fhandler_pipe::is_slow): Return true only if pipes are reliable
...
(i.e., not Win9x).
* wincap.cc: Make statics NO_COPY to avoid fork overhead.
2001-09-14 04:22:05 +00:00
Christopher Faylor
cd6ed3f9f5
* grp.cc (read_etc_group): Just reuse group_buf storage for subsequent reread
...
of /etc/group.
* passwd.cc (read_etc_passwd): Just reuse passwd_buf storage for subsequent
reread of /etc/passwd.
2001-09-14 03:01:47 +00:00
Christopher Faylor
e2e078278c
* cygheap.cc (dup_now): New function.
...
(cygheap_setup_for_child): Accept new argument controlling whether to delay
copying of cygheap to shared memory region.
(cygheap_setup_for_child_cleanup): Accept new arguments controlling whether to
copy cygheap at this point.
* cygheap.h: Reflect above changes.
* fork.cc (fork_parent): Break copying of cygheap into two parts when
fork_fixup is required so that the child can see the parent's changes.
(vfork): Do stack cleanup prior to forcing a fork error.
* spawn.cc (spawn_guts): Ditto.
2001-09-14 00:49:00 +00:00
Christopher Faylor
3e2d8af0b9
* cygheap.cc (ccalloc): Pass correct length to creturn so that cygheap_max is
...
correctly calculated.
2001-09-13 21:15:34 +00:00
Egor Duda
3900c377d8
* winsup.api/winsup.exp: Run only selected test if environment
...
variable CYGWIN_TESTSUITE_TESTS is set. Use its value as regular
expression to filter test names.
* winsup.api/ltp/symlink01.c (creat_path_max): Provide explicit
buffer to getcwd to conform to standards and avoid memory leak.
(do_chdir): Ditto.
2001-09-13 19:00:48 +00:00
Earnie Boyd
e9f2bf3049
2001-09-13 Earnie Boyd <earnie@SF.net>
...
* lib/Makefile.in (inst_includedir): Change to always use w32api
subdirectory for target == cygwin.
(inst_libdir): Ditto.
2001-09-13 17:45:55 +00:00
Egor Duda
50ab44e0a7
* libltp/lib/tst_sig.c: Pass SIGSEGV to application to consider
...
whether it's expected or not.
* winsup.api/known_bugs.tcl: lseek10 is known to fail because mknod
is not implemented.
* winsup.api/ltp/rename02.c: Fix formatting.
* libltp/lib/libtestsuite.c: New file.
* winsup.api/signal-into-win32-api.c: New test.
* winsup.api/ltp/access04.c: Ditto.
* winsup.api/ltp/access05.c: Ditto.
* winsup.api/ltp/alarm07.c: Ditto.
* winsup.api/ltp/chdir04.c: Ditto.
* winsup.api/ltp/chmod01.c: Ditto.
* winsup.api/ltp/close01.c: Ditto.
* winsup.api/ltp/close02.c: Ditto.
* winsup.api/ltp/creat01.c: Ditto.
* winsup.api/ltp/creat03.c: Ditto.
* winsup.api/ltp/exit01.c: Ditto.
* winsup.api/ltp/exit02.c: Ditto.
* winsup.api/ltp/fchdir01.c: Ditto.
* winsup.api/ltp/fchdir02.c: Ditto.
* winsup.api/ltp/fork02.c: Ditto.
* winsup.api/ltp/fork03.c: Ditto.
* winsup.api/ltp/fork06.c: Ditto.
* winsup.api/ltp/fork07.c: Ditto.
* winsup.api/ltp/fork09.c: Ditto.
* winsup.api/ltp/fork10.c: Ditto.
* winsup.api/ltp/fork11.c: Ditto.
* winsup.api/ltp/fstat02.c: Ditto.
* winsup.api/ltp/fstat03.c: Ditto.
* winsup.api/ltp/fstat04.c: Ditto.
* winsup.api/ltp/ftruncate01.c: Ditto.
* winsup.api/ltp/ftruncate02.c: Ditto.
* winsup.api/ltp/ftruncate03.c: Ditto.
* winsup.api/ltp/getgid02.c: Ditto.
* winsup.api/ltp/getgid03.c: Ditto.
* winsup.api/ltp/getpgid01.c: Ditto.
* winsup.api/ltp/getpgid02.c: Ditto.
* winsup.api/ltp/getpid02.c: Ditto.
* winsup.api/ltp/getppid02.c: Ditto.
* winsup.api/ltp/getuid02.c: Ditto.
* winsup.api/ltp/getuid03.c: Ditto.
* winsup.api/ltp/kill01.c: Ditto.
* winsup.api/ltp/kill02.c: Ditto.
* winsup.api/ltp/kill03.c: Ditto.
* winsup.api/ltp/kill04.c: Ditto.
* winsup.api/ltp/lseek06.c: Ditto.
* winsup.api/ltp/lseek07.c: Ditto.
* winsup.api/ltp/lseek08.c: Ditto.
* winsup.api/ltp/lseek09.c: Ditto.
* winsup.api/ltp/lseek10.c: Ditto.
* winsup.api/ltp/mmap02.c: Ditto.
* winsup.api/ltp/mmap03.c: Ditto.
* winsup.api/ltp/mmap04.c: Ditto.
* winsup.api/ltp/mmap05.c: Ditto.
* winsup.api/ltp/mmap06.c: Ditto.
* winsup.api/ltp/mmap07.c: Ditto.
* winsup.api/ltp/mmap08.c: Ditto.
* winsup.api/ltp/munmap01.c: Ditto.
* winsup.api/ltp/munmap02.c: Ditto.
* winsup.api/ltp/open02.c: Ditto.
* winsup.api/ltp/pipe01.c: Ditto.
* winsup.api/ltp/pipe08.c: Ditto.
* winsup.api/ltp/pipe09.c: Ditto.
* winsup.api/ltp/pipe10.c: Ditto.
* winsup.api/ltp/pipe11.c: Ditto.
* winsup.api/ltp/poll01.c: Ditto.
* winsup.api/ltp/read04.c: Ditto.
* winsup.api/ltp/readlink01.c: Ditto.
* winsup.api/ltp/readlink03.c: Ditto.
* winsup.api/ltp/rename01.c: Ditto.
* winsup.api/ltp/rename08.c: Ditto.
* winsup.api/ltp/rename10.c: Ditto.
* winsup.api/ltp/rmdir01.c: Ditto.
* winsup.api/ltp/stat01.c: Ditto.
* winsup.api/ltp/stat02.c: Ditto.
* winsup.api/ltp/stat03.c: Ditto.
* winsup.api/ltp/symlink03.c: Ditto.
* winsup.api/ltp/symlink04.c: Ditto.
* winsup.api/ltp/symlink05.c: Ditto.
* winsup.api/ltp/sync02.c: Ditto.
* winsup.api/ltp/time02.c: Ditto.
* winsup.api/ltp/times02.c: Ditto.
* winsup.api/ltp/times03.c: Ditto.
* winsup.api/ltp/truncate01.c: Ditto.
* winsup.api/ltp/truncate02.c: Ditto.
* winsup.api/ltp/umask02.c: Ditto.
* winsup.api/ltp/umask03.c: Ditto.
* winsup.api/ltp/wait401.c: Ditto.
* winsup.api/ltp/wait402.c: Ditto.
* winsup.api/ltp/write02.c: Ditto.
* winsup.api/ltp/write03.c: Ditto.
2001-09-13 17:30:23 +00:00
Egor Duda
4e8b5fc387
* dumper.cc (main): Properly recognize negative pids (used by w9x).
2001-09-13 15:06:25 +00:00
Earnie Boyd
36d19bdddb
2001-09-13 Earnie Boyd <earnie@SF.net>
...
* lib/Makefile.in (config_prefix): New variable.
(inst_includedir): Manipulate special value only if target == cygwin
and build == target and prefix != config_prefix.
(inst_libdir): Ditto.
2001-09-13 12:06:28 +00:00
Christopher Faylor
dc02f343bf
* sync.cc (muto::acquire): Fix while/if typo.
2001-09-13 01:07:25 +00:00
Corinna Vinschen
4b081513cc
* wincap.cc (wincapc::init): Simplify W2K/XP case.
2001-09-12 21:07:13 +00:00
Corinna Vinschen
09dcaf6922
* wincap.cc (wincapc::init): Set os name to "NT" on XP, too.
2001-09-12 21:03:53 +00:00
Earnie Boyd
1176fb61c9
2001-09-12 Earnie Boyd <earnie@SF.net>
...
* Makefile.in (TARFLAGS): New variable.
(TARFILEEXT): Ditto.
2001-09-12 20:24:06 +00:00
Corinna Vinschen
ba94682838
* Makefile.in: Build wincap.o.
...
* wincap.cc: New file.
* wincap.h: Ditto.
* autoload.cc: Add dynamic load statement for `CreateHardLinkA'.
* dcrt0.cc (os_being_run): Eliminated.
(osname): Ditto.
(iswinnt): Ditto.
(set_os_type): Ditto.
(dll_crt0_1): Call wincap.init() instead of set_os_type().
(_dll_crt0): Ditto.
* environ.cc (set_chunksize): New function.
(parse_thing): `forkchunk' setting now invokes function `set_chunksize'.
* fork.cc (chunksize): Eliminated. Moved to be member of wincap.
* host_dependent.h: Removed.
* syscalls.cc (_link): Try using `CreateHardLinkA' first, if available.
* cygheap.cc, dcrt0.cc, delqueue.cc, dir.cc,
environ.cc, fhandler.cc, fhandler.h, fhandler_console.cc,
fhandler_mem.cc, fork.cc, mmap.cc, net.cc, pinfo.cc, pinfo.h,
security.cc, syscalls.cc, sysconf.cc, syslog.cc, thread.cc,
times.cc, tty.cc, uinfo.cc, uname.cc, winsup.h: Use new wincap
capability check throughout.
* winsup.h: Include wincap.h. Eliminate extern declarations of
`os_being_run' and `iswinnt'. Eliminate `os_type" definition.
* include/cygwin/version.h: Bump version to 1.3.4.
2001-09-12 17:46:37 +00:00
Earnie Boyd
c88bb51c3c
2001-09-12 Earnie Boyd <earnie@SF.net>
...
* Makefile.in: Increment version.
* include/w32api.h: Ditto.
* lib/Makefile.in: Add usr/ to install directory special for cygwin.
2001-09-12 14:48:07 +00:00
Earnie Boyd
e078566ced
2001-09-11 Danny Smith <dannysmith@users.sourceforge.net>
...
* include/winnt.h (_[U]LARGE_INTEGER): Protect nameless struct with
!defined(NONAMELESSUNION), rather than defined(_ANONYMOUS_STRUCT).
(_REPARSE_DATA_BUFFER): Name union field DUMMYUNIONNAME.
2001-09-12 14:08:53 +00:00
Christopher Faylor
aed6988a36
* exceptions.cc (call_signal_handler_now): Add additional guard against
...
inappropriately calling signal handler.
* syscalls.cc (_read): Reset errno if not exiting due to signal.
2001-09-12 05:09:24 +00:00
Christopher Faylor
ff6e295ebf
minor cleanups
2001-09-12 04:47:47 +00:00
Robert Collins
8e4d969260
Wed Sep 12 13:03:00 2001 Robert Collins <rbtcollins@hotmail.com>
...
* autoload.cc (LoadDLLfuncEx): Auto load TryEnterCriticalSection - its a
n NT only call.
* thread.cc (pthread_cond::TimedWait): Use critical sections for NT.
(pthread_cond::fixup_after_fork): Don't detect bad apps.
(pthread_mutex::pthread_mutex): Use critical sections for NT.
(pthread_mutex::~pthread_mutex): Ditto.
(pthread_mutex::Lock): Ditto.
(pthread_mutex::TryLock): Ditto.
(pthread_mutex::UnLock): Ditto.
(pthread_mutex::fixup_after_fork): Ditto. Also do not detect bad apps.
(__pthread_mutex_trylock): Move WIN32 specific test into the class metho
d.
(__pthread_mutex_destroy): Prevent dereferencing passed pointer without
valid address.
* thread.h (pthread_mutex): Use critical sections for NT.
2001-09-12 03:18:05 +00:00
Christopher Faylor
101f820da2
* sigproc.h (sigframe::unregister): Return true/false whether this frame is
...
capable of responding to signals.
* exceptions.cc (sigframe::call_signal_handler): Don't call signal handler if
it is not armed for this thread.
2001-09-12 01:56:32 +00:00
Christopher Faylor
e3c25c4a47
Update copyrights.
2001-09-11 20:01:02 +00:00
Christopher Faylor
824b5c453d
fix some typos.
2001-09-11 19:40:14 +00:00
Christopher Faylor
dc3543aa46
change copyright.
2001-09-11 17:02:23 +00:00
Christopher Faylor
dbc82a87a3
* cygwin.din: Remove cygwin_getshared.
...
* shared.cc: Ditto.
* include/cygwin/version.h: Bump API minor number.
* dtable.cc (dtable::build_fhandler): Fix incorrect test for socket.
2001-09-11 15:25:08 +00:00
Robert Collins
24a930fa23
Tue Sep 11 21:22:00 2001 Robert Collins <rbtcollins@hotmail.com>
...
* thread.cc (pthread_cond::~pthread_cond): Bugfix: Incorrect use of InterlockExchangePointer.
(pthread_mutex::~pthread_mutex): Ditto.
(semaphore::~semaphore): Ditto.
2001-09-11 11:23:41 +00:00
Robert Collins
f9229ef74b
Tue Sep 11 18:15:00 2001 Robert Collins <rbtcollins@hotmail.com>
...
* dcrt0.cc (cygwin_finished_initializing): Copy _mtinterf on fork;
* fork.cc (fork_child): fixup thread-related structures after fork;
* thread.cc (MTinterface::Init): Initialise the new mutex, condition and semaphore lists.
(MTinterface::fixup_after_fork): Iterate through each list and fixup the objects.
(pthread_cond::pthread_cond): Add this to the condition list.
(pthread_cond::~pthread_cond): Remove this from the condition list.
(pthread_cond::fixup_after_fork): Recreate as best we can the pre-fork state.
(pthread_mutex::pthread_mutex): Add this to the mutex list.
(pthread_mutex::~pthread_mutex): Remove this from the mutex list.
(pthread_mutex::fixup_after_fork): Recreate as best we can the pre-fork state.
(semaphore::semaphore): Store the initial value, and add this to the semaphore list.
(semaphore::~semaphore): Remove this from the semaphore list.
(semaphore::Post): Increment the current semaphore value.
(semaphore::TryWait): Decrement the current semaphore value.
(semaphore::Wait): Ditto.
(semaphote::fixup_after_fork): Recreate the pre-fork state as best we can.
* thread.h (pthread_mutex): New members to allow fixup_after_fork.
(pthread_cond): Ditto.
(semaphore): Ditto.
(MTinterface): New list heads for tracking conds and semaphores.
2001-09-11 08:15:39 +00:00
Earnie Boyd
bb36822663
2001-09-05 Danny Smith <dannysmith@users.sourceforge.net>
...
* include/wininet.h (InternetAutodial): Add prototype.
(InternetAutodialHangup): Ditto.
(InternetDial): Ditto.
(InternetGetConnectedState): Ditto.
(InternetGoOnline): Ditto.
(InternetHangUp): Ditto.
(InternetSetDialState): Ditto.
Add associated INTERNET_* auto dial flags.
Guard typedefs and prototypes with #ifndef RC_INVOKED.
2001-09-10 16:50:06 +00:00
Earnie Boyd
34ed8fcee6
2001-09-10 Earnie Boyd <earnie@SF.net>
...
* dossh: Remove inadvertantly imported file.
2001-09-10 Danny Smith <dannysmith@users.sourceforge.net>
* dirent.c (opendir): Use GetFileAttributes rather than stat
to determine if input arg is dir.
2001-09-10 15:41:46 +00:00
Christopher Faylor
f3acbe3e3f
* dtable.cc (dtable::fixup_after_fork): Use SetStdHandle appropriately on
...
inherited fds.
2001-09-10 02:11:59 +00:00
Christopher Faylor
6409b03b1a
* sigproc.cc (NZOMBIES): Reduce substantially to minimize memory use.
2001-09-10 00:19:06 +00:00
Robert Collins
ac9841a070
Mon Sep 10 08:28:00 2001 Robert Collins <rbtcollins@hotmail.com>
...
* thread.h (MT_Interface): Remove pshared mutex array.
Add a threadsafe list for mutex tracking (for fixupafter fork).
* thread.cc (MTInterface::Init): Remove pshared mutex array.
(pthread_mutex::pthread_mutex): Remove pshared mutex functionality.
Fail with EINVAL on attempts to use pshared functionality.
(__pthread_mutex_getpshared): Remove.
(__pthread_cond_timedwait): Remove pshared mutex functionality.
(__pthread_cond_wait): Ditto.
(__pthread_mutex_init): Ditto.
(__pthread_mutex_getprioceiling): Ditto.
(__pthread_mutex_lock): Ditto.
(__pthread_mutex_trylock): Ditto.
(__pthread_mutex_unlock): Ditto.
(__pthread_mutex_destroy): Ditto.
(__pthread_mutex_setprioceiling): Ditto.
(__pthread_mutexattr_setpshared): Ditto.
2001-09-09 22:39:35 +00:00
Corinna Vinschen
e3a4f8ef6f
* pwdgrp.h (pwdgrp_check::set_last_modified): Call GetFileTime()
...
instead of GetFileInformationByHandle().
2001-09-09 21:57:44 +00:00
Christopher Faylor
3800a9e7d7
* heap.h (inheap): Rewrite macro to accomodate removal of brk macros below.
2001-09-09 20:00:29 +00:00
Christopher Faylor
de05a524ca
* cygheap.cc (cygheap_fixup_in_child): Clear cygheap->base so that heap is not
...
forced to start at the same place in execed process.
* heap.cc: Remove brk* macros for clarity throughout.
* heap.h: Ditto.
* shared.cc (shared_info::initialize): Move heap_chunk test into
heap_chunk_size().
(heap_chunk_size): Check for chunk size here. Don't go to registry if
heap_chunk_in_mb is already set.
* smallprint.c (console_printf): Add Windows 95 concessions.
2001-09-09 19:06:50 +00:00
Christopher Faylor
c386775867
* child_info.h (PROC_MAGIC): Bump magic number.
2001-09-09 17:01:47 +00:00
Corinna Vinschen
49eef6d5f7
* cygheap.cc (init_cygheap::etc_changed): New method to signal
...
a change in /etc.
* cygheap.h (struct init_cygheap): Add member `etc_changed_h'
and method `etc_changed'.
* grp.cc (enum grp_state): Eliminate.
(class grp_check): Ditto.
(group_state): Define as `class pwdgrp_check'.
(parse_grp): Remeber path and modification time of /etc/group file.
* passwd.cc (enum_pwd_state): Eliminate.
(class pwd_check): Ditto.
(passwd_state): Define as `class pwdgrp_check'.
(read_etc_passwd): Remember path and modification time of /etc/passwd
file.
* pwdgrp.h: New file.
(enum pwdgrp_state): Substitutes `pwd_state' and `grp_state'.
(class pwdgrp_check): Substitutes `pwd_check' and `grp_check'.
2001-09-09 16:52:37 +00:00
Egor Duda
d961def403
* winsup.api/ltp/dup03.c: New test.
...
* winsup.api/ltp/lseek03.c: Ditto.
* winsup.api/ltp/mmap001.c: Ditto.
* winsup.api/ltp/read01.c: Ditto.
* winsup.api/ltp/readdir01.c: Ditto.
* winsup.api/ltp/rmdir05.c: Ditto.
* winsup.api/ltp/sbrk01.c: Ditto.
* winsup.api/ltp/select02.c: Ditto.
* winsup.api/ltp/select03.c: Ditto.
* winsup.api/ltp/signal03.c: Ditto.
* winsup.api/ltp/stat06.c: Ditto.
* winsup.api/ltp/unlink08.c: Ditto.
* winsup.api/known_bugs.tcl: Update to reflect new test's known
failures.
* winsup.api/winsup.exp: Don't delete executable in case of
unexpected pass, as well as in case of unexpected failure.
* README: Update paragraph about expected failures.
2001-09-09 13:38:17 +00:00
Egor Duda
92ef5188af
* dumper.cc (main): Change command-line arguments format to be
...
similar to gdb. Allow adding error_start=x:\path\to\dumper.exe to
CYGWIN environment variable to perform core dumping in case of
program crash.
(usage): Ditto.
2001-09-09 13:18:51 +00:00
Corinna Vinschen
d969111291
* include/cygwin/version.h: Bump API minor version to 45 according
...
to adding the gamm*_r functions.
2001-09-09 12:32:54 +00:00
Christopher Faylor
e2ea684e4e
* fork.cc (fork_parent): Stop malloc activity while fork is in control of the
...
heap.
* sigproc.cc (NZOMBIES): Rename from ZOMBIEMAX for clarity.
(zombies): Revert to original behavior. Allocating zombie array resulted in
performance hit.
* winsup.h: Declare malloc lock routines.
2001-09-09 03:34:36 +00:00
Christopher Faylor
c12a96d12f
* cygwin.din: Add gamm*_r function exports.
2001-09-08 01:35:55 +00:00
Christopher Faylor
1ff9f4b937
* cygheap.h (init_cygheap): Move heap pointers here.
...
* include/sys/cygwin.h (perprocess): Remove heap pointers.
* dcrt0.cc (__cygwin_user_data): Reflect obsolete perprocess stuff.
(_dll_crt0): Don't initialize heap pointers.
(cygwin_dll_init): Ditto.
(release_upto): Use heap pointers from cygheap.
* heap.h: Ditto.
* fork.cc (fork_parent): Ditto. Don't set heap pointers in ch.
(fork_child): Remove obsolete sigproc_fixup_after_fork.
* shared.cc (memory_init): Reorganize so that cygheap initialization is called
prior to regular heap since regular heap uses cygheap now.
* sigproc.cc (proc_subproc): Eliminate zombies allocation.
(sigproc_init): Move zombies alloation here. Don't free up array on fork, just
reuse it.
(sigproc_fixup_after_fork): Eliminate.
* sigproc.h: Ditto.
* include/cygwin/version.h: Reflect change to perprocess structure.
2001-09-07 21:32:07 +00:00
Corinna Vinschen
e3f30e9c24
Fri Sep 7 10:53:34 2001 Jason Tishler <jason@tishler.net>
...
* poll.cc (poll): Change implementation to only call select() when no
invalid file descriptors are specified.
2001-09-07 17:17:54 +00:00
Christopher Faylor
c4857613ca
* how-resources.texinfo: Add some additional words about where to find
...
documentation.
2001-09-07 16:48:23 +00:00
Corinna Vinschen
b0cce7e127
* include/limits.h: Define PIPE_BUF.
...
* syscalls.cc (fpathconf): Use PIPE_BUF instead of numerical constant.
(pathconf): Ditto.
2001-09-07 08:31:16 +00:00
Christopher Faylor
ddeaa23fbb
experiment.
2001-09-07 01:13:47 +00:00
Christopher Faylor
04da0bbe2f
* fhandler_socket.cc (fhandler_socket::fhandler_socket): Ensure that
...
prot_info_ptr is zeroed for later use.
2001-09-07 00:07:49 +00:00