Commit Graph

4787 Commits

Author SHA1 Message Date
Earnie Boyd 97f3a22475 * include/_mingw.h: Increment version to 3.6
* Makefile.in: Ditto
2005-01-02 17:17:17 +00:00
Earnie Boyd 636a3bf5bb * lib/uxtheme.def: Really remove the \r. 2005-01-02 14:15:16 +00:00
Earnie Boyd 94d17419a6 * include/afxres.h: Remove the \r from the line ending.
* include/errorrep.h: Ditto.
	* include/shldisp.h: Ditto.
	* include/tschema.h: Ditto.
	* lib/dhcpcsvc.def: Ditto.
	* lib/uxtheme.def: Ditto.
	* lib/wldap32.def: Ditto.
2005-01-02 14:11:28 +00:00
Earnie Boyd 615c8c8884 * include/w32api.h: Increment version.
* Makefile.in: Ditto.
2005-01-02 13:48:13 +00:00
Christopher Faylor 538776b743 * cygthread.cc (cygthread::stub): Set inuse to false when exiting.
(cygthread::cygthread): Actually pass name as argument to debugging output to
avoid SEGV when strace'ing.
(cygthread::release): Don't set stack_ptr to NULL, since it is only set once on
first entry to a stub not on each stub iteration.
(cygthead::exit_thread): Remove obsolete function.
* cygthread.h (cygthread::exit_thread): Ditto.
2005-01-02 02:22:25 +00:00
Christopher Faylor d8c83adc04 * shared.cc (open_shared): Don't attempt VirtualAlloc magic if first attempt to
map memory fails.
2005-01-02 00:34:55 +00:00
Danny Smith f8316b46dd * include/winerror.h (ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY):
Correct typo.
2005-01-01 08:57:31 +00:00
Joshua Daniel Franklin ede7692fd2 * path.sgml: Encode programming example with CDATA. 2004-12-31 01:13:28 +00:00
Christopher Faylor d89a855e73 * devices.cc (device::isfs): Return true for the logical case of devn == FH_FS. 2004-12-30 16:21:59 +00:00
Corinna Vinschen f312634c02 * bsd_mutex.cc: Include limits.h.
(MSLEEP_MUTEX): New define for third parameter to msleep_event_name.
	(MSLEEP_SEM): Ditto.
	(MSLEEP_EVENT): Ditto.
	(msleep_event_name): Add third parameter to allow multiple
	synchronization objects per ident.
	(_msleep): Implement new synchronization technique to make sure
	that all threads have been woken up by a corresponding wakeup call.
	(wakeup): Ditto.
2004-12-30 15:58:27 +00:00
Chris Sutcliffe 3a39329a25 2004-12-29 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
*include/winuser.h (MNS_*, WM_MENUCOMMAND,
	WM_MENUGETOBJECT, WM_MENUDRAG, WM_NCMOUSEHOVER,
	WM_NCMOUSELEAVE, WM_UNINITMENUPOPUP,
	SPI_GETFOREGROUNDLOCKTIMEOUT,
	SPI_SETFOREGROUNDLOCKTIMEOUT): Added definitions.
	*include/imm.h (WM_IME_REQUEST): Added definition.
	*include/shlobj.h (SLGP_RAWPATH,
	SLGP_UNCPRIORITY): Added definition.
