Commit Graph

3368 Commits

Author SHA1 Message Date
Christopher Faylor e5d6d53590 * cygthread.h: Change 'avail' cygthread element to 'inuse' throughout.
* cygthread.cc: Ditto.
(cygthread::stub): Don't initialize already initialized events.
(cygthread::freerange): Don't create thread here.
(cygthread::cygthread): Create thread here.  Die if thread not created.
(cygthread::operator new): Simplify.  Just grab a thread structure from the
pool.  Don't try to start the thread.
(cygthread::terminate_thread): Don't close event handles.  Just reuse them.
Call MEM_RELEASE rather than MEM_DECOMMIT (from Joe Buehler).
2003-04-10 05:27:34 +00:00
Pierre Humblet 57efd527df 2003-04-10 Pierre Humblet <pierre.humblet@ieee.org>
* mkpasswd.c (current_user): print uid and gid as unsigned.
        (enum_users): Ditto. Do not free servername.
        (usage): Update to allow several domains and improve -p.
        (main): On Win9x limit uids to 1000. Only print specials
        when -l is specified. Add a loop to allow several domains
        and free servername in the loop.
        * mkgroup.c (enum_groups): Do not free servername.
        (usage): Update to allow several domains. Change uid to gid.
        (main): Only print specials when -l is specified. Add a
        loop to allow several domains and free servername in the loop.
2003-04-10 01:14:18 +00:00
David Starks-Browning c6e74c4c82 add lack of '~' to ash missing features 2003-04-08 22:24:27 +00:00
Christopher Faylor ca81cd60ce * fhandler_console.cc (fhandler_console::read) Handle certain key up events, to
allow pasting accented characters and typing them using the "alt + numerics"
sequences.
* include/limits.h (IOV_MAX): Set to a number which is small enough to use in
an array.
2003-04-08 21:19:33 +00:00
Thomas Pfaff e3501c78ca * winsup.api/pthread/condvar9.c: Fix test. 2003-04-08 18:29:37 +00:00
Danny Smith 29d0fe3f74 * include/time.h (strftime): Remove duplicate declaration. 2003-04-07 01:31:37 +00:00
Danny Smith 3f26a1aeb7 2003-04-07 Marcel Telka <telka@users.sourceforge.net>
* include/ddk/winddk.h (KIRQL): Typedef as UCHAR. not ULONG.
2003-04-07 01:06:23 +00:00
Christopher Faylor 9dbe3289ee * cygthread.h (cygthread::avail): Make LONG for easier use with Interlocked*
functions.
* cygthread.cc (cygthread::init): Eliminate unneeded muto.
(cygthread::operator new): Don't lock.  Instead change use of avail variable
into tri-state: available (1), not available (-1), uninitialized (0).
(cygthread::terminate_thread): Set avail to uninitialized.
(cygthread::detach): Eliminate local 'avail'.  Always set avail to 1 unless
signalled.
* cygthread.cc (cygthread::operator new): Be more defensive when messing with
2003-04-04 18:52:11 +00:00
Christopher Faylor 8aed2a11a8 add comments 2003-04-04 06:03:52 +00:00
Christopher Faylor b410f1680f * cygthread.cc (operator new): Be more defensive when messing with threads that
are marked "unavailable".
2003-04-04 05:58:06 +00:00
Christopher Faylor a61bf8c369 * fhandler_console.cc (CONVERT_LIMIT): Use a size for the 21st century. 2003-04-03 14:05:30 +00:00
Corinna Vinschen d5292d66a4 * external.cc (check_ntsec): Return general ntsec state on NULL
filename.  Check wincap.is_security() additionally.
2003-04-03 08:18:43 +00:00
Corinna Vinschen 5a4a19b3f3 ChangeLog already commited yesterday:
* external.cc (check_ntsec): New function.
	(cygwin_internal): Add CW_CHECK_NTSEC handling to call check_ntsec()
	from applications.
	* include/cygwin/version.h: Bump API minor number.
	* include/sys/cygwin.h (cygwin_getinfo_types): Add CW_CHECK_NTSEC.
2003-04-03 08:04:41 +00:00
Christopher Faylor 1ce82d241f fix usage 2003-04-03 04:07:57 +00:00
Christopher Faylor 5a87c6163b * Makefile.in (EXTRA_OFILES): Remove debugging object. 2003-04-03 01:23:37 +00:00
Christopher Faylor d99c61760e * external.cc (check_ntsec): New function.
(cygwin_internal): Add CW_CHECK_NTSEC handling to call check_ntsec() from
applications.
* include/cygwin/version.h: Bump API minor number.
* include/sys/cygwin.h (cygwin_getinfo_types): Add CW_CHECK_NTSEC.
* cygthread.cc (cygthread::new): Add more defensive debugging.
2003-04-02 23:01:11 +00:00
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
Danny Smith ce5435df0b * include/_mingw.h (_CRTIMP): Make conditional on __USE_CRTIMP. 2003-03-31 21:11:13 +00:00
Danny Smith ebb73170e8 2003-03-30 Hans E. Molin <kvasi@users.sourceforge.net>
* include/olectl.h (OleLoadPicturePath): Correct prototype.
2003-03-30 21:19:04 +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
Danny Smith c453f40410 2003-03-30 Danny Smith <dannysmith@users.sourceforge.net>
* lib/uuid.c (IID_IHTML*): Move definitions to...
	* lib/mshtml-uuid.c: New file.
	* lib/Makefile.in: Add mshtml-uuid.o to libuuid.a

2003-03-30  Michael Sazonov  <traip@comset.net>

	* lib/uuid.c (IID_IHTML*): Add new GUID definitions.
	* include/mshtml.h (IHTMLElementCollection, IHTMLLinkElement,
	IHTMLImgElement): Add intetface definitions.
2003-03-29 21:31:15 +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
Danny Smith d9c55a44d6 * include/commctrl.h (ANIMATE_CLASS,HOTKEY_CLASS,PROGRESS_CLASS,
STATUSCLASSNAME,TOOLBARCLASSNAME,TOOLTIPS_CLASS,TRACKBAR_CLASS,
	UPDOWN_CLASS,WC_COMBOBOXEX,WC_HEADER,WC_IPADDRESS,WC_LISTVIEW,
	WC_TABCONTROL,WC_TREEVIEW): Move UNICODE mappings out of
	RC_INVOKED guard.
 	(WC_PAGESCROLLER,WC_NATIVEFONTCTL,WC_BUTTON,WC_STATIC,WC_EDIT,
	WC_LISTBOX,WC_COMBOBOX,WC_SCROLLBAR): Add defines.
