Corinna Vinschen
2d388e433f
* fhandler.cc (fhandler_base::fstat): Set the uid and gid fields
...
from the current effective ids.
* fhandler_socket.cc (fhandler_socket::fstat): Keep the uid and gid set
by fhandler_base::fstat.
* security.cc (get_nt_attribute): Do not test wincap.has_security ().
(get_nt_object_attribute): Ditto.
(get_file_attribute): Add test for wincap.has_security ().
(get_object_attribute): Ditto.
2003-04-01 17:17:46 +00:00
Corinna Vinschen
1727fba007
* dir.cc: Change __off32_t to _off_t and __off64_t to _off64_t
...
throughout.
* fhandler.cc: Ditto.
* fhandler.h: Ditto.
* fhandler_clipboard.cc: Ditto.
* fhandler_disk_file.cc: Ditto.
* fhandler_dsp.cc: Ditto.
* fhandler_floppy.cc: Ditto.
* fhandler_mem.cc: Ditto.
* fhandler_proc.cc: Ditto.
* fhandler_process.cc: Ditto.
* fhandler_random.cc: Ditto.
* fhandler_registry.cc: Ditto.
* fhandler_tape.cc: Ditto.
* fhandler_termios.cc: Ditto.
* fhandler_virtual.cc: Ditto.
* fhandler_zero.cc: Ditto.
* mmap.cc: Ditto.
* pipe.cc: Ditto.
* syscalls.cc: Ditto.
* winsup.h: Ditto.
* include/cygwin/stat.h: Ditto.
* include/cygwin/types.h: Ditto. Remove definition of __off32_t
and __off64_t.
2003-04-01 16:11:41 +00:00
Christopher Faylor
333879e77b
* exceptions.cc (setup_handler): Make sure winapi lock is released when exiting
...
loop.
2003-03-31 21:27:06 +00:00
Christopher Faylor
a2105d9387
* include/cygwin/fs.h: Remove unneeded include.
...
* include/cygwin/in.h: Include sys/types.h rather than cygwin/types.h.
2003-03-30 17:28:52 +00:00
Corinna Vinschen
856a9750ba
* syscalls.cc (login): Fix comment.
...
(logout): Ditto.
2003-03-29 13:15:55 +00:00
Corinna Vinschen
8304de2e34
* syscalls.cc: Slightly cleanup all utmp functions.
...
(login): Use mutex to secure against concurrent access to wtmp file.
(logout): Rewrite using POSIX calls.
(utmp_fd): Initialized to -1 now. Any value < 0 is treated as closed
in subsequent functions.
(utmp_readonly): New variable, indicating utmp file open for reading
only.
(internal_setutent): New function implementing setutent().
(setutent): Call internal_setutent now.
(endutent): Reset utmp_readonly.
(getutent): Return immediately if utmp file can't be opened.
(getutid): Ditto.
(getutline): Ditto.
(pututline): Ditto. Use mutex to secure against concurrent access to
utmp file.
2003-03-29 12:44:01 +00:00
Christopher Faylor
46c8214c77
* Makefile.in: Remove EXE_LDFLAGS. Fix fhandler_CFLAGS typo. Recognize .s
...
suffix.
* configure.in: Remove EXE_LDFLAGS.
* configure: Regenerate.
2003-03-29 04:20:45 +00:00
Christopher Faylor
a7ab35c1bb
* include/sys/cygwin.h: Declare cygwin_internal as unsigned long.
...
* external.cc (cygwin_internal): Define as unsigned long.
* include/sys/cygwin.h: Move cygwin_internal outside of WINVER conditional.
2003-03-28 14:21:40 +00:00
Thomas Pfaff
eff6c00e19
* thread.cc: Change 1==foo equations to foo==1 throughout.
2003-03-27 19:57:06 +00:00
Thomas Pfaff
15648790f4
* thread.h: Change class names, methods, members and local vars
...
according to the GNU coding style.
* thread.cc: Ditto.
* dcrt0.cc (dll_crt0_1): Rename pthread::initMainThread call to
pthread::init_mainthread.
* pthread.cc (pthead_getsequence_np): Rename pthread::isGoodObject
call to pthread::is_good_object.
2003-03-27 19:52:20 +00:00
Corinna Vinschen
98b36ec8ed
* autoload.cc: added RegGetKeySecurity()
...
* security.cc (get_nt_object_attribute): use RegGetKeySecurity() for
performance.
2003-03-27 09:40:25 +00:00
Christopher Faylor
85738bf7e3
Joe Buehler <jhpb@draco.hekimian.com>
...
* fork.cc (fork_parent): Don't copy signals from parent to child here.
* sigproc.cc (proc_subproc): Copy signals from parent to child pinfo here.
2003-03-26 04:18:01 +00:00
Thomas Pfaff
b2ee9a5565
*** empty log message ***
2003-03-23 10:56:19 +00:00
Thomas Pfaff
9306ba2ee4
* thread.h (class List): Move inline code inside class
...
declaration.
(List::forEach): Change callback parameter to template class
member functionpointer.
(pthread_keys::fixup_before_fork): Change to inline. Use
List::forEach to fixup keys.
(pthread_keys::fixup_after_fork): Ditto.
(pthread_keys::runAllDestructors): Ditto.
(pthread_key::saveAKey): Remove.
(pthread_key::restoreAKey): Ditto.
(pthread_key::destroyAKey): Ditto.
(pthread_key::run_destructor): Rename to runDestructor.
(pthread_mutex::fixup_after_fork): Change to inline. Use
List::forEach to fixup mutexes after a fork.
(pthread_mutex::FixupAfterFork): New method.
(pthread_mutex::mutexes): New member.
(pthread_cond::fixup_after_fork): Change to inline. Use
List::forEach to fixup conds after a fork.
(pthread_cond::FixupAfterFork): New method.
(pthread_cond::conds): New member.
(pthread_rwlock::fixup_after_fork): Change to inline. Use
List::forEach to fixup rwlocks after a fork.
(pthread_rwlock::FixupAfterFork): New method.
(pthread_rwlock::rwlocks): New member.
(semaphore::fixup_after_fork): Change to inline. Use
List::forEach to fixup mutexes after a fork.
(semaphore::FixupAfterFork): New method.
(semaphore::semaphores): New member.
(MTinterface::mutexs): Remove.
(MTinterface::conds): Ditto.
(MTinterface::rwlocks): Ditto.
(MTinterface::semaphores): Ditto.
(pthread_equal): Add extern "C".
(pthread_mutex_lock): Ditto.
* thread.cc (MTinterface::fixup_after_fork): Change
fixup_after_fork calls for pthread objects.
(semaphore::conds): Instantiate.
(pthread_cond::pthread_cond): Use List::Insert rather than
custom list code.
(pthread_cond::~pthread_cond): Use List::Remove rather than
custom list code.
(pthread_cond::fixup_after_fork): Rename to FixupAfterFork.
(pthread_rwlock::rwlocks): Instantiate.
(pthread_rwlock::pthread_crwlock): Use List::Insert rather than
custom list code.
(pthread_rwlock::~pthread_rwlock): Use List::Remove rather than
custom list code.
(pthread_rwlock::fixup_after_fork): Rename to FixupAfterFork.
(pthread_key::saveAKey): Remove.
(pthread_key::fixup_before_fork): Ditto.
(pthread_key::restoreAKey): Ditto.
(pthread_key::fixup_after_fork): Ditto.
(pthread_key::destroyAKey): Ditto.
(pthread_key::runAllDestructors): Ditto.
(pthread_key::run_destructor): Rename to runDestructor.
(pthread_mutex::mutexes): Instantiate.
(pthread_mutex::pthread_mutex): Use List::Insert rather than
custom list code.
(pthread_mutex::~pthread_mutex): Use List::Remove rather than
custom list code.
(pthread_mutex::fixup_after_fork): Rename to FixupAfterFork.
(semaphore::conds): Instantiate.
(semaphore::semaphore): Use List::Insert rather than custom list
code.
(semaphores::~semaphore): Use List::Remove rather than custom
list code.
(semaphore::fixup_after_fork): Rename to FixupAfterFork.
2003-03-23 10:52:02 +00:00
Christopher Faylor
ff3ef36d88
* pipe.cc (fhandler_pipe::dup): Don't dup input_handle if it doesn't exist.
2003-03-22 18:30:58 +00:00
Christopher Faylor
ca04f61fc7
* syscalls.cc (unlink): Be more defensive when SetFileAttributes is called.
...
Fix typo in debugging output.
2003-03-22 17:48:40 +00:00
Christopher Faylor
89e7a1ced9
* fork.cc: Conditionalize use of slow_pid_reuse throughout. It's not necessary
...
for newer versions of bash.
2003-03-22 01:45:18 +00:00
Corinna Vinschen
fa85038b5f
* fhandler_socket.cc (fhandler_socket::sendto): Restrict EPIPE and
...
SIGPIPE handling to connection oriented sockets. Add comment.
2003-03-20 08:53:28 +00:00
Christopher Faylor
4da34970de
* sigproc.h (signal_fixup_after_exec): Eliminate argument in declaration.
...
* exceptions.cc (signal_fixup_after_exec): Eliminate argument in definition.
Don't reset signal handlers after spawm. Just treat like fork/exec.
* dcrt0.cc (dll_crt0_1): Don't pass PROC_SPAWN argument to
signal_fixup_after_exec.
* syscalls.cc (unlink): Don't change attributes of file if not readonly/system.
Ditto for resetting of arguments.
2003-03-20 01:34:53 +00:00
Corinna Vinschen
036ac6b3a2
* glob.c: Eliminate __INSIDE_CYGWIN__ preprocessor conditionals
...
throughout.
2003-03-19 21:38:25 +00:00
Corinna Vinschen
b1897d27a8
* fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Fix
...
wrong usage of S_IFDIR.
* security.cc (get_attribute_from_acl): Ditto.
(get_file_attribute): Fix wrong usage of S_IFLNK.
(get_object_attribute): Ditto.
(alloc_sd): Fix wrong usage of S_IFDIR.
* syscalls.cc (chmod): Allow chmod'ing of socket files.
2003-03-19 21:34:38 +00:00
Corinna Vinschen
c16d09466b
* include/cygwin/version.h (CYGWIN_VERSION_CHECK_FOR_USING_BIG_TYPES):
...
Define.
* glob.c (g_lstat): Use CYGWIN_VERSION_CHECK_FOR_USING_BIG_TYPES
instead of numerical constants.
(g_stat): Ditto.
2003-03-19 20:13:57 +00:00
Thomas Pfaff
6a80a133be
* pthread.cc (pthread_attr_init): Remove
...
(pthread_attr_destroy): Ditto.
(pthread_attr_setdetachstate): Ditto.
(pthread_attr_getdetachstate): Ditto.
(pthread_attr_setstacksize): Ditto.
(pthread_attr_getstacksize): Ditto.
(pthread_attr_setinheritsched): Ditto.
(pthread_attr_getinheritsched): Ditto.
(pthread_attr_setschedparam): Ditto.
(pthread_attr_getschedparam): Ditto.
(pthread_attr_setschedpolicy): Ditto.
(pthread_attr_getschedpolicy): Ditto.
(pthread_attr_setscope): Ditto.
(pthread_attr_getscope): Ditto.
(pthread_attr_setstackaddr): Ditto.
(pthread_attr_getstackaddr): Ditto.
(pthread_key_create): Ditto.
(pthread_key_delete): Ditto.
(pthread_setspecific): Ditto.
(pthread_getspecific): Ditto.
(pthread_kill): Ditto.
(pthread_sigmask): Ditto.
(pthread_equal): Ditto.
(pthread_mutex_lock): Ditto.
(pthread_mutex_trylock): Ditto.
(pthread_mutex_unlock): Ditto.
(pthread_mutex_destroy): Ditto.
(pthread_mutex_setprioceiling): Ditto.
(pthread_mutex_getprioceiling): Ditto.
(pthread_mutexattr_destroy): Ditto.
(pthread_mutexattr_getprioceiling): Ditto.
(pthread_mutexattr_getprotocol): Ditto.
(pthread_mutexattr_getpshared): Ditto.
(pthread_mutexattr_gettype): Ditto.
(pthread_mutexattr_init): Ditto.
(pthread_mutexattr_setprioceiling): Ditto.
(pthread_mutexattr_setprotocol): Ditto.
(pthread_mutexattr_setpshared): Ditto.
(pthread_mutexattr_settype): Ditto.
(pthread_cond_destroy): Ditto.
(pthread_cond_signal): Ditto.
(pthread_cond_broadcast): Ditto.
(pthread_condattr_init): Ditto.
(pthread_condattr_destroy): Ditto.
(pthread_condattr_getpshared): Ditto.
(pthread_condattr_setpshared): Ditto.
(pthread_rwlock_destroy): Ditto.
(pthread_rwlock_rdlock): Ditto.
(pthread_rwlock_tryrdlock): Ditto.
(pthread_rwlock_wrlock): Ditto.
(pthread_rwlock_trywrlock): Ditto.
(pthread_rwlock_unlock): Ditto.
(pthread_rwlockattr_init): Ditto.
(pthread_rwlockattr_getpshared): Ditto.
(pthread_rwlockattr_setpshared): Ditto.
(pthread_rwlockattr_destroy): Ditto.
(pthread_getconcurrency): Ditto.
(pthread_setconcurrency): Ditto.
(pthread_getschedparam): Ditto.
(pthread_setschedparam): Ditto.
* thread.h (__pthread_attr_init): Remove prototype.
(__pthread_attr_destroy): Ditto.
(__pthread_attr_setdetachstate): Ditto.
(__pthread_attr_getdetachstate): Ditto.
(__pthread_attr_setstacksize): Ditto.
(__pthread_attr_getstacksize): Ditto.
(__pthread_attr_setinheritsched): Ditto.
(__pthread_attr_getinheritsched): Ditto.
(__pthread_attr_setschedparam): Ditto.
(__pthread_attr_getschedparam): Ditto.
(__pthread_attr_setschedpolicy): Ditto.
(__pthread_attr_getschedpolicy): Ditto.
(__pthread_attr_setscope): Ditto.
(__pthread_attr_getscope): Ditto.
(__pthread_attr_setstackaddr): Ditto.
(__pthread_attr_getstackaddr): Ditto.
(__pthread_key_create): Ditto.
(__pthread_key_delete): Ditto.
(__pthread_setspecific): Ditto.
(__pthread_getspecific): Ditto.
(__pthread_kill): Ditto.
(__pthread_sigmask): Ditto.
(__pthread_equal): Ditto.
(__pthread_mutex_lock): Ditto.
(__pthread_mutex_trylock): Ditto.
(__pthread_mutex_unlock): Ditto.
(__pthread_mutex_destroy): Ditto.
(__pthread_mutex_setprioceiling): Ditto.
(__pthread_mutex_getprioceiling): Ditto.
(__pthread_mutexattr_destroy): Ditto.
(__pthread_mutexattr_getprioceiling): Ditto.
(__pthread_mutexattr_getprotocol): Ditto.
(__pthread_mutexattr_getpshared): Ditto.
(__pthread_mutexattr_gettype): Ditto.
(__pthread_mutexattr_init): Ditto.
(__pthread_mutexattr_setprioceiling): Ditto.
(__pthread_mutexattr_setprotocol): Ditto.
(__pthread_mutexattr_setpshared): Ditto.
(__pthread_mutexattr_settype): Ditto.
(__pthread_cond_destroy): Ditto.
(__pthread_cond_signal): Ditto.
(__pthread_cond_broadcast): Ditto.
(__pthread_condattr_init): Ditto.
(__pthread_condattr_destroy): Ditto.
(__pthread_condattr_getpshared): Ditto.
(__pthread_condattr_setpshared): Ditto.
(__pthread_rwlock_destroy): Ditto.
(__pthread_rwlock_rdlock): Ditto.
(__pthread_rwlock_tryrdlock): Ditto.
(__pthread_rwlock_wrlock): Ditto.
(__pthread_rwlock_trywrlock): Ditto.
(__pthread_rwlock_unlock): Ditto.
(__pthread_rwlockattr_init): Ditto.
(__pthread_rwlockattr_getpshared): Ditto.
(__pthread_rwlockattr_setpshared): Ditto.
(__pthread_rwlockattr_destroy): Ditto.
(__pthread_getconcurrency): Ditto.
(__pthread_setconcurrency): Ditto.
(__pthread_getschedparam): Ditto.
(__pthread_setschedparam): Ditto.
* thread.cc: Rename __pthread_equal to pthread_equal throughout.
Change pthread_self parameter appropriate.
(__pthread_attr_init): Remove __ prefix. Change to extern "C".
(__pthread_attr_destroy): Ditto.
(__pthread_attr_setdetachstate): Ditto.
(__pthread_attr_getdetachstate): Ditto.
(__pthread_attr_setstacksize): Ditto.
(__pthread_attr_getstacksize): Ditto.
(__pthread_attr_setinheritsched): Ditto.
(__pthread_attr_getinheritsched): Ditto.
(__pthread_attr_setschedparam): Ditto.
(__pthread_attr_getschedparam): Ditto.
(__pthread_attr_setschedpolicy): Ditto.
(__pthread_attr_getschedpolicy): Ditto.
(__pthread_attr_setscope): Ditto.
(__pthread_attr_getscope): Ditto.
(__pthread_attr_setstackaddr): Ditto.
(__pthread_attr_getstackaddr): Ditto.
(__pthread_key_create): Ditto.
(__pthread_key_delete): Ditto.
(__pthread_setspecific): Ditto.
(__pthread_getspecific): Ditto.
(__pthread_kill): Ditto.
(__pthread_sigmask): Ditto.
(__pthread_equal): Ditto.
(__pthread_mutex_lock): Ditto.
(__pthread_mutex_trylock): Ditto.
(__pthread_mutex_unlock): Ditto.
(__pthread_mutex_destroy): Ditto.
(__pthread_mutex_setprioceiling): Ditto.
(__pthread_mutex_getprioceiling): Ditto.
(__pthread_mutexattr_destroy): Ditto.
(__pthread_mutexattr_getprioceiling): Ditto.
(__pthread_mutexattr_getprotocol): Ditto.
(__pthread_mutexattr_getpshared): Ditto.
(__pthread_mutexattr_gettype): Ditto.
(__pthread_mutexattr_init): Ditto.
(__pthread_mutexattr_setprioceiling): Ditto.
(__pthread_mutexattr_setprotocol): Ditto.
(__pthread_mutexattr_setpshared): Ditto.
(__pthread_mutexattr_settype): Ditto.
(__pthread_cond_destroy): Ditto.
(__pthread_cond_signal): Ditto.
(__pthread_cond_broadcast): Ditto.
(__pthread_condattr_init): Ditto.
(__pthread_condattr_destroy): Ditto.
(__pthread_condattr_getpshared): Ditto.
(__pthread_condattr_setpshared): Ditto.
(__pthread_rwlock_destroy): Ditto.
(__pthread_rwlock_rdlock): Ditto.
(__pthread_rwlock_tryrdlock): Ditto.
(__pthread_rwlock_wrlock): Ditto.
(__pthread_rwlock_trywrlock): Ditto.
(__pthread_rwlock_unlock): Ditto.
(__pthread_rwlockattr_init): Ditto.
(__pthread_rwlockattr_getpshared): Ditto.
(__pthread_rwlockattr_setpshared): Ditto.
(__pthread_rwlockattr_destroy): Ditto.
(__pthread_getconcurrency): Ditto.
(__pthread_setconcurrency): Ditto.
(__pthread_getschedparam): Ditto.
(__pthread_setschedparam): Ditto.
2003-03-18 20:12:05 +00:00
Thomas Pfaff
00d296a3f9
* cygwin.din: Add pthread_rwlock_destroy, pthread_rwlock_init,
...
pthread_rwlock_rdlock, pthread_rwlock_tryrdlock,
pthread_rwlock_wrlock, pthread_rwlock_trywrlock,
pthread_rwlock_unlock, pthread_rwlockattr_init,
pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared,
and pthread_rwlockattr_destroy.
* include/cygwin/version.h: Bump API minor number.
* include/pthread.h (PTHREAD_RWLOCK_INITIALIZER): Define a
reasonable value.
Add prototypes for pthread_rwlock_destroy, pthread_rwlock_init,
pthread_rwlock_rdlock, pthread_rwlock_tryrdlock,
pthread_rwlock_wrlock, pthread_rwlock_trywrlock,
pthread_rwlock_unlock, pthread_rwlockattr_init,
pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared,
and pthread_rwlockattr_destroy.
* thread.h (PTHREAD_ONCE_MAGIC): Remove superflous semicolon.
(PTHREAD_RWLOCK_MAGIC): New define.
(PTHREAD_RWLOCKATTR_MAGIC): Ditto.
(pthread_rwlockattr): New class.
(pthread_rwlock): Ditto.
(MTinterface::rwlocks): New member.
(MTinterface::MTinterface): Initialize rwlocks.
Add prototypes for __pthread_rwlock_destroy,
__pthread_rwlock_wrlock, __pthread_rwlock_trywrlock,
__pthread_rwlock_unlock, __pthread_rwlockattr_init,
__pthread_rwlockattr_getpshared, __pthread_rwlockattr_setpshared,
and __pthread_rwlockattr_destroy.
* thread.cc (MTinterface::Init): Initialize rwlock internal mutex.
(MTinterface::fixup_after_fork): Fixup rwlocks after fork.
(pthread_rwlockattr::isGoodObject): Implement.
(pthread_rwlockattr::pthread_rwlockattr): Ditto.
(pthread_rwlockattr::~pthread_rwlockattr): Ditto.
(pthread_rwlock::initMutex): Ditto.
(pthread_rwlock::pthread_rwlock): Ditto.
(pthread_rwlock::~pthread_rwlock): Ditto.
(pthread_rwlock::RdLock): Ditto.
(pthread_rwlock::TryRdLock): Ditto.
(pthread_rwlock::WrLock): Ditto.
(pthread_rwlock::TryWrLock): Ditto.
(pthread_rwlock::UnLock): Ditto.
(pthread_rwlock::addReader): Ditto.
(pthread_rwlock::removeReader): Ditto.
(pthread_rwlock::lookupReader): Ditto.
(pthread_rwlock::RdLockCleanup): Ditto.
(pthread_rwlock::WrLockCleanup): Ditto.
(pthread_rwlock::fixup_after_fork): Ditto.
(pthread_rwlock::isGoodObject): Ditto.
(pthread_rwlock::isGoodInitializer): Ditto.
(pthread_rwlock::isGoodInitializerOrObject): Ditto.
(pthread_rwlock::isGoodInitializerOrBadObject): Ditto.
(__pthread_rwlock_destroy): Ditto.
(pthread_rwlock::init): Ditto.
(__pthread_rwlock_rdlock): Ditto.
(__pthread_rwlock_tryrdlock): Ditto.
(__pthread_rwlock_wrlock): Ditto.
(__pthread_rwlock_trywrlock): Ditto.
2003-03-18 20:01:07 +00:00
Thomas Pfaff
f592b05df1
* thread.h (pthread_cond::ExitingWait): Remove.
...
(pthread_cond::mutex): Ditto.
(pthread_cond::cond_access): Ditto.
(pthread_cond::win32_obj_id): Ditto.
(pthread_cond::TimedWait): Ditto.
(pthread_cond::BroadCast): Ditto.
(pthread_cond::Signal): Ditto.
(pthread_cond::waiting): Change type to unsigned long.
(pthread_cond::pending): New member.
(pthread_cond::semWait): Ditto.
(pthread_cond::mtxIn): Ditto.
(pthread_cond::mtxOut): Ditto.
(pthread_cond::mtxCond): Ditto.
(pthread_cond::UnBlock): New method.
(pthread_cond::Wait): Ditto.
* thread.cc: Update list of cancellation points.
(pthread_cond::pthread_cond): Rewrite.
(pthread_cond::~pthread_cond): Ditto.
(pthread_cond::TimedWait): Remove.
(pthread_cond::BroadCast): Ditto.
(pthread_cond::Signal): Ditto.
(pthread_cond::UnBlock): Implement.
(pthread_cond::Wait): Ditto.
(pthread_cond::fixup_after_fork): Rewrite.
(pthread_mutex::fixup_after_fork): Remove DETECT_BAD_APP
conditional.
(__pthread_cond_broadcast): Just return 0 if the condition is
not initialized. Call pthread_cond::UnBlock to release blocked
threads.
(__pthread_cond_signal): Ditto.
(__pthread_cond__dowait): Rewrite.
(pthread_cond_timedwait): Add pthread_testcancel call. Fix
waitlength calculation.
(pthread_cond_wait): Add pthread_testcancel call.
2003-03-18 19:49:38 +00:00
Thomas Pfaff
2ff03dc2e0
* include/pthread.h (PTHREAD_MUTEX_NORMAL): New define.
...
* thread.cc: Remove errno.h include.
(pthread::precreate): Change internal mutex type to normal.
(pthread_mutex::canBeUnlocked): Implement.
(pthread_mutex::pthread_mutex): Initialize lock_counter with 0.
(pthread_mutex::Lock): Rename to _Lock. Add self parameter.
Change lock_counter logic. Update SetOwner call.
(pthread_mutex::TryLock): Rename to _TryLock. Add self parameter.
Change lock_counter logic. Update SetOwner call.
(pthread_mutex::UnLock): Rename to _UnLock. Add self parameter.
Change lock_counter logic.
(pthread_mutex::Destroy): Rename to _Destroy. Update TryLock call.
(pthread_mutex::SetOwner): Move to thread.h as inline.
(pthread_mutex::LockRecursive): Ditto.
(pthread_mutex::fixup_after_fork): Change lock_counter logic.
(__pthread_mutexattr_settype): Add PTHREAD_MUTEX_NORMAL to valid
types check.
* thread.h: Include errno.h and limits.h.
(MUTEX_LOCK_COUNTER_INITIAL): Remove.
(MUTEX_OWNER_ANONYMOUS): New define.
(pthread_mutex::canBeUnlocked): New static method.
(pthread_mutex::lock_counter): Change type to unsigned long.
(pthread_mutex::GetPthreadSelf): New method.
(pthread_mutex::Lock): Call _Lock with pthread_self pointer.
(pthread_mutex::TryLock): Call _TryLock with pthread_self pointer.
(pthread_mutex::UnLock): Call _UnLock with pthread_self pointer.
(pthread_mutex::Destroy): Call _Destroy with pthread_self pointer.
(pthread_mutex::SetOwner): Moved from thread.cc as inline.
(pthread_mutex::LockRecursive): Ditto.
(pthread_mutex::_Lock): New method.
(pthread_mutex::_TryLock): New method.
(pthread_mutex::_UnLock): New method.
(pthread_mutex::_Destroy): New method.
2003-03-18 19:39:21 +00:00
Corinna Vinschen
dcd350f0ec
* fhandler_proc.cc (format_proc_cpuinfo): Use IsProcessorFeaturePresent
...
only on Windows NT. Read CPU Mhz value only on NT. Revert previous
change so cpuid instruction is called even on non-NT systems.
2003-03-18 09:30:03 +00:00
Corinna Vinschen
c51dc9c245
* glob.c (g_lstat): Change API minor test to match API minor number
...
change in previous patch.
(g_stat): Ditto.
2003-03-17 20:44:10 +00:00
Christopher Faylor
f194ba1ff3
* include/cygwin/version.h: Reorganize last two api versions so that btowc and
...
trunc exports show up before previous bump since there has been no exported
version of the DLL with the 64 bit changes yet but 1.3.22 will have the btowc
and trunc.
2003-03-17 19:16:15 +00:00
Christopher Faylor
3543669fd3
* cygwin.din: Export btowc, trunc.
...
* include/cygwin/version.h: Reflect new exports.
* syscalls.cc (_stat): Rename to stat to avoid newlib wrapper.
* syscalls.cc (_fstat): Ditto.
* fhandler_console.cc (fhandler_console::close): Correct check for current tty.
Add debugging output when console is freed.
(set_console_state_for_spawn): Add debugging output.
* fhandler_tty.cc (fhandler_tty_slave::open): Don't decrement console open flag
when vforking.
* sigproc.cc (sigproc_terminate): Fix debugging output.
* spawn.cc (handle): Eliminate second argument.
(spawn_guts): Reflect elimination of argument change to handle.
* syscalls.cc (setsid): Add debugging output when console is freed.
* syscalls.cc (rename): Revert assumption that DELETE_ON_CLOSE works on Win9x.
2003-03-17 19:08:11 +00:00
Christopher Faylor
41ffdfa51e
* include/cygwin/version.h: Bump DLL minor number to 23.
2003-03-13 23:11:38 +00:00
Corinna Vinschen
5b186cd999
* autoload.cc (IsProcessorFeaturePresent): Add.
...
* fhandler_proc.cc (format_proc_cpuinfo): Add case for 9x systems.
2003-03-13 22:53:16 +00:00
Corinna Vinschen
c58555c70f
* fhandler_proc.cc (format_proc_cpuinfo): Fix vendor id in cpuid case.
2003-03-13 22:32:40 +00:00
Corinna Vinschen
49a0d53c46
* net.cc (cygwin_rcmd): Use correct file descriptor in call to fdsock.
...
(cygwin_rexec): Ditto.
2003-03-13 11:31:24 +00:00
Christopher Faylor
6fcd5661fe
* syscalls.cc (rename): Assume that DELETE_ON_CLOSE works on Win9x.
...
* fhandler_tty.cc (fhandler_tty_slave::close): Fix typo in debug output.
2003-03-13 08:18:15 +00:00
Corinna Vinschen
aa39b7f7bf
* fhandler_socket.cc (fhandler_socket::dup): Don't call
...
fhandler_base::dup() but call DuplicateHandle directly instead to have
control over socket inheritence.
2003-03-11 16:49:58 +00:00
Corinna Vinschen
2afa7f5882
2003-03-11 Corinna Vinschen <corinna@vinschen.de>
...
* fhandler_socket.cc (fhandler_socket::dup): On NT systems avoid
using WinSock2 socket duplication methods. Add comment.
2003-03-11 Pierre Humblet <pierre.humblet@ieee.org>
* fhandler_socket.cc (fhandler_socket::fixup_after_fork):
Set io_handle to INVALID_SOCKET in case of failure.
(fhandler_socket::dup): Return 0 if the io_handle is valid.
2003-03-11 13:05:36 +00:00
Corinna Vinschen
556ceaeb58
* sec_acl.cc (setacl): Don't handle DELETE flag specially.
...
* security.cc (alloc_sd): Ditto.
2003-03-10 16:25:48 +00:00
Corinna Vinschen
6bbf711e68
Fix typo.
2003-03-09 22:13:27 +00:00
Corinna Vinschen
a201401c41
* winver.rc: Change Copyright hint to inlcude 2003.
2003-03-09 22:13:06 +00:00
Corinna Vinschen
b1aae492d0
Switch to 32/64 datatypes:
...
* Makefile.in (OBSOLETE_FUNCTIONS): Add open acl aclcheck aclfrommode
aclfrompbits aclfromtext aclsort acltomode acltopbits acltotext chown
facl fchown fgetpos fopen freopen fseeko fsetpos fstat ftello
ftruncate getegid geteuid getgid getgrent getgrgid getgrnam getgroups
getpwuid getpwuid_r getuid initgroups lchown lseek lstat mknod mmap
seekdir setegid seteuid setgid setgroups setregid setreuid setuid stat
telldir truncate.
(NEW_FUNCTIONS): Add _open64 acl32 aclcheck32 aclfrommode32
aclfrompbits32 aclfromtext32 aclsort32 acltomode32 acltopbits32
acltotext32 chown32 facl32 fchown32 fgetpos64 fopen64 freopen64
fseeko64 fsetpos64 fstat64 ftello64 ftruncate64 getegid32 geteuid32
getgid32 getgrent32 getgrgid32 getgrnam32 getgroups32 getpwuid32
getpwuid_r32 getuid32 initgroups32 lchown32 lseek64 lstat64 mknod32
mmap64 seekdir64 setegid32 seteuid32 setgid32 setgroups32 setregid32
setreuid32 setuid32 stat64 telldir64 truncate64 to substitute the
above.
* cygserver_shm.h (class client_request_shm): Change uid_t and gid_t
members to __uid32_t and __gid32_t.
* cygwin.din: Add symbols acl32 aclcheck32 aclfrommode32
aclfrompbits32 aclfromtext32 aclsort32 acltomode32 acltopbits32
acltotext32 facl32 fgetpos64 fopen64 freopen64 fseeko64 fsetpos64
_fstat64 ftello64 _lseek64 mknod32 _open64.
* glob.c: Include perprocess.h.
(globtilde): Call getpwuid32 and getuid32 instead of getpwuid and
getuid.
(g_lstat): Check for applications API version to call the appropriate
typed gl_lstat function.
(g_stat): Ditto for gl_stat.
* shm.cc (client_request_shm::client_request_shm): Call geteuid32
and getegid32 instead of geteuid and getegid throughout.
* syscalls.cc (_open64): New alias for open.
(_lseek64): New alias for lseek64.
(_fstat64): New alias for fseek64.
(mknod32): New function.
(mknod): Calls mknod32 now.
* winsup.h: Make function declarations for getuid32, geteuid32,
and getpwuid32 accessible for plain C sources. Add declarations
for getegid32 and getpwnam.
* include/cygwin/version.h: Bum API minor number to 78.
* include/sys/cygwin.h: Guard C++ specific members of struct
per_process against inclusion in plain C sources.
* include/sys/mman.h (mman): Add guard to avoid type clash when
compiling Cygwin.
2003-03-09 21:51:00 +00:00
Christopher Faylor
d580d86c80
fix typo
2003-03-09 20:54:12 +00:00
Christopher Faylor
659fb3ffd3
* include/cygwin/version.h: Bump DLL minor number to 21.
2003-03-09 20:50:11 +00:00
Christopher Faylor
c367dfd02c
Do some minor reformatting of 'extern "C"' use throughout.
...
* autoload.cc (GetSystemTimes): Define new autoload function.
* fhandler_proc.cc (proc_listing): Add cpuinfo and partitions entries.
(fhandler_proc::fill_filebuf): Add PROC_CPUINFO and PROC_PARTITIONS cases.
(format_proc_uptime): Use GetSystemTimes if available.
(read_value): New macro.
(print): New macro.
(cpuid): New function.
(can_set_flag): New function.
(format_proc_cpuinfo): New function.
(format_proc_partitions): New function.
2003-03-09 20:10:25 +00:00
Christopher Faylor
36c4a441f6
* syscalls.cc (unlink): Attempt to be more clever about setting attributes of
...
file. Only open file in query mode to avoid having to mess with security stuff
for reading.
2003-03-09 18:10:42 +00:00
Corinna Vinschen
639ebe297b
* rmsym: Fix regular expression.
2003-03-09 17:13:46 +00:00
Christopher Faylor
3a1d827f5c
* Makefile.in: Change from using new-* to cygwin0 for temporary targets.
2003-03-09 17:01:41 +00:00
Corinna Vinschen
ca0e907143
* include/cygwin/socket.h: Set SOMAXCONN to Winsock2 value.
2003-03-09 16:05:54 +00:00
Christopher Faylor
ed269ceaa2
* syscalls.cc (unlink): Always attempt to use FILE_FLAG_CLOSE_ON_DELETE to
...
delete files since this allows us to preserve the protection of hard linked
files.
(link): Generate full path for potentially recalculated .lnk target.
2003-03-09 00:10:29 +00:00
Christopher Faylor
1114c3d059
Revert below changes regarding _pinfo::cmdline.
2003-03-08 17:56:13 +00:00