2004-12-29 12:15:19 +00:00
Chris Sutcliffe 5f0fd59974 Added HSHELL_FLASH definition 2004-12-29 00:31:31 +00:00
Christopher Faylor 264a0b2f54 * pinfo.cc (_pinfo::dup_proc_pipe): DUPLICATE_CLOSE_SOURCE closes the handle
regardless, so revert previous change.
2004-12-28 06:07:45 +00:00
Christopher Faylor 57ba174fa0 * cygthread.cc (cygthread::stub): Add better debug output.
(cygthread::cygthread): Ditto.
(cygthread::terminate_thread): Ditto.  Move inuse test earlier or suffer
infinite loop.
* pinfo.cc (_pinfo::dup_proc_pipe): Close handle if DuplicateHandle fails and
process no longer exists.
* spawn.cc (spawn_guts): Create process in suspended state if OS demands it.
* wincap.cc: Add "start_proc_suspended" throughout.
* wincap.h (wincaps): Ditto.
(wincapc): Ditto.
2004-12-28 01:27:26 +00:00
Joshua Daniel Franklin b75ec93a63 Update Makefile to use xmlto 2004-12-27 19:03:56 +00:00
Christopher Faylor 6e3c97b14e * pinfo.cc (_pinfo::exit): Beef up debugging output.
* sigproc.cc (proc_subproc): Detached children apparently need a ppid of 1.
2004-12-27 17:19:25 +00:00
Christopher Faylor 933673e83b * init.cc (dll_entry): Previous code reversion was ill-advised. Revert it.
* sigproc.cc (child_info::sync): Ditto.
* pinfo.cc (_pinfo::exit): Don't set myself.procinfo to NULL since it is no
longer required.
2004-12-27 02:13:30 +00:00
Christopher Faylor 445d5ce8fc * init.cc (dll_entry): Remove exit code setting.
* pinfo.cc (pinfo::init): Initialize exitcode to unset state rather than
SIGTERM.
(proc_waiter): Detect if exit code is unset and use status from
GetExitCodeProcess.
* sigproc.cc (child_info::sync): Remove exit code detection here since
proc_waiter now (again) detects it.
2004-12-27 00:35:19 +00:00
Christopher Faylor 8711eddd80 * fhandler.cc (fhandler_base::fchmod): Do the right thing when changing an "on
disk" device or fifo.
(fhandler_base::fchown): Ditto for changing ownership.
* fhandler_disk_file.cc (fhandler_base::fstat_helper): Accommodate device files
on ntfs partitions.
* path.cc (path_conv::check): Use isfs function to figure out if a path exists
on a filesystem to make sure that device files are caught.
2004-12-26 02:10:30 +00:00
Danny Smith 9a3412eea8 * mingwex/complex/(cabsf.c cacosf.c cacoshf.c cargf.c casinf.c
casinhf.c catanf.c catanhf.c ccosf.c ccoshf.c cexpf.c cimagf.c
	clogf.c cpowf.c cprojf.c crealf.c csinf.c csinhf.c csqrtf.c
	ctanf.c ctanhf.c): New files.
	* mingwex/Makefile.in (COMPLEX_DISTFILES): Adjust.
	(COMPLEX_OBJS(: Adjust.
	* include/complex.h (cabsf, cacosf, cacoshf, cargf, casinf.
	casinhf, catanf, catanhf, ccosf, ccoshf, cexpf, cimagf, clogf,
	cpowf, cprojf, crealf, csinf, csinhf, csqrtf, ctanf, ctanhf):
	Declare.
2004-12-25 23:56:19 +00:00
Joshua Daniel Franklin c98b30eadc * .sgml: Cleanup markup for XML validity. 2004-12-24 21:58:38 +00:00
Christopher Faylor e1736c2f13 * child_info.h (CURR_CHILD_INFO_MAGIC): Update.
(child_info::parent_wr_proc_pipe): Eliminate.
* pinfo.h (_pinfo::alert_parent): Move here from pinfo class.
(_pinfo::dup_proc_pipe): New method.
(_pinfo::sync_proc_pipe): Ditto.
* exceptions.cc (sig_handle_tty_stop): Reflect move of alert_parent.
* init.cc (dll_entry): Exit with status one if main process called ExitProcess.
* pinfo.cc (set_myself): Remove handling of parent_wr_proc_pipe.
(_pinfo::exit): Reflect move of alert_parent.  Set procinfo to NULL to flag
that we are exiting normally.  Always use exitcode when exiting
(although this could be a little racy).
(pinfo::init): Set default exit to SIGTERM.  This will be the exit code
reported if process is terminated.
(_pinfo::dup_proc_pipe): New function.
(pinfo::wait): Duplicate wr_proc_pipe to the right place.  Use dup_proc_pipe to
move the pipe to the child.
(_pinfo::sync_proc_pipe): New function.
(_pinfo::alert_parent): Move to _pinfo.  Make sure that wr_proc_pipe is ours
before using it.
* sigproc.cc (child_info::child_info): Remove handling of parent_wr_proc_pipe.
* spawn.cc (spawn_guts): Pass our wr_proc_pipe to the child when execing.
Ensure that exit code of cygwin process started from windows is correctly set.
2004-12-24 18:31:23 +00:00
Danny Smith 4697fbcd51 2004-12-24 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/shldisp.h: New file.
	* include/shlobj.h (IObjMgr): Added interface definiton.
	* lib/shell32.c (CLSID_AutoComplete, IID_AutoComplete,
	IID_AutoComplete2, CLSID_ACLMulti, IID_IObjMgr,
	CLSID_ACListISF, IID_IACList): Added GUIDs.
	* include/shlguid.h (CLSID_AutoComplete, IID_AutoComplete,
	IID_AutoComplete2, CLSID_ACLMulti, IID_IObjMgr,
	CLSID_ACListISF, IID_IACList): Added GUIDs.
2004-12-24 11:14:35 +00:00
Christopher Faylor 861ef99725 * path.h (path_conv::set_normalized_path): Add second argument and fill it in
throughout.
* path.cc (path_conv::check): Declare, set and use "strip_tail".
(path_conv::set_normalized_path): Add and use second argument, replacing all
tail stripping tests.
2004-12-23 21:37:44 +00:00
Christopher Faylor 7a2ba9dbec * cygthread.cc (cygthread::cygthread): Guard debugging variable with "ifdef
DEBUGGING".
(cygthread::release): Ditto.
2004-12-23 15:36:59 +00:00
Christopher Faylor aad93aea3e * path.cc (path_conv::check): Don't strip the trailing slash from a path
consisting only of two slashes.
2004-12-23 15:26:38 +00:00
Christopher Faylor 4ee52924a6 * cygthread.cc (cygthread::stub): Detect if thread function wants to release
itself here, to avoid a race.
(cygthread::release): Clear more stuff.  Add a diagnostic for an internal
error.
* cygthread.h (auto_release): New function.
* pinfo.h (pinfo::remember): Add an argument to denote whether child is
detached.
* fork.cc (fork_parent): Reflect change in arguments to pinfo::remember.
* pinfo.cc (_pinfo::exit): Signal exit more forcibly.
(proc_waiter): Use cygthread::auto_release to signify that cygthread::stub
should release the thread.  This should avoid a race.
(pinfo::alert_parent): Don't signify an error when wr_proc_pipe == NULL.
* sigproc.cc (proc_subproc): Add support for PROC_DETACHED_CHILD.
* sigproc.h: Ditto.
* spawn.cc (spawn_guts): Specify whether child is detached or not when calling
pinfo::remember.
2004-12-23 14:57:08 +00:00
Danny Smith 3993374d4e * include/commctrl.h (CDRF_NOTIFYSUBITEMDRAW): Add define.
Thanks to: Chris Sutcliffe  <ironhead@walled.net>
	(CDRF_*): Use hex notation for constants.
2004-12-23 08:13:51 +00:00
Christopher Faylor 63fcc6d48f * cygheap.cc (cygheap_setup_for_child): Add api_fatal to catch failing
MapViewOfFileEx.
* cygthread.cc (cygthread::stub): Previous change to make diagnostic output
more informative was really a bust.  Try again.  Capture previous name in a new
field in cygthread for diagnostic purposes.
(cygthread::cygthread): Ditto.
(cygthread::release): Add an argument to control whether h should be cleared or
not.
(cygthread::terminate_thread): Use 'inuse' for tests rather than 'h'.
(cygthread): Add some diagnostic fields.
(cygthread::release): Add an argument.
* pinfo.cc (proc_waiter): Accommodate change to cygthread::release.
2004-12-22 18:12:30 +00:00
Christopher Faylor 16bd231ec6 * cygthread.cc (cygthread::stub): Make diagnostic output more informative. 2004-12-22 17:10:19 +00:00
Christopher Faylor 9bc36097c9 * pinfo.cc (proc_waiter): Zero wait_thread in child to avoid races with process
termination.
* cygthread.cc (cygthread::terminate): Clumsily detect when h has gone away and
attempt no further action.
2004-12-22 16:59:03 +00:00
Christopher Faylor 9c0d960d7f * cygthread.h (cygthread::release): Just declare here.
* cygthread.cc (cygthread::release): Define here.  Use InterlockedExchange to
set inuse or suffer potential races.
(cygthread::terminate): Use release().
2004-12-22 16:19:27 +00:00
Corinna Vinschen 4b84574c07 * fhandler_process.cpp (format_process_status): Use tabs in formatting
instead of spaces.
2004-12-22 11:35:29 +00:00
Corinna Vinschen 13d991bbea * path.cc (set_normalized_path): Allow empty pathnames. 2004-12-22 11:31:30 +00:00
Christopher Faylor e85c18a883 * spawn.cc (spawn_guts): Force parent to forget about P_DETACH'ed process. 2004-12-21 18:45:01 +00:00
Christopher Faylor e0520ec4b7 * path.cc (normalize_win32_path): Remove unneeded check for dots. 2004-12-20 17:55:22 +00:00
Christopher Faylor 8d060512a6 * path.cc (normalize_posix_path): Remove unneeded check for dots.
(path_conv::set_normalized_path): Strip trailing dots, similarly to what had
previously been done for the win32 path.
2004-12-20 16:31:18 +00:00
Danny Smith 7ffd6c6f17 * include/wchar.h (wcsdup): Correct prototype.
* include/string.h (wcsdup): Correct prototype.
2004-12-20 00:03:06 +00:00
Christopher Faylor b861c0a383 * path.cc (normalize_win32_path): Make third arg pass-by reference. Reorganize
slightly to eliminate extra variables.
(normalize_posix_path): Ditto.
(path_conv::check): Reflect change in arguments.
(mount_info::conv_to_posix_path): Ditto.
(mount_info::add_item): Ditto.
2004-12-19 03:27:09 +00:00
Christopher Faylor 5524af6e9b * child_info.h (CURR_CHILD_INFO_MAGIC): Use updated value.
* path.cc (path_conv::check): Check the output Win32 path for trailing spaces
and dots, not the input path.  Disallow all use of foo./bar since consistently
getting this right is time consuming.  Remove strange test for "unc\" since no
one seems to know what it's for.
2004-12-19 02:40:40 +00:00
Christopher Faylor bbe009b770 revert erroneous checkin 2004-12-18 16:41:27 +00:00
Christopher Faylor b25e8b65c2 * fhandler_proc.cc (proc_listing): Add entry for "self".
(proc_fhandlers): Add entry for "self".
* fhandler_process.cc (fhandler_process::fstate): Handle "self".
(fhandler_process::open): Handle "self".
2004-12-18 16:37:44 +00:00
Christopher Faylor 8232f2e050 * sigproc.cc (proc_subproc): Fix long-standing problem. Only wait for "all
processes" if pid == -1 -- not just if pid is negative.
(proc_can_be_signalled): Fix another long-standing problem.  Set correct errno
when detecting an exited process.
2004-12-17 17:42:03 +00:00
Corinna Vinschen a435749dc2 * fhandler_console.cc (get_win32_attr): Avoid inappropriate intensity
interchanging that used to render reverse output unreadable when
	non-reversed text is bright.
2004-12-16 13:19:08 +00:00
Corinna Vinschen 2ef89b220a * cygwin.din: Add utmpx symbols.
* syscalls.cc: Include utmpx.h.  Implement utmpx functions as stubs
	to utmp functions.
	(copy_ut_to_utx): New static function.
	(pututline): Change from void to struct utmp * as on Linux.
	(setutxent): New function.
	(endutxent): New function.
	(getutxent): New function.
	(getutxid): New function.
	(getutxline): New function.
	(pututxline): New function.
	* include/utmpx.h: New file.
	* include/cygwin/utmp.h: New file.
	* include/cygwin/version.h: Bump API minor number.
	* include/sys/utmp.h: Include cygwin/utmp.h.  Move stuff common with
	utmpx functionality there.
	(pututline): Declare struct utmp *.
2004-12-15 17:29:01 +00:00
Corinna Vinschen dad3ae73b3 * tty.cc (tty_list::terminate): Guard releasing the tty with tty_mutex.
(tty::init): Set master_pid to 0.
2004-12-14 17:19:22 +00:00
Corinna Vinschen 988566db0c * fhandler_console.cc (read): Consider offset within scrolling
region of the console window.
2004-12-14 12:09:51 +00:00
Corinna Vinschen c6ad91f3f8 * cygheap.h (cwdstuff::get_drive): Release cwd_lock. 2004-12-13 19:33:30 +00:00
Bas van Gompel 3020ba83ce * fhandler.cc (fhandler_base::puts_readahead): Fix end-condition. 2004-12-12 02:15:34 +00:00
Corinna Vinschen aee05403d1 * errno.cc (errmap): Map ERROR_INVALID_ADDRESS to EINVAL instead of
EOVERFLOW.
2004-12-10 17:43:00 +00:00
Christopher Faylor 804cd111b4 * include/sys/strace.h: Don't output paranoid_printf by default. 2004-12-10 16:25:35 +00:00
Christopher Faylor fc2eba361c * lib/libcmain.c (main): Properly deal with quoted first argument. 2004-12-09 21:28:32 +00:00
Danny Smith 8bbdc64198 * include/sqlext.h (SQL_INTERVAL_*): Correct macros.
Reported by Eric Sharkey <sharkey at netrics dot com>
2004-12-09 02:33:20 +00:00
Danny Smith 91ce86e773 * include/winnt.h (TOKEN_INFORMATION_CLASS): Add
TokenGroupsAndPrivileges, TokenSessionReference,
	TokenSandBoxInert, TokenAuditPolicy, TokenOrigin.
	Reformat.
	(SID_NAME_USE): Add SidTypeComputer.  Reformat.
	Thanks to Gabriel Linder <mingwlinder@users.sourceforge.net>
2004-12-07 07:15:26 +00:00
Christopher Faylor a8dead4476 * pinfo.h (proc_pipe::*): Delete class.
* pinfo.cc (proc_pipe::*): Ditto.
2004-12-06 19:20:24 +00:00
Christopher Faylor 8c43a9f82e * fork.cc (fork_parent): Reinstate "childhProc" protection. Don't close
hProcess handle here since it is used to ensure that a new process isn't
created with the old pid after the old pid exits.
* spawn.cc (spawn_guts): Ditto.
* pinfo.cc (proc_waiter): Don't send any signals if we've execed since this
process doesn't officially exist.
* pinfo.h (pinfo::pid_handle): Eliminate.  Just use hProc.
* sigproc.cc (sig_send): Don't send any signals if our sendsig doesn't exist.
That's a sign that we are execing.
(remove_proc): Eliminate pid_handle close.
2004-12-06 00:29:41 +00:00
Christopher Faylor 013f043fff fix typo 2004-12-05 21:39:47 +00:00
Christopher Faylor f181da2707 * cygthread.cc (cygthread::terminate_thread): Make public.
* pinfo.h (pinfo::wait_thread): New element.
* pinfo.cc (pinfo::wait): Store "handle" to started thread in pinfo.
* sigproc.cc (proc_terminate): Kill any threads waiting for a process pipe.
2004-12-05 21:29:37 +00:00
Christopher Faylor 54dd79bb44 * sigproc.cc (mychild): Reimplement as list scan.
(proc_subproc): Don't mess with pinfo if it's myself.
* child_info.h (child_info_types): Label enum for _PROC constants.
(child_info::child_info): New constructor.
(child_info::~child_info): New destructor.
(child_info::sync): Declare new function.
(child_info_fork::child_info_fork): New constructor.
(child_info_spawn::child_info_spawn): Remove old constructor.
(child_info_spawn::child_info_spawn): New constructor.
* dcrt0.cc (dll_crt0_0): Use correct sizeof when doing sanity check on passed
in child_info.  Signal readiness to parent when not forking (and not spawning).
* fork.cc (sync_with_child): Delete.
(resume_child): Remove extra argument.
(sync_with_parent): Use child_info method to sync with parent.
(fork_child): Don't close fork_info->subproc_ready since that is now handled by
the destructor.
(fork_parent): Remove subproc_ready stuff.  Use child_info sync method for
waiting..  Set start time here for child.  Rename "forked" to "child".
(fork): Check ch.subproc_ready for validity here.
* pinfo.h (_pinfo::exec_sendsig): Temp storage for exec stub which may be
staying around to handle non-cygwin captive process.
(_pinfo::exec_dwProcessId): Ditto.
(_pinfo::_lock): Renamed from lock.
(_pinfo::lock): New method.
(_pinfo::unlock): Ditto.
(_pinfo::initialize_lock): Ditto.
* pinfo.cc (set_myself): Use initialize_lock method to initialize myself lock.
Set "exec" fields in _pinfo to zero to indicate that we've started
successfully.  Set start time here when appropriate.
(_pinfo::commune_send): Use pinfo lock/unlock methods.
(proc_waiter): Remove special case for non-cywin processes.  Reinstitute
handling for PID_NOCLDSTOP.
* sigproc.cc (proc_subproc): Set proper EAGAIN errno when process table is
filled.
(sig_send): Use exec_* fields from _pinfo for sending signals if the the _pinfo
sendsig never materializes.
(child_info::child_info): New constructor, renamed from init_child_info.
Zeroes child_info structure and sets appropriate fields in structure based on
chtype.
(child_info::~child_info): New destructor.  Closes subproc_ready if it exists.
(child_info_fork::child_info_fork): New constructor.
(child_info_spawn::child_info_spawn): New constructor.
(child_info::ready): New function.  Signals parent when child is ready.
(child_info::sync): New function.  Wait for child to signal us or process to
die.
(remove_proc): Remove closing of hProcess since this should now be handled
shortly after process creation.
* spawn.cc (spawn_guts): Use child_info_spawn constructor rather than
init_child_info.  Save exec_sendsig and exec_dwProcessId in execing _pinfo.
Rely on child_info constructor to properly set parent_wr_proc_pipe in ciresrv.
Revert to previous determination on whether to start a process in suspended
mode.  Remove reparenting stuff.  Just keep a stub around if starting a
non-cygwin process.
2004-12-05 19:41:26 +00:00
Bas van Gompel d54b79d351 * fhandler.cc (fhandler_base::read): Remove superfluous check in
__small_printf format for strace.
2004-12-05 07:28:27 +00:00
Christopher Faylor 3a72ce9d12 minor cleanup 2004-12-05 02:30:20 +00:00
Bas van Gompel 8b6d072355 * fhandler.cc (fhandler_base::read): Don't debug_printf garbage when
copied_chars is zero.
2004-12-05 01:53:47 +00:00
Christopher Faylor e9efc27020 * environ.cc (environ_init): Alloc space for TERM if it is not set, like all of
the other environment variables.
2004-12-03 23:49:06 +00:00
Joshua Daniel Franklin b96fedfb8b 2004-12-02 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* cygserver.sgml: Cleanup minor markup problem.
        * how-resources.texinfo: Add man and info to documentation FAQ
        * how-using.texinfo: Add more detail to Unicode FAQ.
        * install.texinfo: Finally apply Pierre's patch from 2003-03-03.
        * relnotes.texinfo: Add note about hyperthreading reports.
2004-12-03 05:30:52 +00:00
Christopher Faylor 82b7b4fd4f * child_info.h (child_info_fork::parent_wr_proc_pipe): New element.
* fork.cc (fork_parent): Set parent_wr_proc.
* pinfo.cc (set_myself): Close child_proc_info->parent_wr_proc if it exists
rather than trying to get value from parent _pinfo.
* pinfo.h (enum parent_aleter): New enum.
(pinfo::alert_parent): Declare as returning a value.
(pinfo::parent_alive): New function.
* pinfo.cc (pinfo::alert_parent): Set wr_proc_pipe to invalid non-NULL value
when parent disappears.  Return success of operation.
(proc_waiter): Use __ALERT_* enum for control since these are not really
signals.  Implement __ALERT_ALIVE.
* sigproc.cc (my_parent_is_alive): Eliminate.
* sigproc.h (my_parent_is_alive): Ditto for declaration.
(__SIGREPARENT): Eliminate.
2004-12-03 04:46:00 +00:00
Christopher Faylor 3ef7d75861 * pinfo.cc (pinfo::wait): Use better name for cygthread. 2004-12-03 02:49:54 +00:00
Pierre Humblet 8151e674ba 2004-12-03 Pierre Humblet <pierre.humblet@ieee.org>
* registry.h (reg_key::reg_key): Change arguments.
	* shared_info.h (class mount_info): Remove had_to_create_mount_areas.
	* registry.cc (reg_key::reg_key): Change constructors to always handle
	HKLM and to avoid relying on HKCU.
	Do not set mount_table->had_to_create_mount_areas.
	* path.cc (mount_info::conv_to_win32_path): Improve update of
	sys_mount_table_counter.
	(mount_info::read_mounts): Use new reg_key constructor.
	(mount_info::add_reg_mount): Ditto.
	(mount_info::del_reg_mount): Ditto.
	(mount_info::read_cygdrive_info_from_registry): Ditto.
	(mount_info::write_cygdrive_info_to_registry): Ditto.
	Update cygwin_shared->sys_mount_table_counter after registry update.
	(mount_info::get_cygdrive_info): Ditto.
	* shared.cc (shared_info::heap_chunk_size): Use new reg_key constructor.
	* environ.cc (regopt): Ditto.
2004-12-03 02:00:37 +00:00
Danny Smith f77390bbdb * lib/comctl32.def (ImageList_Copy, ImageList_DrawIndirect,
ImageList_Duplicate): Add stubs.
2004-12-02 05:55:45 +00:00
Danny Smith a923c24660 * lib/directx/strmiids.c (MEDIASUBTYPE_YV12): Correct GUID.
Thanks to "Pete" <pross@xvid.org>
2004-12-02 05:36:22 +00:00
Christopher Faylor ce71e000f1 * include/features.h: Include sys/cdefs.h, like linux. 2004-12-01 17:07:03 +00:00
Christopher Faylor ea9af94bd3 Add missing changelog entry. 2004-12-01 15:07:20 +00:00
Christopher Faylor 576bfeeca8 * syscalls.cc (truncate64): Don't second-guess errno if open fails. 2004-12-01 15:00:40 +00:00
Christopher Faylor 6903729981 * environ.cc (putenv): Accommodate recent newlib change in argument to putenv. 2004-11-26 04:21:47 +00:00
Christopher Faylor 8cb359d947 * child_info.h (child_info_spawn::hexec_proc): Eliminate.
* dcrt0.cc (dll_crt0_0): Remove hexec_proc stuff.
* fork.cc (fork_child): Remove call to pinfo_fixup_after_fork.
* pinfo.cc (set_myself): Close and zero pid_handle if set.
(pinfo_fixup_after_fork): Delete.
(proc_waiter): Don't close vchild.hProcess here.  Do that when we are remove
the vchild from procs.  Save hProcess as pid_handle only on first reparent
operation.
(pinfo::wait): Don't set pid_handle here.
(pinfo::alert_parent): Always try to send signal.  If unsuccessful then close
and zero wr_proc_pipe.
* pinfo.h (pinfo::pinfo): Make sure that appropriate parts of the class are
zeroed on construction.
(pinfo::alert_parent): Take char argument.
(pinfo_fixup_after_fork): Delete declaration.
(hexec_proc): Ditto.
* sigproc.cc (remove_proc): Close pid_handle and hProcess if appropriate.
* spawn.cc (spawn_guts): Set cygheap->pid_handle on first exec.
* cygheap.h (init_cygheap::pid_handle): New element.
* pinfo.cc (set_myself): Clear previously existing cygheap->pid_handle when a
new process has been started.
(pinfo::wait): Make sure that a handle to the newly forked/spawned process is
kept around so that the pid will not be reused.
* pinfo.h (_pinfo::pid_handle): Move.
(pinfo::pid_handle): to here.
* spawn.cc (spawn_guts): Create a pid_handle in cygheap prior to spawning to
ensure that the pid does not get reused during the lifetime of the "cygwin
pid".
* pinfo.h (pinfo::alert_parent): New function.
* exceptions.cc (sig_handle_tty_stop): Use alert_parent to send "signals" to
parent.
* fork.cc (fork_parent): Don't close pi.hProcess.  Let the waiter thread do
that.
* pinfo.cc (proc_waiter): Detect case where process exits without setting the
exit code and use value from GetExitCodeProcess.  Reluctantly implement
__SIGREPARENT.
(pinfo::alert_parent): Define.
* sigproc.h (__SIGREPARENT): New enum.
* spawn.cc (spawn_guts): Send reparent signal to parent on exec.  Always create
process in suspended state to avoid races.  Remove cygthread.h in favor of
cygtls.h throughout since cygtls now includes cygthread.h.  Eliminate
ppid_handle usage throughout.
* child_info.h: Regenerate magic number
(child_info): Remove pppid_handle.
* cygthread.h (cygthread::release): New method.  Frees thread without waiting.
* cygthread.cc (cygthread::stub): Set _ctinfo in _mytls to point to information
for executing thread.  Don't call SetEvent if thread is no longer in use.
(cygthread::simplestub): Ditto.
* cygtls.h (_cygtls::_ctinfo): New element contains pointer to information
about executing cygthread, if any.
* dcrt0.cc: Remove last vestiges of per_thread stuff.
(dll_crt0_0): Ditto.  Remove accommodation for ppid_handle.
(do_exit): Remove obsolete reparenting test.
(_exit): Exit with a more SUSv3-like exit value.
* dtable.cc (dtable::stdio_init): Check for myself->cygstarted rather than
myself->ppid_handle to see if we were started by a cygwin process.
* exceptions.cc (open_stackdumpfile): Ditto.
(handle_exceptions): Ditto.
(ctrl_c_handler): Ditto.
(sig_handle_tty_stop): Ditto.  Let parent send signal to itself on STOP.
(sigpacket::process): Comment out vfork test.
(signal_exit): Use more SUSv3-like exit value on signal.
* external.cc (fillout_pinfo): Don't set hProcess.
* fork.cc: Remove VFORK cruft.
(per_thread::set): Delete.
(fork_child): Remove perthread stuff.
(fork_parent): Remove obsolete subproc_init.  Accommodate new method for
tracking subprocesses.
* pinfo.cc (set_myself): Accommodate new pinfo/_pinfo layout.  Set some things
here that used to be set in wait_sig.
(_pinfo::exit): Set exitcode here.  Close process pipe.
(_pinfo::commune_send): Accommodeate new pinfo/_pinfo layout.
(proc_waiter): New function.  Waits, in a thread for subprocess to go away.
(pinfo::wait): New function.  Initialization for proc_waiter.
* pinfo.h (_pinfo::exitcode): New element.
(_pinfo::cygstarted): Ditto.
(_pinfo::wr_proc_pipe): Ditto.
(_pinfo::ppid_handle): Delete.
(_pinfo::hProcess): Delete.
(_pinfo::lock): Delete.
(pinfo::hProcess): New element.
(pinfo::lock): Ditto.
(pinfo::wait): Declare new function.
(pinfo::preserve): Define new function.
* sigproc.cc: Remove old stuff from wait_subproc thread based method.
(zombies): Remove.
(procs): New.
(my_parent_is_alive): Just check that the parent pid exists.
(mychild): Just use pinfo methods to determine if child is mine.
(proc_subproc): Revamp PROC_ADDCHILD to use pinfo::wait.  Remove
PROC_CHILDTERMINATED logic.  Use different method to remove processes from list
when SIGCHLD == SIG_IGN.
(proc_terminate): Gut.
(subproc_init): Delete.
(init_child_info): Remove setting of pppid_handle.
(checkstate): Revamp to only scan procs array.
(remove_proc): Rename from remove_zombie.  Don't close hProcess or pid_handle.
Don't release memory if it's myself.
(stopped_or_terminated): Change logic to handle new consolidated proc/zombie
array.
(wait_subproc): Delete.
* sigproc.h: Remove obsolete EXIT_* defines.
(subproc_init): Remove declaration.
* spawn.cc (spawn_guts): Remove reparenting stuff.  Use standard wait logic to
wait for child if started from a non-cygwin process.
* tlsoffsets.h: Regenerate.
* tty.cc (tty_init): Check for myself->cygstarted rather than
myself->ppid_handle to see if we were started by a cygwin process.
* include/sys/signal.h (external_pinfo::exitcode): Replace hProcess.
* include/sys/wait.h (WCOREDUMP): Define.
* fhandler_tty.cc (fhandler_tty_slave::read): Add debugging output for timeout
case.
* signal.cc (abort): Flag that we are exiting with the ABORT signal.
2004-11-26 04:15:10 +00:00
Christopher Faylor c6fdc68916 * select.cc (select_stuff::test_and_set): Remove extraneous tests of
"window_handle".
2004-11-22 15:38:17 +00:00
Danny Smith 7e33b8b32f 2004-11-21 Benoit Blanchon <bblanchon@users.sourceforge.net>
* include/wingdi.h (AC_SRC_ALPHA, AC_SRC_NO_ALPHA,
	AC_DST_NO_ALPHA, ...): Add defines.
	* include/winuser.h (ULW_COLORKEY,ULW_ALPHA,
	ULW_OPAQUE): Add defines.


	Change email address in ChangleLog to sourceforge alias
2004-11-21 23:55:55 +00:00
Danny Smith d11206f65b * include/winnt.h (VerSetConditionMask): Correct typo in _WIN32_WINNT
guard.
	* lib/kernel32.def (VerSetConditionMask): Correct stdcall
	suffix.
	* lib/ddk/ntoskrnl.def (VerSetConditionMask): Likewise.
2004-11-21 19:45:25 +00:00
Pierre Humblet 2d2a068087 2004-11-20 Pierre Humblet <pierre.humblet@ieee.org>
* fhandler.cc (fhandler::write): Remove debug_printf.
	* pipe.cc (fhandler_pipe::create): Edit syscall_printf format.
2004-11-20 23:42:36 +00:00
Pierre Humblet e70bea195b 2004-11-20 Pierre Humblet <pierre.humblet@ieee.org>
* cygheap.h (cygheap_user::get_windows_id): New method.
	* registry.h (get_registry_hive_path): Change argument type.
	(load_registry_hive): Ditto.
	* registry.cc (get_registry_hive_path): Change argument type and take
	Win9x keys into account.
	(load_registry_hive): Ditto.
	* uinfo.cc (cygheap_user::env_userprofile): Use get_windows_id, even
	for SYSTEM.
	* shared.cc (user_shared_initialize): Use get_windows_id.
	* syscalls.cc (seteuid32): Load the registry hive and reload the user
	shared also on Win9x.
2004-11-20 19:09:19 +00:00
Danny Smith 225699ae46 * include/winbase.h (PPROCESS_INFORMATION): Add typedef.
(CreateProcessWithLogonW): Declare.
	(LOGON_WITH_PROFILE, LOGON_NETCREDENTIALS_ONLY): Add defines.
	Thanks to: "jkmaki" <jkmaki@users.sourceforge.net>

	Correct some ChangeLog typos.
2004-11-20 00:03:08 +00:00
Danny Smith 78f717651f * include/sspi.h (SecPkgContext_Sizes): Fix typo.
Thanks to: David Leonard  <leonard@users,sourceforge.net>
2004-11-19 10:15:00 +00:00
Danny Smith 7fd30f5b15 * include/sspi.h (SecPkgCredentials_Names[AW]): Correct name.
Thanks to: David Leonard  <leonard@users,sourceforge.net>
2004-11-19 10:08:25 +00:00
Danny Smith 8f287205e8 2004-11-19 Magnus Olsen <greatlord@sourceforge.users.net>
* include/winuser.h (MSLLHOOKSTRUCT): Add structure.
2004-11-19 09:42:46 +00:00
Danny Smith 1e7e1a9fd7 2004-11-19 Magnus Olsen <greatlord@sourceforge.users.net>
* include/winuser.h (LLKHF_EXTENDED, LLKHF_INJECTED, LLKHF_UP):
	Add defines.
	(LLKHF_ALTDOWN): Define based on KF_ALTDOWN,
2004-11-19 09:35:09 +00:00
Danny Smith b359f9adfe 2004-11-19 Benoit Blanchon <benoit.blanchon@free.fr>
* include/shellapi.h (NIF_GUID): Add define.


Correct my 2004-11-04 Changelog entry
2004-11-19 08:30:26 +00:00
Earnie Boyd 3ff5506593 * include/w32api.h (Windows95, etc. and IE3, etc.): Add definitions. 2004-11-18 15:04:10 +00:00
Earnie Boyd 24984fcb45 2004-11-18 Earnie Boyd <earnie@users.sf.net>
* include/wincon.h (AttachConsole): Correct the _WIN32_WINNT filter.
	Changed it twice due to inconsistent MSDN documentation.
2004-11-18 13:57:06 +00:00
Earnie Boyd 43b9a723cc 2004-11-18 Earnie Boyd <earnie@users.sf.net>
* include/wincon.h (AttachConsole): Correct the _WIN32_WINNT filter.
2004-11-18 13:53:20 +00:00
Bas van Gompel d26eb2a13b * cygcheck.cc (eprintf): New function. 2004-11-18 05:20:23 +00:00
Bas van Gompel cd1ab47e38 * cygcheck.cc (find_on_path): Clear show_error and/or print_failed
parameters to display_error.
(rva_to_offset): Ditto.
(dll_info): Ditto.
(track_down): Ditto.
2004-11-16 05:16:59 +00:00
Pierre Humblet 87b838398a 2004-11-13 Pierre Humblet <pierre.humblet@ieee.org>
* kill.cc (forcekill): Do not pass negative pids to
	cygwin_internal. Check if sig == 0. Improve error messages.
	(main): Make pid a long long and distinguish between pids, gpids
	(i.e. negative pids) and Win9x pids.
2004-11-13 16:30:19 +00:00
Danny Smith 95e3512d53 * include/shlobj.h (SHGFP_TYPE): Add enum. 2004-11-13 10:36:08 +00:00
Danny Smith 6f68e4938c 2004-11-12 Lo�c Guilloux (glx@users.sourceforge.net>
* include/winuser.h (WM_THEMECHANGED): Add define.
2004-11-13 03:42:40 +00:00
Danny Smith d7dbb7f8d8 * include/ddk/winddk.h (ExAllocateFromPagedLookasideList,
ExFreeToPagedLookasideList): Guard inline versions with
	(__USE_NTOSKRNL__) && (_WIN32_WINNT >= 0x0501). Declare as
	external functions for earlier _WIN32_WINNT.
2004-11-12 08:26:44 +00:00
Christopher Faylor e8248d0132 * include/cygwin/version.h: Bump DLL minor number to 13. 2004-11-11 16:26:13 +00:00
Christopher Faylor 213c7a7d94 * cygcheck.cc: Change "keyeprint" to "display_error" throughout. 2004-11-11 01:56:02 +00:00
Christopher Faylor 28fbe53af8 * cygcheck.cc (main): Allow a '-l' without an additional argument. 2004-11-11 01:52:33 +00:00
Bas van Gompel 5ccf388ed8 * cygcheck.cc (keyeprint): New optional parameters: show_error and
print_failed.
2004-11-11 01:17:29 +00:00
Danny Smith eaec5f301f * include/ras.h (RASCONN[AW]): Remove dwSessionId field.
Fix typos in last ChangeLog entry
2004-11-10 20:05:01 +00:00
Danny Smith 9507f00e68 * include/winnls.h (WINBASEAPI): Define as DECLSPEC_IMPORT.
if  undefined. and __W32API_USE_DLLIMPORT__.
	Add WINBASEAPI token to prototypes, throughout.
2004-11-09 09:06:03 +00:00
Danny Smith 65fb2e4311 * include/winnt.h (GetCurrentFiber): Support -masm=intel.
(GetFiberData): Likewise.
	(NtCurrentTeb): Likewise.
2004-11-08 10:08:13 +00:00
Danny Smith c3ea0cd332 * include/wingdi.h (NIF_INFO): Add define.
(NIIF_*) Add defines..
	Thanks to: Benoit Blanchon <benoit.blanchon@free.fr>
	(NIF_*): Convert constants to hex.
2004-11-04 07:09:52 +00:00
Danny Smith 9dee1466e8 * include/wingdi.h (GetFontUnicodeRanges,GetGlyphIndicesA,
GetGlyphIndicesW): Declare.
	(GGI_MARK_NONEXISTING_GLYPHS): Define
	* lib/gdi32.def (GetFontUnicodeRanges,GetGlyphIndicesA,
	GetGlyphIndicesW): Add stubs.
2004-11-02 09:07:33 +00:00
Bas van Gompel fe5cd1608b * cygcheck.cc (get_dword): Fix errormessage.
(cygwin_info): Ditto.
(track_down): Ditto.
(check_keys): Ditto.
2004-10-31 18:46:31 +00:00
Christopher Faylor 22cf17b31f * fork.cc (NPIDS_HELD): Reduce to former number now that bash problem has been
identified.
2004-10-28 17:34:29 +00:00
Pierre Humblet 531979231d 2004-10-28 Pierre Humblet <pierre.humblet@ieee.org>
* path.cc (mount_info::from_registry): Deimpersonate while
        accessing HKLM.
        (mount_info::read_cygdrive_info_from_registry): Ditto.
        * cygheap.h: Define NO_IMPERSONATION.
        (cygheap_user::issetuid): Replace INVALID_HANDLE_VALUE by
        NO_IMPERSONATION.
        (cygheap_user::has_impersonation_tokens): Ditto.
        (cygheap_user::close_impersonation_tokens): Ditto.
        * uinfo.cc (uinfo_init): Ditto.
        * syscalls.cc (seteuid32): Ditto.
        * security.cc (set_impersonation_token): Ditto.
2004-10-28 01:46:01 +00:00
Bas van Gompel ccf4c1e6cd * cygcheck.cc (dump_sysinfo): Warn about missing or multiple cygwin1
dlls.
2004-10-27 01:28:07 +00:00
Christopher Faylor 5957d504f0 * cygtls.cc (_cygtls::fixup_after_fork): Wipe out exitsock local since it
should not be used by the child.
* select.cc (start_thread_socket): Turn off inheritance for exitsock.  Don't
add exitsock to exception mask since it should never get an exception.
(socket_cleanup): Change some debug messages for consistency.
* fhandler_socket.cc (fhandler_socket::dup): Change comment wording slightly.
2004-10-26 21:13:50 +00:00
Pierre Humblet fdf4ad73e1 2004-10-26 Pierre Humblet <pierre.humblet@ieee.org>
* registry.cc (get_registry_hive_path): Simplify and add a
        debug_printf in case of failure.
        (load_registry_hive): Revert the 2004-04-19 change.
2004-10-26 01:53:27 +00:00
Christopher Faylor 9a0fdd2315 whitespace 2004-10-25 21:20:09 +00:00
Bas van Gompel a3a401001a * cygcheck.cc (dump_sysinfo): Add leading newline before legend for
drive-list.
2004-10-25 16:11:41 +00:00
Christopher Faylor 4bfc614b42 fix whitespace, update some copyrights 2004-10-25 15:49:36 +00:00
Christopher Faylor bc4ab99276 Remove CRs 2004-10-25 15:35:41 +00:00
Danny Smith 244cbd6bda 2004-10-24 Dan Aloni <da-x@colinux.org>
* include/ddk/ntapi.h (NtQueryFullAttributesFile,
	ZwQueryFullAttributesFile): Declare.
	* include/ddk/ntapi.h (RtlDosPathNameToNtPathName_U):
	Declare.
	lib/ntoskrnl.def (ZwQueryDirectoryFile, ZwQueryFullAttributesFile.
	ZwQueryVolumeInformationFile): Add stubs.
2004-10-24 09:03:30 +00:00
Bas van Gompel be1d479e09 * cygcheck.cc (dump_sysinfo): In legend for drive-list: Add ``ram'' and
``unk''. Use single puts. Add leading newline. Line up equal-signs.
2004-10-22 01:29:10 +00:00
Christopher Faylor be957eb563 * cygcheck.cc (dump_sysinfo): Allow for larger drives in drive-list. Change
``Used'' to ``Free'' in helptext-title for drive-list.
2004-10-21 00:06:37 +00:00
Christopher Faylor 4082a9eb4a * select.cc (start_thread_socket): Remove attempt to delay reading of exitsock
or suffer occasional mysterious 60 second hangs.
(socket_cleanup): Empty the exitsock here after the thread has terminated.
2004-10-20 04:49:34 +00:00
Christopher Faylor d134b48fd6 revert erroneous checkin 2004-10-20 01:03:55 +00:00
Christopher Faylor f054a20f1a * fhandler_console.cc (fhandler_console::fixup_after_exec): Fix error message. 2004-10-20 01:02:18 +00:00
Corinna Vinschen 52fa622ab6 * sysv_sem.cc: Redefine offsetof to circumvent build problems with
gcc 3.4.
2004-10-18 14:26:18 +00:00
Corinna Vinschen eedf24742c * cygcheck.cc (pretty_id): Don't let i become negative. Fix
printf-format.
2004-10-18 10:25:38 +00:00
Danny Smith b64293e62a = include/wsahelp.h (WINSOCK_MAPPING, WSHGetWinsockMapping,
PWSH_GET_WINSOCK_MAPPING): Don't define if __OBJC__.
2004-10-18 04:31:16 +00:00
Christopher Faylor 3f8c5ee627 fix date 2004-10-18 01:47:00 +00:00
Christopher Faylor 0ffa77a9f5 * cygcheck.cc (pretty_id): Allocate space for ')' in uid and guid. 2004-10-18 01:44:55 +00:00
Christopher Faylor 0597641a74 * cygcheck.cc (pretty_id): Allocate space for trailing '\0' on uid and guid. 2004-10-17 23:31:23 +00:00
Christopher Faylor 167f0d8513 * cygcheck.cc (pretty_id): Don't exit on id error. Fix size calculations. 2004-10-15 13:57:56 +00:00
Danny Smith 12a638f990 2004-10-15 Robert Wruck <wruck@tweerlei.de>
Danny Smith  <dannysmith@users.sourceforge.net>

	= include/winbase.h (InitializeSListHead, Interlocked*):
	Guard with !__USE_NTOSKRNL__.

	* include/ddk/ntddk.h (__USE_NTOSKRNL__): Define.
	* include/ddk/winddk.h (InitializeSListHead, Interlocked*):
	Guard with  __USE_NTOSKRNL__.
	(ExInterlockedPopEntrySList, ExInterlockedPushEntrySList):
	Add prototypes.  Guard macro definition with __USE_NTOSKRNL__
	&& _WIN32_WINNT >= 0x0501
	(ExAllocateFromNPagedLookasideList, ExAllocateFromPagedLookasideList,
	ExFreeToNPagedLookasideList, ExFreeToPagedLookasideList):
	Replace calts to InterlockedPopEntrySList, InterlockedPushEntrySList
	with ExInterlockedPopEntrySList, ExInterlockedPushEntrySList.

	* lib/ddk/ntosknl.def (ExInterlockedPopEntrySList,
	ExInterlockedPushEntrySList)  Add stubs with fastcall decoration.
	(ExDesktopObjectType, ExEventObjectType, ExSemaphoreObjectType,
	ExWindowStationObjectType, IoAdapterObjectType,
	IoDeviceHandlerObjectSize, IoDeviceHandlerObjectType,
	IoDeviceObjectType, IoDriverObjectType, IoFileObjectType,
	LpcPortObjectType, MmSectionObjectType, SeTokenObjectType):
	Uncomment stubs.
2004-10-15 01:18:11 +00:00
Christopher Faylor 902edd4512 * cygcheck.cc (pretty_id): Correct column calculations. Abort if id is acting
funny.
2004-10-14 17:35:46 +00:00
Danny Smith 2457f34144 * include/sys/stat.h: Make S_ISLNK comment comply with ISO C90. 2004-10-14 07:44:11 +00:00
Christopher Faylor 96536b50a6 * select.cc (start_thread_socket): Remove unused code. 2004-10-13 03:26:31 +00:00
Christopher Faylor cbec131f8e * fhandler_termios.cc (fhandler_termios::tcsetpgrp): Revert previous checkin. 2004-10-11 15:36:13 +00:00
Danny Smith 77cbeb0039 2004-10-11 Robert Wruck <wruck@tweerlei.de>
* include/ddk/winddk.h (IoReleaseRemoveLockAndWait): Fix
        definition
        (IoReleaseRemoveLock): Add definition.
2004-10-11 07:20:26 +00:00
Christopher Faylor a82955fa29 minor change 2004-10-11 02:27:43 +00:00
Christopher Faylor 1cda132258 * cygtls.h (exitsock): New element.
(exitsock_sin): Ditto.
* cygtls.cc (_cygtls::init_thread): Initialize exitsock to invalid handle.
(_cygtls::call2): Close exitsock if it is valid.
* select.cc (struct socketinf): Remove sin element.
(start_thread_socket): Initialize one SOCK_DGRAM socket per thread instead of
(apparently) expensive opening and closing of socket with each select call.
(socket_cleanup): Send a byte to the exitsock socket as a way to potentially
signal a waiting-for-socket thread to exit.
* tlsoffsets.h: Regenerate.
2004-10-11 02:21:31 +00:00
Christopher Faylor 8d712c8c3e Remove unneeded directory. 2004-10-10 18:57:16 +00:00
Christopher Faylor 76ad4d0a6e * cygcheck.cc (add_path): Don't leak memory when path is already in ``paths''. 2004-10-10 17:07:23 +00:00
Danny Smith 7d032a010a * include/ddk/winnt4.h (Exi386InterlockedDecrementLong,
Exi386InterlockedExchangeUlong, Exi386InterlockedIncrementLong);
	Add prototypes.
	* include/winddk.h (ExInterlockedAddUlong,
	ExInterlockedInsertHeadList, ExInterlockedInsertTailList,
	ExInterlockedRemoveHeadList, ExInterlockedPopEntryList,
	ExInterlockedPushEntryList): Change calling convention to
	DDKAPI.
	(ExfInterlockedAddUlong,ExInterlockedInsertHeadList,
	ExInterlockedInsertTailList, ExInterlockedRemoveHeadList,
	ExInterlockedPopEntryList, ExInterlockedPushEntryList):
	Add prototypes for DDKFASTAPI versions.
	Thanks to Vadim Yegor0v <zg at bmg dot lv> for report.
	* lib/ntoskrnl.def (ExInterlockedAddUlong,
	ExInterlockedInsertHeadList, ExInterlockedInsertTailList,
	ExInterlockedRemoveHeadList, ExInterlockedPopEntryList,
	ExInterlockedPushEntryList): Remove lead '@' from stubs.
	(ExfInterlockedAddUlong,ExfInterlockedInsertHeadList,
	ExfInterlockedInsertTailList, ExfInterlockedRemoveHeadList,
	ExfInterlockedPopEntryList, ExfInterlockedPushEntryList):
	Add fastcall stubs.
	(Exi386InterlockedDecrementLong, Exi386InterlockedExchangeUlong,
	Exi386InterlockedIncrementLong); Add stdcall stubs.
2004-10-10 07:14:04 +00:00
Christopher Faylor 0795a24552 * cygcheck.cc (dump_sysinfo): Warn about trailing (back)slash on mount entries. 2004-10-09 23:19:38 +00:00
Christopher Faylor 82e127caac * cygcheck.cc (dump_sysinfo): Don't warn about empty path components, just
display ``.''.
2004-10-09 23:15:36 +00:00
Corinna Vinschen 60cb120f3e * cygheap.h (class cygheap_user): Add psystemroot member and
env_systemroot method.
	* environ.cc (struct spenv): Add add_always member.
	(spenvs): Accomodate new add_always member.  Add
	cygheap_user::env_systemroot method to SYSTEMROOT entry.
	(build_env): Check add_always member when adding missing environment
	variables from spenvs.
	* uinfo.cc (cygheap_user::env_systemroot): New method.
2004-10-07 21:28:57 +00:00
Corinna Vinschen 9286b55306 * dcrt0.cc (dll_crt0_0): Drop duplicated line. 2004-10-07 16:59:02 +00:00
Christopher Faylor d794d08157 revert erroneously applied change 2004-10-07 16:53:51 +00:00
Christopher Faylor 859d85dee0 * spawn.cc (pthread_cleanup::oldmask): Default to invalid signal mask.
(do_cleanup): Test for invalid signal mask to decide whether to restore the
mask rather than assuming zero mask indicates that there is nothing to do.
2004-10-07 16:49:30 +00:00
Corinna Vinschen b9cd8fb5ff * fhandler_tty.cc (fhandler_tty_slave::read): Use previously
evaluated time_to_wait value.
2004-10-07 08:03:24 +00:00
Danny Smith 72db1c11e9 * include/math.h (ashinh, asinhf, asinhl, acosh, acoshf, acoshl,
atanh, atanhf, atanhl): Add prototypes.
	* mingwex/Makefile.in (MATH_OBJS): Add objects for above to list.
	(MATH_DISTFILES): Add sources for above and fastmath.h to list.
	Specify dependency on fastmath.h for new objects.
	* mingwex/math/fastmath.h: New file.
	* mingwex/math/ashinh.c: New file.
	* mingwex/math/asinhf.c: New file.
	* mingwex/math/asinhl.c: New file.
	* mingwex/math/acosh.c: New file.
	* mingwex/math/acoshf.c: New file.
	* mingwex/math/acoshl.c: New file.
	* mingwex/math/atanh.c: New file.
	* mingwex/math/atanhf.c: New file.
	* mingwex/math/atanhl.c: New file.
2004-10-06 20:31:32 +00:00
Corinna Vinschen 4f8dc86255 * strace.cc (_impure_ptr): Remove. 2004-10-06 09:51:11 +00:00
Corinna Vinschen 5f175ea697 * cygcheck.cc (dump_sysinfo): Warn about empty path-components. 2004-10-06 09:46:40 +00:00
Pierre Humblet b0637a5191 2004-10-05 Pierre Humblet <pierre.humblet@ieee.org>
* external.cc (check_ntsec): Do not call wincap.has_security.
	* path.cc (path_conv::check): Ditto.
	* security.cc (get_object_attribute): Ditto.
	(get_file_attribute): Ditto.
2004-10-06 01:33:39 +00:00
Christopher Faylor 67eedd2473 revert erroneous checkin 2004-10-05 14:35:56 +00:00
Christopher Faylor 0190304668 * pinfo.cc (_pinfo::commune_send): Correct debugging output. 2004-10-05 02:10:15 +00:00
Corinna Vinschen 1f8b30497d * bsd_mutex.cc (_msleep): Simplify event creation. Revert change from
2004-08-24.  It should be unnecessary now.
	* msg.cc (client_request_msg::serve): Release process critical
	section as early as possible.
	* sem.cc (client_request_sem::serve): Ditto.
	* shm.cc (client_request_shm::serve): Ditto.
	* process.cc: Use hold and release method calls instead of
	EnterCriticalSection/LeaveCriticalSection calls throughout.
	* process.h (_hold): Rename from hold.  Take filename and linenumber
	parameter for logging.  Define matching hold macro.
	(release): Ditto.
2004-10-04 19:44:05 +00:00
Christopher Faylor 298cac75d5 fix erroneous checkin 2004-10-04 14:06:02 +00:00
Christopher Faylor 34421ac3e5 * include/cygwin/signal.h: Add siginterrupt definition. 2004-10-04 14:04:31 +00:00
Corinna Vinschen a5aa8c3e3a * cygcheck.cc (pretty_id): Close pipe. 2004-10-04 09:42:08 +00:00
Pierre Humblet e49bc789b2 2004-10-02 Pierre Humblet <pierre.humblet@ieee.org>
* path.h (enum path_types): Delete PATH_ISDISK.
	(path_conv::isdisk): Delete method.
	(path_conv::set_isdisk): Ditto.
	* path.cc (path_conv::check): Do not call set_isdisk.
	* uinfo.cc(pwdgrp::load): Do not call pc.isdisk.
2004-10-02 02:20:21 +00:00
Corinna Vinschen c6ef5fb7ec * sysv_sem.cc: Update to FreeBSD version 1.69.
1.68: Reduce the overhead of semop() by using the kernel stack
	instead of malloc'd memory to store the operations array if it
	is small enough to fit.
	1.69: Adjust the number of processes waiting on a semaphore properly
	if we're woken up in the middle of sleeping.
2004-10-01 11:18:10 +00:00
Joshua Daniel Franklin 00ee07cb12 * how-using.texinfo: Fix typo. Add note about "Install For All Users" 2004-09-30 19:58:07 +00:00
Danny Smith f49a3937c8 * include/winbase.h (WINBASEAPI): Define as DECLSPEC_IMPORT only
if __W32API_USE_DLLIMPORT__ is defined.
	* include/winuser.h (WINUSERAPI): Likewise.
2004-09-30 09:08:17 +00:00
Joshua Daniel Franklin 747d02f791 * how-using.texinfo: Add FAQ about network shares and authentication. 2004-09-30 05:19:27 +00:00
Joshua Daniel Franklin 5ee7c50819 2004-09-30 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* how-programming.texinfo: Add gcj note to WinMain@16 FAQ.
	* how-using.texinfo: Add FAQ about network shares and authentication.
	* install.texinfo: Add "Where is make" to FAQ subtitle.
2004-09-30 05:03:52 +00:00
Danny Smith 85153fb164 2004-09-29 Filip Navara <xnavara@volny.cz>
* include/ddk/(atm.h, batclass.h, cfg.h, cfgmgr32.h, d4drvif.h,
	d4iface.h, ddkmapi.h, hidclass.h, hidpi.h, mcd.h, miniport.h,
	mountdev.h, mountmgr.h, ndis.h, ndistapi.h, ndiswan.h, netpnp.h,
	newdev.h, ntapi.h, ntdd8042.h, ntddbeep.h, ntddcdrm.h, ntddcdvd.h,
	ntddchgr.h, ntdddisk.h, ntddkbd.h, ntddmou.h, ntddpar.h, ntddpcm.h,
	ntddscsi.h, ntddser.h, ntddstor.h, ntddtape.h, ntddtdi.h,
	ntddvdeo.h, ntddvol.h, ntpoapi.h, parallel.h, pfhook.h, poclass.h,
	scsi.h, scsiscan.h, smbus.h, srb.h, storport.h, tdiinfo.h,
	tdikrnl.h, tvout.h, upssvc.h, usb.h, usb100.h, usbdi.h, usbioctl.h,
	usbiodef.h, usbscan.h, usbuser.h, videoagp.h, winddi.h, winddk.h,
	winnt4.h, ws2san.h): Fixed packing.
	* include/ddk/atm.h (ATM_TRAFFIC_DESCRIPTOR_IE): Fixed declaration.
	* include/ddk/hidclass.h (HID_INTERFACE_HIDPARSE,
	HID_INTERFACE_NOTIFY_PNP): Likewise.
	* include/ddk/ndis.h (NDIS_DMA_BLOCK, CO_FLOW_PARAMETERS): Likewise.
	(NdisQueryPacketLength): Added macro. Thanks to Art Yerkes
	<ayerkes@speakeasy.net>.
	* include/ddk/usb100.h (USB_CONFIGURATION_DESCRIPTOR): Fixed
	declaration.
	* include/ddk/winddi.h (PATHDATA, GLYPHPOS): Likewise.
	* include/ddk/winddk.h (PDRIVER_CONTROL, PDRIVER_LIST_CONTROL,
	PDRIVER_ADD_DEVICE, PIO_COMPLETION_ROUTINE, PDRIVER_CANCEL,
	PKDEFERRED_ROUTINE, PDRIVER_DISPATCH, PIO_DPC_ROUTINE,
	PMM_DLL_INITIALIZE, PMM_DLL_UNLOAD, PDRIVER_ENTRY,
	PDRIVER_INITIALIZE, PKSERVICE_ROUTINE, PIO_TIMER_ROUTINE,
	PDRIVER_REINITIALIZE, PDRIVER_STARTIO, PKSYNCHRONIZE_ROUTINE,
	PDRIVER_UNLOAD, DRIVER_OBJECT): Fixed callback declarations.
	(struct FILE_BASIC_INFORMATION): Renamed to _FILE_BASIC_INFORMATION.
	(SYNCH_LEVEL): Added definition.
	(KPCR, KPCR_TIB): Fixed declaration.
	(Interlocked[Push/Pop]EntrySList): Declare only if winbase.h isn't
	included and _WIN32_WINNT >= 0x0501.
	(RtlEqualLuid): Fixed macro definition.
	(KfLowerIrql, KfRaiseIrql): Declare and use instead of KeLowerIrql and
	KeRaiseIrql on i386 architectures.
2004-09-28 08:46:54 +00:00
Christopher Faylor e3e443e4df * fhandler_termios.cc (fhandler_termios::tcsetpgrp): Disallow attempts to set
the process group to a nonexistent process group.
2004-09-28 04:41:42 +00:00
Corinna Vinschen 2b94cfce89 * lib/_cygwin_crt0_common.cc: Revert patch from 2004-09-16. Brakes
newly built DLLs.
2004-09-27 16:30:44 +00:00
Christopher Faylor 98fc1a6dfe Sergey Ivanov <seriv@parkheights.dyndns.org>
* path.cc (mount_info::read_cygdrive_info_from_registry): Default /cygdrive to
binary mode.
2004-09-24 19:41:19 +00:00
Corinna Vinschen a638588d7c * cygwinenv.sgml: smbntsec is not on by default. 2004-09-24 09:47:10 +00:00
Corinna Vinschen e55ad3ece0 * sysv_shm.cc (kern_shmat): Avoid compiler warning. 2004-09-23 14:16:54 +00:00
Corinna Vinschen 79de498006 * dump_setup.cc (dump_setup): Remove unneeded strlen when check_files
is not set.
2004-09-23 10:32:20 +00:00
Pierre Humblet 20e474d7b8 2004-09-22 Pierre Humblet <pierre.humblet@ieee.org>
* path.cc (normalize_win32_path): Only look for : in second position.
	Avoid infinite loop with names starting in double dots.
	(mount_info::conv_to_win32_path): Do not worry about a trailing dot.
	(hash_path_name): Ditto.
2004-09-23 00:32:08 +00:00
Corinna Vinschen 71de401447 * dump_setup.cc (dump_setup): Avoid trailing spaces on package-list. 2004-09-22 11:50:51 +00:00
Corinna Vinschen 04e9ee5f15 * sysv_shm.cc (vm_object_reference): remove Cygwin specific define.
(vm_map_find): Ditto.
	(vm_map_inherit): Ditto.
	(kern_shmat): On Cygwin, take shmaddr just as is.  Don't call vm
	system calls on Cygwin.  Add comment.
2004-09-21 14:40:24 +00:00
Christopher Faylor 0ae97cf7dd * exceptions.cc (sig_handle_tty_stop): Set flag earlier. 2004-09-20 05:35:46 +00:00
Christopher Faylor ac652b501a . 2004-09-20 05:31:17 +00:00
Christopher Faylor e58412a2a0 * exceptions.cc (sig_handle_tty_stop): Set flag that we are in a cygwin
function to avoid a probably erroneous stack walk.
2004-09-20 04:58:36 +00:00
Corinna Vinschen af444ab7be * syscalls.cc (unlink): Don't use "delete on close" on remote shares. 2004-09-17 09:10:53 +00:00
Corinna Vinschen 95a12a8594 * cygwin.din (_impure_ptr): And export again. There are libs out there. 2004-09-17 08:34:31 +00:00
Corinna Vinschen 368ffbe3d8 * cygwin.din (_impure_ptr): Don't export.
(reent_data): Export.
	* lib/_cygwin_crt0_common.cc (_impure_ptr): Drop entirely.  Don't
	initialize _impure_ptr or u->impure_ptr_ptr.
2004-09-16 09:14:29 +00:00
Christopher Faylor 22a1a24f10 * cygwin.din (_impure_ptr): Export.
(reent_data): Don't export.
* dcrt0.cc (reent_data): Drop.
(__cygwin_user_data): Initialize impure_ptr as GLOBAL_REENT.
(_dll_crt0): Initialize _impure_ptr as GLOBAL_REENT.
* lib/_cygwin_crt0_common.cc (_impure_ptr): Drop.  Declare extern as dllimport
instead.
2004-09-16 03:49:03 +00:00
Corinna Vinschen 1dcd520bb8 Fix copyright throughout.
Eliminate use of _impure_ptr outside Cygwin.
	* bsd_helper.cc: Include errno.h instead of cygerrno.h.
	* bsd_mutex.cc : Ditto.
	* client.cc: Ditto.
	* cygserver.cc: Ditto.
	* process.cc: Don't build functions inside Cygwin.  Don't include
	cygerrno.h.  Don't set errno.
	* transport_pipes.cc (SET_ERRNO): New define.  Use througout.
	* transport_sockets.cc (SET_ERRNO): Ditto.
	(GET_ERRNO): Ditto.
2004-09-15 10:17:53 +00:00
Corinna Vinschen b103e0d732 * getfacl.c (main): Correct layout when nopt is set. 2004-09-15 07:51:06 +00:00
Christopher Faylor a9f36d288c * cygtls.h: Add alignment kludge to fix disparity between compilers.
* tlsoffsets.h: Regenerate.
* fork.cc (slow_pid_reuse): Use define to control number of pids held to
prevent pid reuse.
2004-09-14 23:44:50 +00:00
Christopher Faylor 272871abe4 * what.texinfo: Fix two typos reported on cygwin list. 2004-09-14 13:02:54 +00:00
Corinna Vinschen 599b41c4ec * autoload.cc (EnumProcessModules): Add.
* dlfcn.cc (dlsym): Handle RTLD_DEFAULT using EnumProcessModules().
	* include/dlfcn.h (RTLD_DEFAULT): Define to NULL.
2004-09-14 08:29:12 +00:00
Christopher Faylor fc3a42749f * fork.cc (slow_pid_reuse): Temporarily double the number of pids held to
prevent pid reuse.
2004-09-14 02:21:09 +00:00
Christopher Faylor de4e88a8df trivia change to force a new snapshot 2004-09-13 15:14:38 +00:00
Christopher Faylor a5eb75d60c * sigproc.cc (wait_sig): Ensure that waiting threads are awoken after returning
from a hold condition.
2004-09-12 19:34:08 +00:00
Christopher Faylor 3d65bb97e8 * child_info.h (CURR_CHILD_INFO_MAGIC): Update. 2004-09-12 18:10:15 +00:00
Christopher Faylor 013688df40 check in file missing from previous checkin. 2004-09-12 03:55:42 +00:00
Christopher Faylor d584454c82 * exceptions.cc: (ctrl_c_handler): Do nothing while a Cygwin subprocess is
starting.
* child_info.h (init_child_info): Remove pid argument from declaration.
* cygheap.h (init_cygheap::pid): New element.
* dcrt0.cc (dll_crt0_0): Eliminate handling of now-noexistent cygpid parameter
in child_info struct.  Set forkee to 'true' rather than cygpid since the pid
value was never used.
(dll_crt0_1): Ditto.
(_dll_crt0): Ditto.
* fork.cc (fork_child): Don't wait for sigthread.  This is handled in the fork
call now.
(fork_parent): Remove obsolete pid argument from init_child_info call.  Don't
do anything special with cygpid when DEBUGGING.
(fork): Delay all signals during fork.
(fork_init): Don't do anything special when DEBUGGING.
* pinfo.cc (set_myself): Remove pid parameter.  Use new pid field in cygheap.
(pinfo_init): Don't pass pid argument to set_myself.
* sigproc.cc (sig_send): Wait for dwProcessId to be non-zero as well as
sendsig.
(init_child_info): Eliminate handling of pid.
(wait_sig): Implement method to temporarily hold off sending signals.
* sigproc.h (__SIGHOLD): New enum.
(__SIGNOHOLD): Ditto.
* spawn.cc (spawn_guts): Remove obsolete pid argument from init_child_info
call.
2004-09-12 03:47:57 +00:00
Corinna Vinschen d495ee9ff0 * fhandler.cc (fhandler_base::dup): Use debug_printf. 2004-09-10 08:34:37 +00:00
Corinna Vinschen 4875a4b66e * Makefile.in: Create libutil.a from bsdlib.o exports.
* bsdlib.cc (logwtmp): Move from syscalls.cc to here.
	(login): Ditto.
	(logout): Ditto.

	* winsup.h (EXPORT_ALIAS): New macro.
	* exec.cc: Define alias symbols using EXPORT_ALIAS macro.
	* syscalls.cc: Ditto.
	* times.cc: Ditto.
2004-09-10 08:30:51 +00:00
Corinna Vinschen 1f97020ae6 * fhandler_tape.cc (fhandler_dev_tape::open): Fix typo. 2004-09-09 11:35:15 +00:00
Corinna Vinschen 6423296840 * pipe.cc (create_selectable_pipe): Work around bug in Windows 95
where CreateNamedPipe returns NULL.
2004-09-09 08:58:44 +00:00
Earnie Boyd bbb5869af9 * include/sys/stat.h (_S_IFLNK): Add definition.
(S_IFLNK) Ditto.
	(_lstat) Ditto.
	(lstat) Ditto.
	(_S_ISLNK) Recode.
	(S_ISLNK) Ditto.
2004-09-09 02:05:22 +00:00
Earnie Boyd 57ad1153a6 * include/sys/stat.h (_S_ISLNK): Add definition.
(S_ISLNG): Ditto.
2004-09-08 18:24:13 +00:00
Pierre Humblet a456320915 2004-09-05 Pierre Humblet <pierre.humblet@ieee.org>
* cygheap.h (cwdstuff::drive_length): New member.
        (cwdstuff::get_drive): New method.
        * path.cc (normalize_win32_path): Simplify by using cwdstuff::get_drive.
        (mount_info::conv_to_win32_path): Use cwdstuff::get_drive as default for /.
        (cwdstuff::set): Initialize drive_length.
2004-09-07 23:26:28 +00:00
Christopher Faylor 6f7a746cee * cygtls.cc (_cygtls::init_thread): Set __sdidinit to negative value to
indicate that it is "special".
* thread.cc (pthread::exit): If __sdidinit is < 0, it was never really
initialized so reset it to 0 before calling _reclaim_reent.
2004-09-07 04:05:14 +00:00
Corinna Vinschen ab21f18c95 * bsd_mutex.cc (_msleep): Disable resetting event object for now. 2004-09-06 20:32:45 +00:00
Danny Smith b2e7654908 2004-09-06 Hosaka Yuji <hos@tamanegi.org>
* include/mshtml.h (IHTMLDocument2): Correct get_selection
	declaration.
	(IHTMLSelectionObject): Correct get_type declaration.
	(IHTMLFramesCollection2, IHTMLWindow2, IHTMLFrameBase,
	IHTMLFrameBase2, IHTMLFrameBase3, IHTMLBodyElement,
	IHTMLBodyElement2): Add interfaces.
	(LPHTMLIMAGEELEMENTFACTORY, LPHTMLEVENTOBJ, LPHTMLSCREEN,
	LPHTMLOPTIONELEMENTFACTORY, LPOMHISTORY, LPOMNAVIGATOR): Add
	typedefs.
	* lib/mshtml-uuid.c (IID_IHTMLFrameBase2, IID_IHTMLFrameBase3):
	Add IIDs.
2004-09-06 09:09:33 +00:00
Christopher Faylor dda37cd219 * include/cygwin/version.h: Bump DLL minor number to 12. 2004-09-05 16:08:44 +00:00
Earnie Boyd b73441fc30 * include/w32api.h: Increment version to 3.1.
* Makefile.in: Ditto.
2004-09-05 15:27:56 +00:00