2003-03-29 05:06:53 +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 b7f68d3e9d * Makefile.common (ALL_CXXFLAGS): Make normal '=' type variable so that
CXXFLAGS is properly interpreted.
2003-03-29 04:15:52 +00:00
Danny Smith 247808c13b 2003-03-28 Bang Jun-Young <junyoung@netbsd.org>
* include/winnt.h (WAITORTIMERCALLBACKFUNC): Add typedef.
2003-03-29 01:33:41 +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
Thomas Pfaff c65b504859 * winsup.api/pthread/rwlock1.c: Remove pthreads-win32 header.
* winsup.api/pthread/rwlock2.c: Ditto.
* winsup.api/pthread/rwlock3.c: Ditto.
* winsup.api/pthread/rwlock4.c: Ditto.
* winsup.api/pthread/rwlock5.c: Ditto.
* winsup.api/pthread/rwlock6.c: Ditto.
2003-03-27 19:46:35 +00:00
Thomas Pfaff 9b15aa7559 * winsup.api/pthread/condvar7.c (mythread): Cast
pthread_mutex_unlock argument of pthread_cleanup_push
to void *, preventing a	compiler warning / testsuite failure.
* winsup.api/pthread/condvar9.c (mythread): Likewise.
* winsup.api/pthread/rwlock7.c (main): Use ftime instead of
_ftime.
2003-03-27 19:44:41 +00:00
Christopher Faylor 921587de50 note mount binary default. 2003-03-27 18:46:16 +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
Danny Smith 2f4be7367e * include/secext.h (GetComputerObjectName[AW],GetUserNameEx[AW],
TranslateName[AW]): Add prototypes.
	* lib/sec32.def (GetComputerObjectName[AW],GetUserNameEx[AW],
	TranslateName[AW]): Add stubs.
2003-03-27 08:10:46 +00:00
Joshua Daniel Franklin 6c7303cd5f * setup-net.sgml: Make suggested additions to setup.exe documentation 2003-03-27 04:56:52 +00:00
Danny Smith 498268ef01 2003-03-27 Vladimir Michl <michlv@users.sourceforge.net>
* include/ddk/ndis.h (NdisAllocateSpinLock,NdisFreeSpinLock,
	NdisAcquireSpinLock,NdisReleaseSpinLock,NdisDprAcquireSpinLock,
	NdisDprReleaseSpinLock): Change macro argument from SpinLock to
	_SpinLock.
2003-03-27 02:14:14 +00:00
Earnie Boyd fc7c546387 * include/w32api.h: Increment version to 2.4.
* Makefile.in: Ditto.
2003-03-26 23:50:25 +00:00
Danny Smith 200738932f Move some ddk defines to winnt.h as per MSDN documentation
* include/ddk/batclass.h (BATTERY_REPORTING_SCALE)
	Move structure from here...
	* include/winnt.h (BATTERY_REPORTING_SCALE): To here.

	* include/ddk/ntapi.h (JOBOBJECT_*):
	Remove structures and enums definitions.
  	(JOB_OBJECT*): Move defines from here...
	* include/winnt.h (JOB_OBJECT* ): To here.

	* include/ddk/ntpoapi.h (LATENCY_TIME, POWER_ACTION_POLICY,
	SYSTEM_POWER_LEVEL, SYSTEM_POWER_POLICY,
	PROCESSOR_POWER_POLICY_INFO, PROCESSOR_POWER_POLICY,
	ADMINISTRATOR_POWER_POLICY, SYSTEM_POWER_INFORMATION,
	PROCESSOR_POWER_INFORMATION, SYSTEM_BATTERY_STATE,
	SYSTEM_POWER_CAPABILITIES): Move enums, structures
	and associated defines from here ...
	* include/winnt.h: (LATENCY_TIME, POWER_ACTION_POLICY,
	SYSTEM_POWER_LEVEL, SYSTEM_POWER_POLICY,
	PROCESSOR_POWER_POLICY_INFO, PROCESSOR_POWER_POLICY,
	ADMINISTRATOR_POWER_POLICY, SYSTEM_POWER_INFORMATION,
	PROCESSOR_POWER_INFORMATION, SYSTEM_BATTERY_STATE,
	SYSTEM_POWER_CAPABILITIES):To here.

	* include/ddk/winddk.h (DEVICE_POWER_STATE,
	SYSTEM_POWER_STATE, POWER_ACTION): Move enums
	from here...
	* include/winnt.h (DEVICE_POWER_STATE,
	SYSTEM_POWER_STATE, POWER_ACTION): To here.
