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
Corinna Vinschen
d66ac2bc52
* external.cc (cygwin_internal): Change n to __off64_t to match change
...
of _pinfo::cmdline.
* fhandler.h (class fhandler_virtual): Change filesize member to
__off64_t.
* fhandler_proc.cc (format_proc_meminfo): Change to return __off64_t.
(format_proc_stat): Ditto.
(format_proc_uptime): Ditto.
* fhandler_process.cc (format_process_stat): Ditto.
(format_process_status): Ditto.
(format_process_statm): Ditto.
* pinfo.cc (_pinfo::cmdline): Expect __off64_t parameter.
* pinfo.h (class _pinfo): Change declaration of cmdline accordingly.
2003-03-08 16:44:25 +00:00
Christopher Faylor
762520f3bc
* path.h (PATH_LNK): New enum val.
...
(path_conv::is_lnk_symlink): New function. True if path represents .lnk style
symlink.
* path.cc (check_shortcut): Set PATH_LNK in pflags when appropriate.
(symlink_info::check): Ditto. Remove PATH_LNK from pflags initially.
* syscalls.cc (unlink): Always remove readonly attribute from a symlink
regardless of type.
(link): (from Corinna Vinschen) Allow links to symlinks. Reset attributes on a
symlink after successful link creation.
(chmod): Use is_lnk_symlink where appropriate.
(rename): Ditto.
* tty.cc (create_tty_master): Call GetComputerName instead of
cygwin_gethostname. Set ut_id.
* syscalls.cc (login): Call endutent.
(setutent): Do not seek after a fresh open.
2003-03-08 03:36:39 +00:00
Corinna Vinschen
6f8102cb71
* syscalls.cc (seteuid32): Fix formatting.
2003-03-07 16:35:56 +00:00
Thomas Pfaff
8824332846
* thread.cc (MTinterface::fixup_after_fork): Initialize mainthread
...
prior to pthread objects.
2003-03-04 20:16:49 +00:00
Corinna Vinschen
12390bc40d
* fhandler_socket.cc (fhandler_socket::dup): Initialize type.
2003-03-04 16:35:00 +00:00
Christopher Faylor
a354f29e07
revert erroneous entry
2003-03-04 05:30:51 +00:00
Christopher Faylor
229f2bb465
* Makefile.in (strace.exe): Include mingw_getopt.o in link line.
...
* cygcheck.cc (print_version): Update copyright.
* strace.cc (print_version): Ditto.
(main): Allow cygwin paths for -o option.
(create_child): Allow cygwin path as argv[0].
* path.cc (path.cc): Allow UNC paths.
2003-03-04 05:30:50 +00:00
Christopher Faylor
c418817ed8
* fhandler.h (fhandler_tty_slave::close): Declare new function.
...
(fhandler_tty_slave::dup): Declare new function.
(fhandler_tty_slave::fixup_after_function): Declare new function.
* fhandler_tty.cc (fhandler_tty_slave_open): Only increment
fhandler_console::open_fhs when associated with a pty.
(fhandler_tty_slave::close): Define new function. Decrement
fhandler_console::open_fhs when associated with a pty.
(fhandler_tty_slave::dup): Define new function. Increment
fhandler_console::open_fhs when associated with a pty.
(fhandler_tty_slave::fixup_after_fork): Define new function. Increment
fhandler_console::open_fhs when associated with a pty.
2003-03-04 04:07:34 +00:00
Christopher Faylor
e11fe31b55
* fhandler_tty.cc (fhandler_pty_slave::open): Grudgingly increment
...
fhandler_console::open_fhs here.
(fhandler_pty_slave::close): Ditto for close.
2003-03-03 15:15:49 +00:00
Christopher Faylor
cffdb4b17f
* lib/getopt.c: Refresh from NetBSD sources.
2003-03-03 04:30:09 +00:00
Christopher Faylor
d5d2ffee38
* fhandler_console.cc (fhandler_console::close): Don't decrement in use counter
...
if in vfork fixup stage.
2003-03-03 03:58:10 +00:00
Christopher Faylor
c2c6b1701a
* lib/getopt.c: Nuke use of unneeded BSDisms.
2003-03-02 22:52:18 +00:00
Christopher Faylor
8b19b43d00
* dll_init.cc (dll_list::load_after_fork): Don't revert to LoadLibrary if
...
LoadLibraryEx fails.
* dtable.cc (dtable::dec_console_fds): Eliminate.
(dtable::release): Don't treat console specially.
(dtable::build_fhandler): Ditto.
* dtable.h (console_fds): Eliminate.
(dtable::dec_console_fds): Eliminate.
(dtable::inc_console_fds): Eliminate.
* fhandler.h (fhandler_console::open_fhs): New static element.
* fhandler_console.cc (fhandler_console::open): Increment open_fs.
(fhandler_console::close): Call FreeConsole if no more open consoles and ctty
is not associated with the console.
* syscalls.cc (setsid): Simplify check for when to call FreeConsole.
(check_pty_fds): Eliminate definition.
* winsup.h (check_pty_fds): Eliminate declaration.
2003-03-02 18:37:17 +00:00
Christopher Faylor
3efc65f7df
* dll_init.cc (dll_list::load_after_fork): Fix typo where result of LoadLibrary
...
was ignored.
2003-03-02 17:29:47 +00:00
Christopher Faylor
408e9b2fd4
fix typo
2003-03-02 06:50:27 +00:00
Corinna Vinschen
5a082e9eac
* fhandler_socket.cc (fhandler_socket::bind): Open and write socket
...
file using Win32 calls.
2003-03-01 16:17:55 +00:00
Corinna Vinschen
9d913f071f
* fhandler_socket.cc (get_inet_addr): Open and read socket file using
...
Win32 calls.
2003-03-01 15:28:24 +00:00
Christopher Faylor
005c3065eb
* cygwin.din: Wrap atexit and exit with cygwin, thread-safe functions.
...
* dcrt0.cc (cygwin_atexit): New function.
(cygwin_exit): Ditto.
2003-03-01 02:02:42 +00:00
Pierre Humblet
27b4082ae7
2003-02-28 Pierre Humblet <pierre.humblet@ieee.org>
...
* syscalls.cc (fstat64): Pass get_name () to pc.
(access): Pass fn to stat_worker.
2003-02-28 23:52:48 +00:00
Corinna Vinschen
5777b970bb
2003-03-27 Corinna Vinschen <corinna@vinschen.de>
...
* fhandler_socket.cc (class sock_event): New class managing Winsock
events for interruptible socket calls.
(fhandler_socket::connect): Move support for interruptible call to
class sock_event. Use class object instead.
(fhandler_socket::accept): Ditto. Remove useless casts.
2003-03-27 Thomas Pfaff <tpfaff@gmx.net>
* fhandler_socket.cc (fhandler_socket::connect): Add support for
an interruptable connect.
2003-02-27 21:41:28 +00:00
Corinna Vinschen
7b2ce66370
* uinfo.cc (internal_getlogin): Only update user.groups.pgsid
...
if the call to set the primary group succeeds.
2003-02-27 17:41:15 +00:00
Christopher Faylor
0e7a60fef9
* cygthread::detach: Improve error message.
2003-02-27 15:09:31 +00:00
Corinna Vinschen
61a525994a
* sec_helper.cc (get_sids_info): debug_print owner_sid and group_sid.
2003-02-26 08:34:34 +00:00
Corinna Vinschen
6b9a9ce6ba
* mmap.cc (mmap64): Fix returned address by taking the granularity
...
into account.
2003-02-25 12:46:39 +00:00