2003-03-26 22:28:01 +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
Christopher Faylor ce7a361072 * cygcheck.cc (dump_sysinfo): Ensure that CYGWIN environment variable is
correctly set.
2003-03-25 01:20:04 +00:00
Joshua Daniel Franklin 8fdbcd1279 * setup-net.sgml: Improve setup.exe documentation 2003-03-23 19:43:33 +00:00
Joshua Daniel Franklin 0fd535061d * setup-net.sgml: Improve setup.exe documentation 2003-03-23 19:35:52 +00:00
Joshua Daniel Franklin 489d990b9d * setup-net.sgml: Improve setup.exe documentation 2003-03-23 16:23:52 +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
Joshua Daniel Franklin 522fcf1615 * setup-net.sgml: Document setup.exe 2003-03-22 21:16:25 +00:00
Joshua Daniel Franklin 7d37d0459e * setup-net.sgml: Document setup.exe 2003-03-22 20:03:41 +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
Danny Smith 8e3121c535 *lib/ndis.def (NdisAllocateMemory): Correct stdcall suffix.
Thanks to: Vladimir Michl <michlv@users.sourceforge.net>
	(NdisUpdateSharedMemory): Likewise.
	(NdisMFreeSharedMemory: Likewise.
	(NdisMMapIoSpace: Likewise.
2003-03-20 00:44:06 +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 4fd9bca85e * winsup.api/pthread/rwlock1.c: New test.
* winsup.api/pthread/rwlock2.c: Ditto.
* winsup.api/pthread/rwlock3.c: Ditto.
* winsup.api/pthread/rwlock4.c: Ditto.
* winsup.api/pthread/rwlock5.c: Ditto.
* winsup.api/pthread/rwlock6.c: Ditto.
* winsup.api/pthread/rwlock7.c: Ditto.
2003-03-18 20:04:24 +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 5df1410028 * winsup.api/pthread/condvar7.c: New test.
* winsup.api/pthread/condvar9.c: Ditto.
2003-03-18 19:51:58 +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 0bad7c2e26 * winsup.api/pthread/mutex1n.c: New test.
* winsup.api/pthread/mutex6n.c: Ditto.
* winsup.api/pthread/mutex7n.c: Ditto.
2003-03-18 19:42:43 +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
Danny Smith bc1658ad66 * include/lmaccess.h (UF_LOCKOUT): Correct name from UF_LOCK.
Thanks to: Fabricio D. Rossi  <gurusoda@users.sourceforge.net>
 	(UF_SETTABLE_BITS): Correct UF_LOCKOUT here too.
2003-03-18 09:19:21 +00:00
Christopher Faylor eeb65b9513 * Makefile.common (w32api_lib): Default to system w32api directory if w32api is
missing from source.
2003-03-17 23:13:26 +00:00
Christopher Faylor 298b2249e6 * Makefile.common: Fix typo from previous checkin. 2003-03-17 22:35:53 +00:00
Christopher Faylor 237ab58c28 * configure.in: w32api directory was already optional. Semi-revert 2003-02-06
change.
* configure: Regenerate.
* Makefile.common: Don't specific -nostdinc if there is no w32api directory.
2003-03-17 22:27:07 +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
Danny Smith 4b170a4bf4 2003-03-17 Bang Jun-Young <junyoung@netbsd.org>
* include/winbase.h (EnumResourceLanguages[AW]): Correct prototypes.
	(EnumResourceNames[AW]): Ditto.
	(EnumResourceTypes[AW]): Ditto.
	* include/wincon.h (CONSOLE_FONT_INFO): Add struct.
2003-03-17 10:01:07 +00:00
Danny Smith 48051a71ce Get rid of some warnings
* mingwex/dirent.c (_topendir): Eliminate signed/unsigned warning.
	* mingwex/strtoimax.c (strtoimax): Likewise.
	* mingwex/wcstoimax.c (wcstoimax): Likewise.
	* mingwex/wtoll.c (wtoll): Remove unnecessary ';'
	* mingwex/fesentenv.c: Include float.h.
	* mingwex/math/powl.c: Eliminate type punning/strict aliasing 
	warning.
	* mingwex/math/tanhl.c: Eliminate signed/unsigned warning in
	constants.
	* mingwex/math/tgammal.c: Likewise.
2003-03-17 01:03:43 +00:00
Danny Smith 9bd09d45f0 2003-03-16 Toby Malone <malone@users.sourceforge.net>
* include/winuser.h (SendInput): Add prototype.
	* lib/user32.def (SendInput): Add stub.
2003-03-17 00:14:39 +00:00
Danny Smith f99ee1608c * include/utime.h: New file, forwarding to sys/utime.h. 2003-03-16 22:23:58 +00:00
Danny Smith 5652f74ed2 * include/sys/param.h (MAXPATHLEN): Define. 2003-03-16 22:18:05 +00:00
Danny Smith e685ccffdf * include/tchar.h: Ansi-fy a comment. 2003-03-16 22:15:19 +00:00
Danny Smith dcbe33d83a * profile/profile.h (mcount): Use __builtin_return_address
rather than __asm statements.
	* profile/Makefile.in: Remove special rule for mcount.o
	Specify dependencies for mcount.o profil.o gmon.o.
2003-03-16 22:12:01 +00:00
Danny Smith 7729cf524f 2003-03-16 Vadim Yegorov <zg@bmg.lv>
* winioctl.h (FSCTL_SET_REPARSE_POINT: Correct macro.
	(FSCTL_DELETE_REPARSE_POINT): Likewise.
2003-03-16 01:41:58 +00:00
Danny Smith 5b537130a3 2003-03-15 Bang Jun-Young <junyoung@netbsd.org>
* winnt.h (JOBOBJECTINFOCLASS): Define enum.
	(JOBOBJECT_*): Define corresponding structures.
2003-03-15 03:50:48 +00:00
Danny Smith 2359084b5b 2003-03-13 Danny Smith <dannysmith@users.sourceforge.net>
* include/ddk/winddk.h (PCUNICODE_STRING): Remove incorrect
	typedef.

2003-03-13  Bang Jun-Young  <junyoung@netbsd.org>

	* lib/kernel32.def (Module32{First,Next}{,W}): Add missing exports.
	(Process32{First,Next}{,W}): Ditto.
	(Thread32{First,Next}): Ditto.
	* include/ntdef.h (PCUNICODE_STRING): Add typedef.
2003-03-14 03:06:52 +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
Earnie Boyd 19bf3bcc3e * include/mswsock.h: Correct invalid filter for _WINSOCK2_H.
Thanks to Jim Barton <jmbarton@users.sf.net>.
2003-03-12 23:36:54 +00:00
Christopher Faylor 0e2b01821a fix typo 2003-03-12 17:21:31 +00:00
Christopher Faylor df4bf7b98c Checkin previously referred to in ChangeLog. 2003-03-12 06:28:27 +00:00
Danny Smith c5e1d3ea74 2003-03-12 Ranjit Mathew <rmathew@hotmail.com>
* include/winnt.h (_IMAGE_SEPARATE_DEBUG_HEADER): Expose
        member SectionAlignment.
2003-03-11 23:53:08 +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
Earnie Boyd 296b2a5f17 * include/winsvc.h (SERVICE_NO_CHANGE): Use hex constant to avoid
warnings.
	Thanks to Fabricio D. Rossi <gurusoda@users.sf.net>.
	* Makefile.in (bindist): Correct process.
	* lib/Makefile.in (install): Ditto.
	Thanks to Jeff Bonnggren <jbon@users.sf.net>.
2003-03-11 14:44: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
Danny Smith 970f752c8c * include/stdlib.h (qsort): Remove const from first parm.
Thanks to: Tien-Ren Chen  <trchen@sourceforge.users.net>
2003-03-11 03:00:50 +00:00
Danny Smith 316d65dc72 * include/rasdlg.h: New file.
* lib/rasdlg.def: New file.
	* lib/test.c: Include rasdlg.h.
2003-03-10 22:45:51 +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 a113a3c540 whitespace cleanup 2003-03-09 20:31:07 +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 90fec0fa7a * winsup.api/winsup.exp: Use -nostdinc when compiling.
* Makefile.in: Specifically search compiler include directory since it is now
stripped via -nostdinc.
2003-03-09 19:46:29 +00:00
Christopher Faylor bc1c4e1e64 . 2003-03-09 19:29:22 +00:00
Christopher Faylor cb837d41a7 * Makefile.common: Avoid double slashes in GCC_INCLUDE. 2003-03-09 19:22:15 +00:00
Corinna Vinschen ef1aafb0f3 * getfacl.c (username): Fix ambiguous printf calls.
(groupname): Ditto.
	(main): Ditto.
2003-03-09 19:04:23 +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 c379f2ed07 * winsup.api/ltp/fork10.c (main): Remove non-portable declaration
of lseek.
2003-03-09 17:53:06 +00:00
Corinna Vinschen 639ebe297b * rmsym: Fix regular expression. 2003-03-09 17:13:46 +00:00
Christopher Faylor 6e0465c6bc * Makefile.in: Use "cygwin0" rather than "new-cygwin" to denote in-build-tree
version of library or dll.
* config/default.exp: Ditto.
* winsup.api/winsup.exp: Ditto.
2003-03-09 17:03:05 +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 35c6ce031e missed in last checkin 2003-03-08 19:22:08 +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
Corinna Vinschen e463d1ac53 * winsup.api/known_bugs.tcl: Remove fsync01, setregid01 and setreuid01
from list of known bugs.
2003-03-07 15:59:58 +00:00
Danny Smith 3332e57f26 2003-03-06 Christopher January <chris@atomice.net>
* include/winbase.h (FindFirstVolume): Add declaration.
	(FindNextVolume): Add declaration.
	(FindVolumeClose): Add declaration.
	(GetSystemTimes): Add declaration.
	* include/winnt.h: Add define for PF_XMMI64_INSTRUCTIONS_AVAILABLE.

2003-03-06  Danny Smith  <dannysmith@users.sourceforge.net>

	*lib/kernel32.def (GetSystemTimes): Add stub.
2003-03-07 00:51:19 +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
Danny Smith b99f1bf031 2003-03-04 Heiko Gerdau <hg@technosis.de>
* oleidl.h (IOleObject): Correct GetUserType prototype.
	(IViewObject2): Correct GetExtent prototype.
	* olectl.h (DISPIP_): Add new defines
	* ocidl.h (IOleInPlaceSiteWindowless): Add new interface.
2003-03-04 00:36:06 +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
Danny Smith 2b02bd3c3f 2003-03-03 Christopher Faylor <cgf@redhat.com>
* mingwex/getopt.c: Refresh from NetBSD sources.
2003-03-03 10:27:57 +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
Danny Smith f5eb407ed1 * mingwex/getopt.c: New file, copied from cygwin srcs.
* include/getopt.h: New file, copied from cygwin srcs.
	* include/unistd.h: Include getopt.h.
	* mingwex/Makefile.in ((DISTFILES): Add getopt.c.
	(POSIX_OBJS): Add getopt.o.
2003-03-03 01:19:42 +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
Danny Smith 4aa3feb899 2003-03-02 Danny Smith <dannysmith@users.sourceforge.net>
* include/stdio.h (vscanf): Add prototype.
	(vfscanf): Ditto.
	(vsscanf): Ditto.
	(vwscanf): Ditto.
	(vfwscanf): Ditto.
	(vswscanf): Ditto.
	* include/wchar.h (vwscanf): Add prototype.
	(vfwscanf): Ditto.
	(vswscanf): Ditto.
	* mingwex/snprintf.c: Move to mingwex/stdio.
 	* mingwex/vsnprintf.c: Ditto.
	* mingwex/snwprintf.c: Ditto.
	* mingwex/vsnwprintf.c: Ditto.
	* mingwex/Makefile.in (VPATH): Add $(srcdir)/stdio
	(STDIO_DISTFILES): Add.
	(DISTFILES): Adjust.
	(STDIO_STUB_OBJS): Rename to STDIO_OBJS and add v*scanf objects.
	(LIB_OBJS): Adjust.
	(dist): Adjust.

2003-03-02  Aaron W  LaFramboise   <AWLaFramboise@aol.com>

	* mingwex/stdio: New directory
	* mingwex/stdio/vfscanf.c: New file.
	* mingwex/stdio/vfwscanf.c:  New file.
	* mingwex/stdio/vscanf.c:  New file.
	* mingwex/stdio/vsscanf.c:  New file.
	* mingwex/stdio/vswscanf.c:  New file.
	* mingwex/stdio/vwscanf.c:  New file.
2003-03-02 07:00:48 +00:00
Christopher Faylor 408e9b2fd4 fix typo 2003-03-02 06:50:27 +00:00
Joshua Daniel Franklin 34a50bf03f Document new mkgroup,mkpasswd options 2003-03-01 17:29:51 +00:00
Pierre Humblet f78765dadd 2003-03-01 Pierre Humblet <pierre.humblet@ieee.org>
* mkpasswd.cc (main): On Win95, output both a default line and a
       line for the current user (if known) with a pseudorandom uid. If
       the -u switch is given, produce a line for the specified user.
       * mkgroup.cc (main): On Win95 change the group name from "unknown" to
       "all".
2003-03-01 16:38:26 +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
Danny Smith 82569d7ac6 * include/olectl.h (OleLoadPictureEx) Add prototype.
(OleLoadPictureFile): Ditto.
	(OleLoadPictureFileEx): Ditto.
	(OleLoadPicturePath): Ditto.
	(OleSavePictureFile): Ditto.
2003-03-01 09:34:12 +00:00
Danny Smith c498f2e35a * include/objbase.h (CoAddRefServerProcess): Add prototype.
(CoAddReleaseServerProcess): Ditto.
	(CoResumeClassObjects): Ditto.
	(CoSuspendClassObjects): Ditto.
	* include/oleauto.h (V_I1): Define.
	Thanks to: "Timofei"  <mmttmm@users.sourceforge.net>
2003-03-01 07:19:36 +00:00
Danny Smith 8c061d6294 2003-03-01 Heiko Gerdau <hg@technosis.de>
* include/oleidl.h (USERCLASSTYPE): Add enum.
	* include/ocidl.h (IObjectWithSite): Add interface.
2003-03-01 06:51:51 +00:00
Christopher Faylor dbc49afd52 * Makefile.in (cygcheck.o): Fix so that actual mingw include files are used.
* cygcheck.cc (find_on_path): Translate from cygwin path when qualified path
name found.
(pretty_id): New function.  Dump output of id command.
(dump_sysinfo): Call pretty_id for CYGWIN=ntsec and CYGWIN=nontsec cases.
2003-03-01 03:38:19 +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
Danny Smith 3d5a4cbe6b 2003-02-28 Roland Schwingel <roland.schwingel@onevision.de>
Fixup UNICODE thinko in 2003-02-22 patch.
	* include/wingdi.h (AddFontMemResourceEx): Add.
	(RemoveFontMemResourceEx): Ditto.
	(AddFontMemResourceEx[AW]): Remove.
	(RemoveFontMemResourceEx[AW]): Ditto
	* lib/gdi32.def: (AddFontResourceEx): Add.
	(RemoveFontMemResourceEx): Ditto.
	(AddFontMemResourceEx[AW]): Remove.
	(RemoveFontResourceEx[AW]): Ditto.
2003-02-28 08:03:13 +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
Earnie Boyd 5ffa5aaa5c * Makefile.in (libmsvcrt20.a): Remove target and dependencies.
(libmsvcrt40.a): Ditto.
2003-02-25 13:07:46 +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
Pierre Humblet 1ffc44aaf7 2003-02-23 Pierre Humblet <pierre.humblet@ieee.org>
* syslog.cc (syslog): Do not unlock the file before closing it
       and remove debug_printf about stream errors.
2003-02-23 19:12:55 +00:00
Danny Smith cc379158bb 2003-02-23 Danny Smith <dannysmith@users.sourceforge.net>
* include/winbase.h (EVENTLOG_SUCCESS): Add define.
	Thanks to: Thomas Weber  <thomasweber@sourceforge.net>
2003-02-23 08:31:37 +00:00
Christopher Faylor b59e1aaceb whitespace 2003-02-22 23:03:26 +00:00
Christopher Faylor a066f3645b * cygmalloc.h: Remove MORECORE_CANNOT_TRIM. It's not true. # cygwin.din:
Export mallinfo.  # malloc_wrapper.cc (mallinfo): New function.
2003-02-22 23:02:15 +00:00
Christopher Faylor 878e60c561 * syslog.cc (syslog): Do not print the Windows pid. Print the Cygwin pid as an
unsigned decimal.  On Win95 print a timestamp and attempt to lock the file up
to four times in 3 ms.
2003-02-22 19:35:03 +00:00
Danny Smith fe96201935 2003-02-22 Roland Schwingel <roland.schwingel@onevision.de>
* include/wingdi.h (AddFontMemResourceEx[AW]): Add.
	(RemoveFontMemResourceEx[AW]): Ditto
	* lib/gdi32.def (AddFontMemResourceEx[AW]): Add.
	(RemoveFontMemResourceEx[AW]): Ditto.
2003-02-22 11:32:30 +00:00
Danny Smith d17d85ec0c 2003-02-22 Bang Jun-Young <junyoung@netbsd.org>
* lib/ntdll.def (NT*, RTL*, ZW*): Add missing exports.
	(NtCurrentTeb): Remove.
2003-02-22 10:43:46 +00:00
Danny Smith f06b65e352 * include/wsahelp.h: Remove ';' after closing
#ifdef __cplusplus brace.
	* include/ws2spi.h: Likewise.
2003-02-22 10:21:39 +00:00
Danny Smith dffcc5d324 * include/winbase.h (MEMORYSTATUSEX): Add structure.
(GlobalMemoryStatusEx): Add prototype.
	* lib/kernel32.def (GlobalMemoryStatusEx): Add stub.
2003-02-22 10:16:22 +00:00
Earnie Boyd ab664f2d53 Thanks to David Frasier <davidf@sjsoft.com> who inspired portions of
this patch.
	* Makefile.in (libmsvcrtd.a): Add target library.
	(libmoldnamed.a): Ditto.
	(msvcrt.def, msvcrtd.def, msvcrt20.def, msvcrt40.def): Use msvcrt.def.in
	template to create.
	($(srcdir)): Remove explicit reference for depencies of object targets.
	* moldname.def, moldname-msvcrt.def, moldname-crtdll.def, msvcrt.def,
	msvcrt20.def, msvcrt40.def: Remove.
	* msvcrt.def.in: New file (Copy of previous msvcrt.def).
2003-02-21 21:12:29 +00:00
David Starks-Browning a0c8d53b5a various updates to setup entries. Stronger emphasis to use setup, and only setup.
(no more "work in progres ... ")
2003-02-21 20:37:47 +00:00
David Starks-Browning 45fb46b48d new link to "How To Ask Questions The Smart Way" by Eric S. Raymond, added to Posting Guidelines entry 2003-02-21 20:13:55 +00:00
David Starks-Browning b0484ae4d9 remove tired subtitle "(Not completely updated for the latest net release, but still useful!)" 2003-02-21 20:00:54 +00:00
Corinna Vinschen b1d1e50d04 * fhandler_socket.cc (fhandler_socket::fhandler_socket): Fix compiler
warning.
	(fhandler_socket::fstat): Simplify.  Set st_uid/st_gid to effective
	uid/gid of current process in case of open sockets.
2003-02-21 14:59:35 +00:00
Corinna Vinschen cf762b08cf * dtable.cc (dtable::build_fhandler_from_name): Set some fhandler
data on sockets to evaluate AF_LOCAL sockets correctly.
	(dtable::build_fhandler): Set unit number on sockets.
	* fhandler.h (fhandler_socket): Add unit number.
	(fhandler_socket::get_unit): New method.
	* fhandler_socket.cc (fhandler_socket::fhandler_socket): Set unit
	number.
	(fhandler_socket::fstat): Reorganize to return more Linux-like
	values.
	* net.cc: include ctype.h.
	(fdsock): Set unit number when building fhandler.
	* path.cc (path_conv::check): Set device type to FH_SOCKET if file
	is a AF_UNIX socket.
	(get_devn): Evaluate unit for virtual socket devices.
	(win32_device_name): Set windows path for sockets to unix_path with
	just backslashes to keep the different names.
	* syscalls.cc (fstat64): Don't override st_ino, st_dev and st_rdev
	for sockets.
	(stat_worker): Ditto.

From Pierre Humblet:

	* autoload.cc (AccessCheck): Add.
	(DuplicateToken): Add.
	* security.h (check_file_access): Declare.
	* syscalls.cc (access): Convert path to Windows, check existence
	and readonly attribute. Call check_file_access instead of acl_access.
	* security.cc (check_file_access): Create.
	* sec_acl (acl_access): Delete.
2003-02-21 14:29:18 +00:00
Christopher Faylor 5cd8241242 * fhandler.cc (fhandler_base::open): Move some filesystem specific stuff.
(fhandler_disk_file::open): Accept some filesystem specific stuff.
* sigproc.cc (wait_for_sigthread): Become slightly more thread safe.
(sig_send): Don't assume that signal thread is ready.
2003-02-21 04:33:53 +00:00
Corinna Vinschen 892d896274 * wincap.h (wincap): Remove unnecessary definition of
supports_sparse_files.
	* wincap.cc: Ditto.
2003-02-20 15:58:55 +00:00
Corinna Vinschen 518f5d4935 * fhandler_disk_file.cc (fhandler_disk_file::opendir): Check descriptor
created by cygheap_fdnew constructor.
	* fhandler_virtual.cc (fhandler_virtual::opendir): Ditto.
	* fhandler_socket.cc (fhandler_socket::accept): Ditto and move
	creation of file descriptor behind blocking OS call.
	* net.cc (cygwin_socket): Ditto.
	(cygwin_rcmd): Ditto.
	(cygwin_rresvport): Ditto.
	(cygwin_rexec): Ditto.
	(socketpair): Ditto.
2003-02-20 14:14:37 +00:00
Corinna Vinschen 1374b148ba * winsup.api/crlf.c: Fix C signed/unsigned compare warning.
* winsup.api/mmaptest01.c: Ditto.
	* winsup.api/ltp/chmod01.c: Ditto.
	* winsup.api/ltp/fork04.c: Ditto.
	* winsup.api/ltp/lseek03.c: Ditto.
	* winsup.api/ltp/lseek06.c: Ditto.
	* winsup.api/ltp/lseek07.c: Ditto.
	* winsup.api/ltp/lseek08.c: Ditto.
	* winsup.api/ltp/mmap001.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/pipe11.c: Ditto.
	* winsup.api/ltp/poll01.c: Ditto.
	* winsup.api/ltp/sync02.c: Ditto.
	* winsup.api/ltp/times03.c: Ditto.
	* winsup.api/ltp/umask03.c: Ditto.
	* winsup.api/ltp/getpgid01.c: Remove unused obsolete include.
	* winsup.api/ltp/getpgid02.c: Ditto.
2003-02-20 11:22:17 +00:00
Corinna Vinschen 3a88cf1b10 * autoload.cc (GetCompressedFileSize): Add.
* fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Compute
	st_blocks value from GetCompressedFileSize() if available.
2003-02-20 11:12:44 +00:00
Corinna Vinschen 7920792369 w32api:
* include/winioctl.h (FSCTL_SET_SPARSE): Define.

cygwin:

        * wincap.h (wincaps::supports_sparse_files): New flag.
        (wincapc::supports_sparse_files): New method.
        * wincap.cc (wincap_unknown): Define value for the new flag.
        (wincap_95): Ditto.
        (wincap_95osr2): Ditto.
        (wincap_98): Ditto.
        (wincap_98se): Ditto.
        (wincap_me): Ditto.
        (wincap_nt3): Ditto.
        (wincap_nt4): Ditto.
        (wincap_nt4sp4): Ditto.
        (wincap_2000): Ditto.
        (wincap_xp): Ditto.
        * path.h (path_conv::fs_flags): New method.
        * fhandler_disk_file.cc: Include winioctl.h for DeviceIoControl.
        (fhandler_disk_file::open): Set newly created and truncated files as
        sparse on platforms that support it.
2003-02-20 10:14:53 +00:00
Corinna Vinschen 3f3d479490 * Makefile.in: Make sure libmingwex.a from current build tree is used. 2003-02-20 10:12:15 +00:00
Corinna Vinschen afe13e8454 * grp.cc (internal_getgroups): Handle properly tokens with
no groups. Fix bug introduced on 2003-02-04.
2003-02-18 10:09:37 +00:00
Christopher Faylor 8fc16812e8 * cygwin.din: Export all appropriate newlibc libm functions. Sort.
* include/cygwin/version.h: Bump API minor number.
2003-02-16 19:31:07 +00:00
Christopher Faylor f655eadfb4 * cygwin.din: Export all appropriate newlib functions.
* include/cygwin/version.h: Bump API minor number.
2003-02-15 21:45:09 +00:00
Corinna Vinschen 4d9ba012a9 * mmap.cc (mprotect): Add missing break. 2003-02-14 21:15:16 +00:00
Christopher Faylor 8df75c3736 * profile/Makefile.in (mcount.o): Use ALL_CFLAGS for compilation to ensure
-mno-cygwin where appropriate.  Filter out -O2.
2003-02-14 19:25:12 +00:00
Christopher Faylor dff01e3aa8 * exceptions.cc (try_to_debug): Don't reset priority when returning from
non-waitloop call.
2003-02-14 02:52:29 +00:00
Danny Smith 6a25a6219c Fix typo in last ChangeLog entry. 2003-02-14 00:45:17 +00:00
Danny Smith 4d658cfcd2 * profile/Makefile.in (mcount,o): Use -O1 optimization
switch to compile.
2003-02-14 00:42:35 +00:00
Christopher Faylor d1d1797eb7 * fhandler_console.cc (fhandler_console::write_normal): Use MessageBeep for
bell sound.
* autoload.cc (MessageBeep): Add.
2003-02-13 23:51:41 +00:00
Christopher Faylor 97c61aeba5 * include/cygwin/types.h: Use correct ifdef guard for u_ definitions. 2003-02-13 15:37:07 +00:00
Christopher Faylor a200c081f5 * environ.cc (environ_init): Use strechr. 2003-02-13 15:17:11 +00:00
Christopher Faylor 9bebf38451 oops. 2003-02-13 15:16:33 +00:00
Christopher Faylor 2858de3a00 * include/cygwin/in.h (sockaddr_in): Fix typo. 2003-02-13 15:15:32 +00:00
Christopher Faylor 46b3d18661 fix typo 2003-02-13 14:20:32 +00:00
Christopher Faylor 9660d164f5 * how.texinfo: Add more w32api words. 2003-02-13 14:18:23 +00:00
Christopher Faylor 75c8a70c95 * path.h (path_conv): Reorganize slightly. 2003-02-13 03:13:37 +00:00
Christopher Faylor 939d19b0da * fhandler_tty.cc (process_input): Add sanity check to ensure that console
typeahead is cleared on signal.
2003-02-13 02:56:36 +00:00
Christopher Faylor 7a44ba059b * spawn.cc (linebuf::~linebuf): Resurrect commented out (for debugging?) code. 2003-02-13 02:52:41 +00:00
Christopher Faylor 4cf24d1442 * MAINTAINERS: Remove out-of-date file. 2003-02-13 02:41:44 +00:00
Christopher Faylor 7ca68b7ec3 * cygpath.cc (doit): Allocate more space for non-path filename. 2003-02-12 22:48:13 +00:00
Danny Smith 31ad033df2 2003-02-12 Roland Schwingel <roland.schwingel@onevision.de>
* include/wingdi.h (AddFontResourceEx[AW]): Add.
	(RemoveFontResourceEx[AW]): Ditto
	(FR_PRIVATE): Define.
	(FR_NOT_ENUM): Define.
	* lib/gdi32.def (AddFontResourceEx[AW]): Add.
	(RemoveFontResourceEx[AW]): Ditto.
2003-02-12 21:15:13 +00:00
Danny Smith de8eec5609 * include/math.h: Remove _CRTIMP from pow() prototype,
unless __NO_ISOCEXT.
2003-02-10 23:56:04 +00:00
Christopher Faylor 407b8df695 * include/cygwin/in.h (in_attr_t): Define new type.
* include/arpa/inet.h (inet_addr): Change return type to in_addr_t.
(inet_lnaof): Ditto.
(inet_netof): Ditto.
(inet_network): Ditto.
* include/cygwin/types.h: Move many *_t typedefs here.  Protect them with
ifdefs.
* fhandler_disk_file.cc (fhandler_disk_file::fstat): Change ntsec_atts to
mode_t.
* security.cc (get_attribute_from_acl): Accept mode_t attribute.
(get_nt_attribute): Ditto.
(get_file_attribute): Ditto.
(get_nt_object_attribute): Ditto.
(get_object_attribute): Ditto.
* security.h: Reflect above changes.
* syscalls.cc (chown_worker): Change attrib to mode_t.
2003-02-10 22:43:29 +00:00
Danny Smith eff24ab9c5 * mingwex/math/cephes_emath.h: Don't redefine INFINITY. 2003-02-10 22:38:36 +00:00
Danny Smith 14e54d7c97 * include/_mingw.h (_CRTIMP): Define for __GNUC__ if
__declspec(dllimport)  supported.
	(__cdecl): Define if not already defined.
	(__stdcall): Likewise.
	* include/dirent.h: Qualify fuctions with __cdecl.
	* include/fenv.h: Likewise.
	* include/inttypes.h: Likewise.
	* include/assert.h: Qualify fuctions with __cdecl. Qualify
	CRT dll imports with _CRTIMP.
	* include/conio.h: Likewise.
	* include/ctype.h: Likewise.
	* include/direct.h: Likewise.
	* include/dos.h: Likewise.
	* include/errno.h: Likewise.
	* include/float.h: Likewise.
	* include/io.h: Likewise.
	* include/locale.h: Likewise.
	* include/malloc.h: Likewise.
	* include/math.h: Likewise.
	* include/mbctype.h: Likewise.
	* include/mbstring.h: Likewise.
	* include/process.h: Likewise.
	* include/setjmp.h: Likewise.
	* include/signal.h: Likewise.
	* include/stdio.h: Likewise.
	* include/stdlib.h: Likewise.
	* include/string.h: Likewise.
	* include/time.h: Likewise.
	* include/wchar.h: Likewise.
	* include/wctype.h: Likewise.
	* include/sys/stat.h: Likewise.
	* include/sys/timeb.h: Likewise.
	* include/sys/utime.h: Likewise.

	* include/ctype.h: Guard ctype inlines with __NO_INLINE__.
	* include/wctype.h: Guard wctype inlines with __NO_INLINE__.

	* include/stdio.h (__VALIST): Guard against prior definition.
2003-02-10 21:13:34 +00:00
Earnie Boyd 16f4e17208 * include/w32api.h: Increment version to 2.3.
* Makefile.in: Ditto.
2003-02-10 14:14:01 +00:00
Earnie Boyd 5518d083b4 * include/GL/gl.h: Remove include of glext.h.
Thanks to Greg Couch <gregcouch@users.sf.net>
2003-02-09 14:04:56 +00:00
Earnie Boyd 4fa551dbc4 * include/secext.h: New file. Declare EXTENDED_NAME_FORMAT.
* include/security.h: Include secext.h.
	* include/winbase.h: Declare COMPUTER_NAME_FORMAT.
	Thanks to Dimitri Papadopoulos <dimitri_at@users.sf.net>
2003-02-09 14:02:30 +00:00
Earnie Boyd f3c5821cb7 * lib/ddk/ntoskrnl.def (Ke386IoSetAccessProcess): Activate export.
(Ke386QueryToAccessMap): Ditto.
	(Ke386SetIoAccessMap): Ditto.
	Thanks to Marcel Telka <telka@users.sf.net>
2003-02-09 13:25:36 +00:00
Christopher Faylor 67c64e3b2e clarify 2003-02-08 17:13:46 +00:00
Christopher Faylor ad80bc4224 * include/cygwin/version.h: Bump DLL minor number.
* malloc.cc (DEFAULT_MMAP_THRESHOLD): Bump down to 16MB thanks to below
changes.
2003-02-08 17:03:34 +00:00
Christopher Faylor 9c88207cf3 * winsup.api/winsup.exp (ws_spawn): Tweak slightly to work with tcl 8.4.1. 2003-02-08 16:46:32 +00:00
Earnie Boyd 994d26a476 * include/_mingw.h: Change version to 3.0
* Makefile.in: Ditto.
2003-02-08 14:58:31 +00:00
Earnie Boyd 9d55ae91b8 * include/stdlib.h: Make words after #endif a comment. 2003-02-08 14:30:29 +00:00
Christopher Faylor 9cca06eea1 * libltp/lib/parse_opts.c: Deal with C warnings.
* winsup.api/pthread/cancel12.c: Ditto.
* winsup.api/winsup.exp: Don't use -g3.
2003-02-08 02:56:49 +00:00
Christopher Faylor 3202ad2b9e * dump_setup.cc (compar): Use case insensitive comparisons.
(dump_setup): Calculate package_len based on already used "len".  Don't bother
with version_len.
2003-02-07 21:34:34 +00:00
Corinna Vinschen eceb45bdff * dump_setup.cc (dump_setup): Compute the longest package name
and align columns properly.
2003-02-07 21:11:44 +00:00
Corinna Vinschen 4a41db9e74 * ntsec.sgml: Add note on special names for missing user/group. 2003-02-07 20:59:19 +00:00
Corinna Vinschen 4136fdb16b * mmap.cc (mmap_record::alloc_map): De-inline. Add offset and length
parameter.  Only protect pages actually unused currently.  Do job
	of map_map() when initializing a map.
	(mmap_record::map_map): Reduce functionality for the reuse case
	of private anonymous mapping.
	(mmap_record::fixup_map): Format change.
	(list::add_record): Add offset and length parameter to call
	mmap_record::alloc_map() correctly.
	(mmap64): Rename `l' variable to `map_list'.  Accomodate above changes.
	(munmap): Rename `l' variable to `map_list'.
	(msync): Ditto.
	(fhandler_disk_file::mmap): Streamline code.
	(mprotect): Ditto.
	(fixup_mmaps_after_fork): Rename `l' variable to `map_list'.
2003-02-07 20:57:30 +00:00
Christopher Faylor 49b84ce441 Christopher Faylor <cgf@redhat.com>
* exceptions.cc (try_to_debug): Set priority of current thread rather than the
main thread.  Make busy waiting loop less busy.  Restore priority when function
returns.
2003-02-07 15:00:57 +00:00
Christopher Faylor bc5b63edab * malloc.cc (DEFAULT_MMAP_THRESHOLD): Set high to avoid mmaps.
* pipe.cc (fhandler_pipe::close): Avoid extraneous this->.
2003-02-07 06:15:10 +00:00
Christopher Faylor 44a30b4510 * pipe.cc (fhandler_pipe::close): Avoid extraneous this->. 2003-02-07 05:48:58 +00:00
Christopher Faylor 4a9cbef09d * cygcheck.cc (common_apps): Add some more apps.
* path.cc (get_cygdrive): Correctly set system flag.
2003-02-07 04:51:26 +00:00
Christopher Faylor 1de8d16415 * heap.cc (heap_init): Remove debugging code. 2003-02-07 04:13:41 +00:00
Christopher Faylor 45b314b1ad * configure.in: Make w32api directory optional.
* configure: Regenerate.
2003-02-07 03:45:15 +00:00
Danny Smith 500ed83f45 * include/locale.h: Include stddef.h for definition of NULL. 2003-02-07 02:13:55 +00:00
Corinna Vinschen 565e80155b * security.h: Introduce names UNKNOWN_UID and UNKNOWN_GID and delete
declaration of is_grp_member.
	* uinfo.cc (internal_getlogin): Use UNKNOWN_GID.
	* passwd.cc (pwdgrp::read_passwd): Use UNKNOWN_UID.
	* grp.cc (pwdgrp::read_group): Change group name to provide better
	feedback.
	(getgrgid): Use gid16togid32.
	* sec_helper.cc (is_grp_member): Delete.
2003-02-06 14:01:54 +00:00
Joshua Daniel Franklin f865f0c479 * setup-net.sgml: Add "setup-maxmem" section 2003-02-06 02:52:14 +00:00
Christopher Faylor d238c1b453 * path.cc: Change 'to_posix_p' to 'to_posix' throughout.
(conv_path_list_buf_size): Accommodate relative paths.
2003-02-05 21:12:58 +00:00
Christopher Faylor b7f52fe81a * path.cc (etc::dir_changed): Fix debug printf. 2003-02-05 16:40:51 +00:00
Corinna Vinschen 62cd433e98 * sec_acl.cc (setacl): Move all permission settings to beginning of
loop.  Set default rights to same values as in alloc_sd().  Set DELETE
	for owner and default owner only if S_IWOTH is given.

	* sec_acl.cc: Change all  __aclent16_t to  __aclent32_t except in
	wrapper function definitions. Replace call to the aclXYZ functions by
	calls aclXYZ32.
	(searchace): Change type of third argument to __uid32_t and use
	ILLEGAL_UID instead of -1;
	(setacl): Remove some initializations. Only give STANDARD_RIGHTS_WRITE
	for S_IWOTH. Replace -1 by ILLEGAL_UID.
	(getacl): Change type of owner_sid, group_sid and ace_sid to cygpsid.
	In last else clause, suppress second call to ace_sid.get_id and use
	TRUE in first call. Replace EqualSid by ==.
	(acl_access): Call internal_getgroups in USER and GROUP cases.
	(acecmp: Define static.
	(acl32): Create from 16 bit type.
	(facl32): Ditto.
	(lacl32): Ditto.
	(aclcheck32): Ditto.
	(aclsort32): Ditto.
	(acltomode32): Ditto.
	(aclfrommode32): Ditto.
	(acltopbits32): Ditto.
	(aclfrompbits32): Ditto.
	(acltotext32): Ditto.
	(aclfromtext32): Ditto, and use strechr.
	(acl16to32): Create.
	(acl): Make it a wrapper function.
	(facl): Ditto.
	(lacl): Ditto.
	(aclcheck): Ditto.
	(aclsort): Ditto.
	(acltomode): Ditto.
	(aclfrommode): Ditto.
	(acltopbits): Ditto.
	(aclfrompbits): Ditto.
	(acltotext): Ditto.
	(aclfromtext): Ditto.
	* security.cc (write_sd): Call set_process_privilege and check
	ownership.
	(alloc_sd): Remove call to set_process_privilege and the owner check.
2003-02-05 16:15:22 +00:00
Earnie Boyd 33c7867ef1 * include/basetypes.h (_GUID_DEFINED): Add deprecation warning, start
using GUID_DEFINED instead.
	* include/sqltypes.h: Ditto.
	* include/winnt.h: Ditto.
	* include/ddk/scsiwmi.h: Ditto.
2003-02-05 15:51:27 +00:00
Christopher Faylor cadd065b63 * include/sys/cygwin.h: Use C-style comments. 2003-02-05 14:14:26 +00:00
Corinna Vinschen 0c8455c344 * sec_helper.cc (get_sids_info): New function.
* security.cc (extract_nt_dom_user): Simplify with strechr.
	(get_user_groups): Initialize glen to MAX_SID_LEN.
	(get_user_local_groups): Ditto.
	(get_attribute_from_acl): Define ace_sid as cygpsid.
	(get_nt_attribute): Define owner_sid and group_sid as cygpsid.
	Call get_sids_info instead of cygsid.get_{u,g}id and is_grp_member.
	(get_nt_object_attribute): Ditto.
	(alloc_sd): Define ace_sid as cygpsid.
2003-02-05 13:47:47 +00:00
Danny Smith b7b6c58a20 Correct typo in last changelog entry. 2003-02-04 22:21:45 +00:00
Danny Smith ccbb9a6490 * include/shlwapi.h (PathRelativePathTo[AW]): Correct
protototypes.
	Thanks to: John Dallaway  <jld@ecoscentric.com>.
2003-02-04 22:17:38 +00:00
Thomas Pfaff 5ae9331a32 * syscalls.cc (struct system_cleanup_args): New struct.
(system_cleanup): New function.
(system): Use pthread_cleanup_push and _pop to save and restore
signal handlers and sigprocmask.
2003-02-04 19:49:39 +00:00
Thomas Pfaff 53c384f206 * winsup.api/pthread/cancel11.c: New test.
* winsup.api/pthread/cancel12.c: Ditto.
2003-02-04 19:34:21 +00:00
Corinna Vinschen 3dbafd873e * path.cc (symlink): Create security attributes so that only the
user can modify the symlink.
	* security.cc (set_security_attribute): Remove symlink special
	handling.
2003-02-04 19:26:01 +00:00
Corinna Vinschen 0daf256192 * grp.cc (internal_getgroups): Do not return without closing
the process handle.
2003-02-04 17:53:08 +00:00
Corinna Vinschen 4a21c2d5c8 * security.h (class cygpsid): New class.
(class cygsid): Use cygpsid as base. Remove members psid, get_id,
	get_uid, get_gid, string, debug_printf and the == and != operators.
	(cygsidlist::clear_supp): Only do work if setgroups has been called.
	* sec_helper.cc: Define sid_auth NO_COPY.
	(cygpsid::operator==): New operator.
	(cygpsid::get_id): New function.
	(cygpsid::string): New function.
	(cygsid::string): Delete.
	(cygsid::get_id): Delete.
	* pwdgrp.h: Change arguments of internal_getpwsid,
	internal_getgrsid and internal_getgroups to cygpsid.
	* passwd.cc (internal_getpwsid): Change argument from cygsid to cygpsid.
	* grp.cc (internal_getgrsid): Ditto.
	(internal_getgroups): Ditto.
2003-02-04 14:58:04 +00:00
Christopher Faylor 335556d58b Eliminate most unneeded this-> pointers throughout. 2003-02-04 03:01:17 +00:00
Corinna Vinschen 153e83c605 * security.h: Add third argument to set_process_privilege.
* autoload.cc: Add OpenThreadToken.
	* sec_helper.cc (set_process_privilege): Add and use use_thread
	argument.
	* security.cc (alloc_sd): Modify call to set_process_privilege.
	Remember the result in each process. If failed and file owner is not
	the user, fail.
2003-02-03 15:55:20 +00:00
Corinna Vinschen f0f3ea68f3 * fhandler_socket.cc (fhandler_socket::recvfrom): Return buffer
length and don't set errno in case of WSAEMSGSIZE error.
	(fhandler_socket::recvmsg): Ditto.
2003-02-03 15:34:52 +00:00
Joshua Daniel Franklin 46c1de5bf7 * cygwinenv.sgml: Add section for 'CYGWIN codepage:[ansi|oem]' 2003-02-03 00:30:45 +00:00
Christopher Faylor 6688a0618e * grp.cc (getgrent32): Only refresh group entries when at beginning.
(internal_getgrsid): Only refresh if uninitialized.
(internal_getgrent): Ditto.
* passwd.cc (getpwent): Only refresh passwd entries when at beginning.
(pwdgrp::read_passwd): linebuf *cannot* be NO_COPY.
(internal_getpwsid): Only refresh if uninitialized.
(getpass): No need to refresh passwd data here.
* pwdgrp.h (refresh): Eliminate default.
2003-02-01 18:41:29 +00:00
Danny Smith 05d2a9a4fb * include/commctrl.h (TCM_*): Add missing defines. 2003-02-01 11:38:31 +00:00
Danny Smith 93dfea5667 2003-02-01 Jesus Alvarez <jesus_alvarez@users.sourceforge.net>
Danny Smith  <dannysmith@users.sourceforge.net>

	* include/prsht.h (PSP_*, PSH_*): Add missing defines.
	(PROPSHEETPAGE[AW]): Add pszHeaderTitle, pszHeaderSubTitle
	for (_WIN32_IE >= 0x0400).
	(PROPSHEETHEADER[AW]): Add hplWatermark and anonymous union
	fields for (_WIN32_IE >= 0x0400).
2003-02-01 08:53:17 +00:00
Christopher Faylor a5a93a62b2 * dlfcn.cc (dlerror): Only report load errors once per error. 2003-02-01 05:00:15 +00:00
Christopher Faylor b0a82a859d * fhandler_serial.cc (fhandler_serial::open): Avoid extraneous setting of res.
* termios.cc (tcsetattr): Correctly record errno after tcsetattr call.
* fhandler_serial.cc (fhandler_serial::tcsetattr): Add error-checking so that
if any Win32 SetComm*() calls fail, errno gets set to EINVAL and tcsetattr()
returns -1.  Catch invalid bitrates, mostly.  If baud rate setting is B0, just
drop DTR and leave Win32 DCB bitrate as-is since 0 is not a valid Win32
setting.
(fhandler_serial::tcgetattr): If DTR is low, populate the bitrate as B0,
otherwise get it from the DCB.
2003-02-01 04:48:03 +00:00
Christopher Faylor 949c3da11a * passwd.cc (pwdgrp::read_passwd): linebuf *must* be static (from Pierre
Humblet).
* pwdgrp.h (pwdgrp::refresh): Avoid calling read function if we already have
lock since that means we are in the process of reading the file.
2003-01-31 17:00:42 +00:00