Commit Graph

5310 Commits

Author SHA1 Message Date
Christopher Faylor 0eccec28cc * cygcheck.cc (find_on_path): Perform .exe magic on non-PATH search. 2005-07-19 21:00:34 +00:00
Danny Smith d551c8583e * include/wingdi.h (SYSPAL_NOSTATIC256): Define. 2005-07-19 08:49:06 +00:00
Danny Smith a5a54cb74d * include/wingdi.h (WINGDIAPI): Define to SECLSPEC_DLLIMPORT
if __W32API_USE_DLLIMPORT__.  Use throughout on prototypes.
2005-07-19 08:27:43 +00:00
Danny Smith e6d7923625 * include/commctrl.h (RBBS_USECHEVRON): Define.
(RBBS_*): Use hex notation, group together.
2005-07-19 07:46:23 +00:00
Danny Smith e17dbb54c7 * lib/kernel32.def (GetUserGeoID): Correct suffix.
Thanks to: "bernd23" <bernd23 at users dot sourceforge dot net>
2005-07-18 11:04:51 +00:00
Danny Smith ea4ec94347 * include/commctrl.h (TreeView_SetItemState): Initilise
_tvi.hItem.
	Thanks to Joseph Remes <jremes at users dot sourceforge dot net>
2005-07-18 10:12:49 +00:00
Danny Smith 6c325681e2 Remove 2005-07-08 Dimitri Papadopoulos entry (no file was added). 2005-07-18 09:53:17 +00:00
Danny Smith 45a9824b06 2005-07-18 Mattia Barbon <mbarbon@users.sourceforge.net>
* include/commctrl.h (NMLVFINDITEM): Add structure.
2005-07-18 09:48:08 +00:00
Danny Smith cdfd7f6a49 2005-07-18 Michael Gerdau <mgdde@users.sourceforge.net>
* include/wininet.h (WININET_API_FLAG_*): Add defines.
2005-07-18 09:04:25 +00:00
Danny Smith 90e7ba4fd5 2005-07-18 Daniel Atallah <datallah@users.sourceforge.net>
* include/winnt.h (VER_SET_CONDITION): Define.
2005-07-18 08:52:29 +00:00
Danny Smith 44947f6562 2005-07-18 Michael Gerdau <mgdde@users.sourceforge.net>
* include/wincon.h (AttachConsole): Correct _WIN32_WINNT guard.
	(ATTACH_PARENT_PROCESS): Define.
	(CONSOLE_WINDOWED_MODE): Correct definition to match MSDN
	documentation.
2005-07-18 05:43:22 +00:00
Earnie Boyd 9d3e15bef5 2005-07-17 Benoit Blanchon <bblanchon@users.sourceforge.net>
* include/winbase.h (QueueUserWorkItem): Add prototype.
2005-07-17 18:58:12 +00:00
Christopher Faylor 28f99e38ad . 2005-07-17 02:12:04 +00:00
Christopher Faylor e8454a3400 * child_info.h (child_info::sync): Pass pid and HANDLE rather than using pinfo.
(child_info::child_info): Accept an argument controlling whether to create
proc_subproc.
(child_info_spawn::child_info_spawn): Ditto.
* sigproc.cc (child_info::child_info): Ditto.
(child_info_spawn::child_info_spawn): Ditto.
(child_info::sync): Use passed in pid and HANDLE.
* fork.cc (fork_parent): Reflect additional arguments required for
child_info::sync.
* hookapi.cc (hook_or_detect_cygwin): Rename.  Change so that NULL 'fn'
argument just returns "true", indicating that program uses cygwin1.dll.
* spawn.cc (av::win16_exe): New element.
* spawn.cc (av::iscygwin): New element.
(av::fixup): New function.
(spawn_guts): Protect against SEGV.  Use fixup function to detect when it is
safe to wait for a spawned (as opposed to an execed) program.  Reflect changes
in child_info::sync arguments.
* external.cc (cygwin_internal): Reflect function renaming to
hook_or_detect_cygwin.
* cygheap.cc (cygheap_fixup_in_child): Close handle after debug fixup has been
done to prevent false positives in handle collision.
* exceptions.cc (try_to_debug): Notify debugger if already being debugged.
2005-07-17 00:51:03 +00:00
Christopher Faylor cd929277d6 fix whitespace 2005-07-16 22:01:50 +00:00
Earnie Boyd 46deb14e85 2005-07-13 Benoit Blanchon <bblanchon@users.sourceforge.net>
* include/wingdi.h (SHADEBLENDCAPS, SB_NONE, SB_CONST_ALPHA,
	SB_PIXEL_ALPHA, SB_PREMULT_ALPHA, SB_GRAD_RECT, SB_GRAD_TRI,
	COLORMGMTCAPS, CM_NONE, CM_DEVICE_ICM, CM_GAMMA_RAMP,
	CM_CMYK_COLOR): Define.
2005-07-13 23:16:19 +00:00
Joshua Daniel Franklin 12d53ce6a0 2005-07-10 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* cygwinenv.sgml: Update tty section to mention rxvt and xterm.
	* how-programming.texinfo: Update GPL section of VS FAQ.
	* how-using.texinfo: Expand FAQ about out of date pacakages.
	* setup-net.sgml: Add troubleshooting setup.exe section.
2005-07-10 19:39:31 +00:00
Christopher Faylor f79359a5bc * path.cc (mount): Only check win32_path when we know we need it. 2005-07-09 17:15:38 +00:00
Corinna Vinschen 4cc9a82e3e * cygwin.din (getline): Export.
(getdelim): Export.
	* include/sys/stdio.h (getline): Replace macro with function prototype.
	(getdelim):  Likewise.
	* include/cygwin/version.h: Bump API minor number.
2005-07-09 08:22:39 +00:00
Dimitri Papadopoulos 2413281e13 * include/objsafe.h: New file. 2005-07-08 13:37:31 +00:00
Corinna Vinschen 57d80429b2 * how-using.texinfo: Fix typos. 2005-07-08 08:42:40 +00:00
Corinna Vinschen 2f5de4af55 * cygwin.din (__getline): Export.
(__getdelim): Export.
	* include/sys/stdio.h (getline): Define as __getline.
	(getdelim): Define as __getdelim.
	* include/cygwin/version.h: Bump API minor number.
2005-07-08 08:24:13 +00:00
Christopher Faylor 0c55f6ed60 Eliminate (void) cast on standalone function calls throughout. 2005-07-06 20:05:03 +00:00
Christopher Faylor 27eb5dbc70 * cygcheck.cc (track_down, cygcheck): Return true on success.
(main): Reflect cygcheck failures in exit status.
2005-07-05 21:41:37 +00:00
Christopher Faylor d3b593aa44 * dcrt0.cc (cygwin_exit): Mark as "noreturn".
* sigproc.cc (child_info::ready): Don't signal parent that we are a cygwin
process if we are dynamically loaded.
2005-07-05 20:20:48 +00:00
Christopher Faylor 57000a5d5c * malloc.cc: Update to version 2.8.2. 2005-07-05 15:11:49 +00:00
Corinna Vinschen 4ae72e8c0e * fhandler_tape.cc (fhandler_dev_tape::close): Don't do "extra stuff"
when we know we're execing.
2005-07-05 07:28:52 +00:00
Christopher Faylor 2f9ae2ed94 Change foo (void) to foo () for all c++ functions throughout. Remove all
fhandler_*::dump functions throughout.
* fhandler.h (fhandler_dev_mem::close): Remove pass-through function in favor
of virtual method.
(handler_dev_raw::close): Ditto.
(fhandler_dev_clipboard::fixup_after_exec): New method.
* fhandler_dev_mem.cc (fhandler_dev_mem::close): Eliminate pass through
* fhandler_dev_raw.cc (fhandler_dev_raw::close): Ditto.
* fhandler_clipboard.cc (fhandler_dev_clipboard::close): Don't go to extra
effort when execing.
(fhandler_dev_clipboard::fixup_after_exec): New function.
* fhandler_console.cc (fhandler_console::close): Don't do "extra stuff" when we
know we're execing.
* fhandler_disk_file.cc (fhandler_disk_file::close): Ditto.
* fhandler_dsp.cc (fhandler_dev_dsp::close): Ditto.
* fhandler_fifo.cc (fhandler_fifo.cc::close): Ditto.  function in favor of base
function.
* fhandler_random.cc (fhandler_dev_random::close): Ditto.
* fhandler_registry.cc (fhandler_registry::close): Ditto.
* fhandler_tty.cc (fhandler_tty_slave::close): Ditto.
* fhandler_virtual.cc (fhandler_virtual::close): Ditto.
* pinfo.cc (proc_waiter): Remove unneeded hExeced declaration.
* sigproc.cc: Ditto.
* winsup.h (hExeced): Define here.
* fhandler_virtual.cc (fhandler_virtual::fixup_after_exec): Just call close()
to reinitialize things to known state.
2005-07-05 03:16:46 +00:00
Christopher Faylor 26edeb6a7f * cygtls.h (_cygtls): Perform minor reformatting.
* winsup.h (close_all_files): Reflect argument change.
* dtable.cc (close_all_files): Ditto.
* dtable.h: Ditto.
* fhandler.h: Ditto.
* spawn.cc (spawn_guts): Move close_all_files back to its original location in
first P_OVERLAY test but use argument denoting that handles are only supposed
to be closed, not released (more work to be done here).
* syscalls.cc (close_all_files): Take an argument denoting whether to release
closed files or not.
* path.cc (symlink): Change argument names to reflect linux man page.
(symlink_worker): Ditto.  Also appropriately set ENOENT for empty strings.
2005-07-05 02:05:07 +00:00
Christopher Faylor a64b8b2dec ARGH. Check in previous uncommitted-but-ChangeLog'ed entry. 2005-07-05 02:02:23 +00:00
Corinna Vinschen 0740b418fc * cygheap.h (struct init_cygheap): Delete cygwin_regname member.
* external.cc (cygwin_internal): Use cygpsid::get_id for
	CW_GET_UID_FROM_SID and CW_GET_GID_FROM_SID.
	Turn CW_SET_CYGWIN_REGISTRY_NAME and CW_GET_CYGWIN_REGISTRY_NAME
	into noops.
2005-07-04 08:44:06 +00:00
Christopher Faylor aaa4ee1b89 * thread.cc (pthread_mutex::init): Remove unneeded efault/mutex check. 2005-07-03 04:05:00 +00:00
Christopher Faylor 9d2a12f47a add missing ChangeLog entries 2005-07-03 03:44:56 +00:00
Christopher Faylor 4c157aa9e5 * thread.h (verifyable_object_state verifyable_object_isvalid): Delete function
declaration that should have been static.
* thread.cc (verifyable_object_state verifyable_object_isvalid): Make inline
static.
(pthread*::is_good_object): Move to directly after verifyable_object_state
verifyable_object_isvalid and make inline.
2005-07-03 03:25:19 +00:00
Christopher Faylor 893ac8e03c Replace valid memory checks with new myfault class "exception handling", almost
everywhere.  Leave some thread.cc stuff alone for now.
* cygtls.h: Kludge some definitions to avoid including a problematic windows
header.
(_cygtls::_myfault): New entry.
(_cygtls::_myfault_errno): Ditto.
(_cygtls::fault_guarded): New function.
(_cygtls::setup_fault): Ditto.
(_cygtls::return_from_fault): Ditto.
(_cygtls::clear_fault): Ditto.
(myfault): New class.
* exceptions.cc (handle_exceptions): Handle case of guarded fault in system
routine.
* gendef: Add another entry point for setjmp that the compiler doesn't know
about and won't complain about.
* gentls_offsets: Just include windows.h rather than kludging a HANDLE def.
* miscfuncs.cc (check_null_str): Delete.
(check_null_empty_str): Ditto.
(check_null_empty_str_errno): Ditto.
(check_null_str_errno): Ditto.
(__check_null_invalid_struct): Ditto.
(__check_null_invalid_struct_errno): Ditto.
(__check_invalid_read_ptr): Ditto.
(__check_invalid_read_ptr_errno): Ditto.
(dummytest): New function.
(check_iovec_for_read): Delete.
(chec_iovec): Rename from check_iovec_for_write.  Take a read/write parameter.
* tlsoffsets.h: Regenerate.
* winsup.h: Remove check_* declarations.
(check_iovec_for_read): Delete declaration.  Turn into a define instead.
(check_iovec_for_write): Ditto.
(check_iovec): New declaration.
* thread.h: Use ifdef guard name consistent with other header files.
2005-07-03 02:40:30 +00:00
Christopher Faylor 766bda7133 should have been checked in on 2005-06-29 2005-07-03 02:28:14 +00:00
Christopher Faylor 3513b0478a * include/cygwin/version.h: Bump DLL minor number to 19. 2005-07-03 02:03:58 +00:00
Corinna Vinschen f2abf3173b * fhandler.cc (fhandler_base::readv): Use malloc/free instead of alloca.
(fhandler_base::writev): Ditto.
2005-06-30 17:00:10 +00:00
Christopher Faylor 5b3e1f7358 * cygerrno.h: Make multi-inclusion safe.
* fhandler_termios.cc (fhandler_termios::tcsetpgrp): Deal with EINTR.
* dcrt0.cc (dll_crt0_0): Accommodate init_console_handler argument change.
* winsup.h: Ditto.
* fhandler_tty.cc (fhandler_tty_slave::open): Ditto.
* exceptions.cc (init_console_handler): Ditto.  Ignore console events if we're
not attached to a terminal.
* fhandler_tty.cc (fhandler_tty_slave::open): Ditto.
* wincap.cc: Implement has_null_console_handler_routine throughout.
* wincap.h: Ditto.
2005-06-30 02:52:14 +00:00
Christopher Faylor d573a471af revert erroneous checkin 2005-06-30 02:51:31 +00:00
Christopher Faylor 87e8bd37a0 * autoload.cc (LoadDLLprime): Use a more descriptive name for autoload text
sections.
* cygwin.sc: Ditto.
2005-06-29 23:05:41 +00:00
Corinna Vinschen f1fb564952 * fhandler_disk_file.cc (fhandler_disk_file::facl): Add missing break. 2005-06-27 14:18:13 +00:00
Corinna Vinschen 677ded600c * path.cc (path_conv::check): Don't strip trailing dots and spaces
at the start of the path.
2005-06-24 09:15:05 +00:00
Corinna Vinschen 3b12a57cb6 * fhandler.cc (rootdir): Don't set errno.
* syscalls.cc (statvfs): Set errno to ENOTDIR if rootdir() failed.
2005-06-24 09:12:15 +00:00
Corinna Vinschen d9c1b93d19 * fhandler.h (class fhandler_dev_tape): Add declaration for
fixup_after_fork and set_close_on_exec.
	* fhandler_tape.cc (fhandler_dev_tape::open): Create mt_mtx mutex
	inheritable.
	(fhandler_dev_tape::close): Close mt_mtx.
	(fhandler_dev_tape::dup): Duplicate mt_mtx and mt_evt as necessary.
	(fhandler_dev_tape::fixup_after_fork): New method.
	(fhandler_dev_tape::set_close_on_exec): New method.
2005-06-22 19:59:19 +00:00
Corinna Vinschen 2a770b2a6f * security.cc (get_initgroups_sidlist): Drop special_pgrp parameter.
(get_setgroups_sidlist): Avoid duplicate groups in group list.
	(create_token): Remove special_pgrp local variable.  Accomodate
	change to get_initgroups_sidlist call.
2005-06-21 20:38:05 +00:00
Corinna Vinschen 4adc3db74e * uinfo.cc (uinfo_init): Call reimpersonate to set the main thread's
impersonation token.
2005-06-21 20:09:31 +00:00
Joshua Daniel Franklin 8d5988eff8 * how-using.texinfo: Add FAQ about firewall software. Update
section on mounting and specifically note using managed mounts.
2005-06-21 05:52:25 +00:00
Corinna Vinschen 74041a3a74 * fhandler_proc.cc (format_proc_partitions): Only list recognized
partitions.  Use partition number given by PartitionNumber member.
2005-06-20 19:58:26 +00:00
Christopher Faylor 7b02cb3038 fix indentation 2005-06-20 15:33:50 +00:00
Danny Smith 8c83fb05f1 * include/winldap.h (ldap_simple_bindW, ldap_simple_bind_sW,
ldap_bindW, ldap_bind_sW): Change PCHAR arg to PWCHAR.
	Thanks to: Christian  <chhd at users dot sf dot net>
2005-06-19 07:25:11 +00:00
Corinna Vinschen fa2d9fc528 * glob.c: (glob0): New local variable `limit`. Use in calls to glob1
and globextend.
	(glob1): Add `limit' parameter.
	(glob2): Ditto.
	(glob3): Ditto.
	(globextend): Ditto. Implement GLOB_LIMIT handling.
	* include/glob.h (GLOB_LIMIT): New define.
	* include/cygwin/version.h: Bump API minor number.
2005-06-18 19:04:25 +00:00
Danny Smith dae4a4c93c Correct typo in ChangeLog 2005-06-18 07:53:49 +00:00
Danny Smith ec3b6d6f26 * include/winbase.h (GETTEXTEX): Correct name of lpUsedDefChar field.
Thanks to: Saulius Menkevicius  <bobas at users dot sf dot net>
2005-06-18 07:51:33 +00:00
Danny Smith 00110273cc * include/winbase.h (GolbalDiscard): Define as macro.
Thanks to: David Golub  <david_golub  at users dot sf dot net>
2005-06-18 07:36:02 +00:00
Christopher Faylor 91717fb806 * wincap.h (wincaps::detect_win16_exe): Declare.
(wincapc::detect_win16_exe): Implement.
* wincap.cc: Populate detect_win16_exe where appropriate.
* spawn.cc (spawn_guts): Only go out of the way to detect 16-bit apps on
systems which are flummoxed by them.
2005-06-18 01:36:18 +00:00
Christopher Faylor 2bc6be1eda * spawn.cc (spawn_guts): Detect when executing a 16-bit application and avoid
setting the process pipe since this causes conniptions in Windows 9x.
2005-06-18 01:27:06 +00:00
Corinna Vinschen b3ba5059da * cygwin.din (inet_pton): Export.
(inet_ntop): Export.
	* net.cc (cygwin_inet_pton): Implement inet_pton for AF_INET for now.
	(cygwin_inet_ntop): Implement inet_ntop for AF_INET for now.
	* include/arpa/inet.h (inet_pton): Declare.
	(inet_ntop): Declare.
	* include/cygwin/version.h: Bump API minor number.
2005-06-17 20:01:59 +00:00
Corinna Vinschen 29b111ce59 * fhandler.h (fhandler_union): Add missing members corresponding to
fhandler_fifo and fhandler_netdrive.
2005-06-17 11:44:45 +00:00
Corinna Vinschen ec3b136a64 * syscalls.cc (statvfs): Handle the case when GetDiskFreeSpaceEx
succeeds but GetDiskFreeSpace fails by faking bytes-per-sector and
	sectors-per-cluster values.
2005-06-16 15:46:40 +00:00
Danny Smith 842db59275 * profile/profile.h (_MCOUNT_CALL): Define as regparm(2)
(_MCOUNT_DECL): Use it.
	(MCOUNT): Save and restore eax, ecx, edx registers.
	* profile/mcount.c (_mcount): ANSI-fy.
2005-06-16 12:14:21 +00:00
Danny Smith dcd6cb4308 * include/_mingw.h (__MINGW_GNUC_PREREQ): Define. Use to
guard __MINGW_ATTRIB macro definitions.
	* include/math.h (logb[fl]):  Don't define inlines for
	GCC-4.0+ && __FAST_MATH__.
	(rint[fl], lrint[fl], llrint[fl]); Likewise.  Clean up
	line-continuation backslashes.
2005-06-16 11:41:49 +00:00
Christopher Faylor 7a9b2d82ec add missing entry 2005-06-15 22:51:05 +00:00
Christopher Faylor a9c461626e * cygthread.cc (cygthread::detach): Fix debugging output.
* dcrt0.cc (dll_crt0_1): Create signal_arrived early -- before any filename
manipulation.
* sigproc.cc (sigproc_init): Don't create signal_arrived here.
* fork.cc (fork_child): Ditto.
2005-06-15 22:50:31 +00:00
Christopher Faylor 0fc9cf11f8 * path.cc (path_conv::check): Always reset to FH_FS when component != 0 and
FH_NETDRIVE to fix problems with strict case checking.
2005-06-14 23:52:53 +00:00
Corinna Vinschen d1ce2c4a15 * parse_pe.c (exclusion::sort_and_check): Remove crude cast. 2005-06-14 12:42:57 +00:00
Corinna Vinschen 435227352b * sysv_sem.cc (semu_list): Define static to avoid gcc 4.x compiler
warning.
2005-06-14 12:22:14 +00:00
Corinna Vinschen 3925b4afc4 * fhandler_socket.cc (fhandler_socket::recvmsg): Avoid SEGV in OpenSSH
when trying to pass file descriptor by setting msg->msg_accrightslen
	to 0.
2005-06-12 12:01:09 +00:00
Christopher Faylor 88cbbd450e * Makefile.in: Avoid initial heap allocation since cygwin has its own heap. 2005-06-11 21:00:23 +00:00
Christopher Faylor b945228cb6 * fhandler_console.cc (fhandler_console::read): Fix a compiler warning. 2005-06-11 05:09:25 +00:00
Christopher Faylor 452e5c7297 * winsup.api/pthread/cancel2.c: Use explicit initializer for mutex.
* winsup.api/pthread/mutex4.c (main): Ditto.
* winsup.api/pthread/mutex5.c: Reflect change in cygwin default mutex type.
* winsup.api/pthread/mutex6d.c: Ditto.
2005-06-11 04:59:53 +00:00
Christopher Faylor 8556456790 * include/pthread.h: Change PTHREAD_MUTEX_DEFAULT to PTHREAD_MUTEX_NORMAL.
Revert PTHREAD_MUTEX_INITIALIZER to PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
since that is actually closer to what linux does.
* thread.h (cw_cancel_action): New enum.
(cancelable_wait): Use cw_cancel_action as third argument.
* thread.cc (cancelable_wait): Ditto.  Don't wait for cancel if cancel_action
== cw_no_cancel.
(pthread::create): Don't wait for cancel event since that is racy.
(pthread_mutex::pthread_mutex): Set default to PTHREAD_MUTEX_ERRORCHECK.
(pthread_mutexattr::pthread_mutexattr): Ditto.
(pthread_mutex::_lock): Tell cancelable_wait not to wait for cancellation
event.
(semaphore::_timedwait): Accommodate change in cancelable_wait args.
(pthread::join): Ditto.
2005-06-11 04:56:36 +00:00
Corinna Vinschen b4177338e1 * fhandler_socket.cc (fhandler_socket::sendto): Always initialize
ret to 0.
	(fhandler_socket::sendmsg): Ditto.
2005-06-10 21:47:24 +00:00
Christopher Faylor 6700d99e7e * winsup.api/winsup.exp: Remove (temporarily?) -nostdinc from build since it
causes compile failures with gcc 3.4.4.
2005-06-10 19:32:29 +00:00
Christopher Faylor eb83d89572 whitespace changes to hopefully force snapshot run. 2005-06-10 18:44:26 +00:00
Corinna Vinschen 5680109cf6 * cygwin.din (imaxabs): Export.
(imaxdiv): Export.
	(llabs): Export.
	(lldiv): Export.
	(strtoimax): Export.
	(strtoumax): Export.
	* include/inttypes.h (imaxabs): Activate declaration.
	(imaxdiv): Ditto.
	(strtoimax): Ditto.
	(strtoumax): Ditto.
	* include/cygwin/version.h: Bump API minor.
2005-06-10 12:11:35 +00:00
Christopher Faylor 1b96f7da45 * cygthread.cc (cygthread::detach): Improve diagnostics for what should be an
impossible failure condition.
2005-06-09 23:48:08 +00:00
Christopher Faylor 9a91777205 * cygtls.h (_local_storage::setmode_file): New element.
(_local_storage::setmode_mode): New element.
* tlsoffsets.h: Regenerate.
* cygwin.din (setmode): Define as cygwin_getmode.
* syscalls.cc (setmode_helper): Use setmode_* variables from tls rather than
using unthreadsafe static.
(setmode): Break out fwalk stuff.
(cygwin_setmode): New function.  Put fwalk stdio stuff here.
2005-06-09 22:33:57 +00:00
Christopher Faylor fa0dcd0d65 * thread.cc (pthread_mutex::_lock): Use cancelable_wait rather than
WaitForSingleObject.
2005-06-09 20:59:59 +00:00
Christopher Faylor 85cd5c3d57 * cygwin.sc: Place .cygwin_dll_common in a more sensible spot. 2005-06-09 20:46:00 +00:00
Christopher Faylor 0acb042081 * cygwin.sc: Place .cygwin_dll_common.
* init.cc (threadfunc_ix): Use a more common name for the section name.
2005-06-09 19:29:27 +00:00
Christopher Faylor 8891625cbf * include/pthread.h (PTHREAD_MUEXT_INITIALIZER): Change to
PTHREAD_NORMAL_MUTEX_INITIALIZER_NP to be closer to linux default.
2005-06-09 15:30:44 +00:00
Christopher Faylor abf60784be * thread.cc (cancelable_wait): No-op change to make sure that res is always a
valid WFMO return.
2005-06-09 05:14:02 +00:00
Christopher Faylor ed364fa9fb Change pthread::cancelable_wait to just cancelable_wait, throughout.
* thread.h (cw_sig_wait): New enum.
(fast_mutex::lock): Use cancelable_wait with resumable signal.
(cancelable_wait): Change fourth argument to cw_sig_wait enum.
* thread.cc (cancelable_wait): Ditto.  Loop on signal detection if fourth
argument == cw_sig_resume.
2005-06-09 05:11:51 +00:00
Christopher Faylor a63c42932e * cygwin.sc: Apparently nonloading sections need to go last. 2005-06-08 20:56:34 +00:00
Christopher Faylor ad96f0997b * cygwin.sc: Restore resource and reloc sections and use more modern syntax for
stabs sections.
2005-06-08 20:18:23 +00:00
Christopher Faylor 7273344558 * environ.cc (spenvs): Remove cut/paste error which associated CYGWIN_DEBUG
with HOME.
2005-06-08 15:42:58 +00:00
Corinna Vinschen ce132d0ffd * security.cc (cygwin_logon_user): Run LogonUser in the primary
process token context.  Fix potential handle leak.
2005-06-08 10:06:17 +00:00
Corinna Vinschen 7311cc1f0c * pinfo.cc (pinfo::init): Define sa_buf as PSECURITY_ATTRIBUTES and
allocate dynamically.
	(pinfo::set_acl): Replace sa_buf by dynamically allocated acl_buf.
	* sec_acl.cc (setacl): Allocate acl dynamically.
	* sec_helper.cc (sec_acl): Add test for alignment of acl when
	DEBUGGING is defined.
	(__sec_user): Same for sa_buf.
	* security.cc (verify_token): Define sd_buf as PSECURITY_DESCRIPTOR
	and allocate dynamically.
	(alloc_sd): Allocate acl dynamically.
	security.h (sec_user_nih): Change first parameter to
	SECURITY_ATTRIBUTES *.
	(sec_user): Ditto.
	* sigproc.cc (wait_sig): Define sa_buf as PSECURITY_ATTRIBUTES and
	allocate dynamically.
	* syscalls.cc (seteuid32): Define dacl_buf as PACL and allocate
	dynamically.
	* uinfo.cc (cygheap_user::init): Define sa_buf as PSECURITY_ATTRIBUTES
	and allocate dynamically.
	* winbase.h (ilockincr): Mark first argument of inline assembly as
	earlyclobber.
	(ilockdecr): Ditto.
2005-06-07 19:31:42 +00:00
Christopher Faylor b739751db9 * cygthread.cc (cygthread::detach): Make error message a little more detailed.
* fhandler.cc (fhandler_base::raw_read): Ditto for debug message.
* dcrt0.cc (do_exit): Add some more synchronization tests.
* fhandler_fifo.cc (fhandler_fifo::dup): Don't duplicate a nonexistent handle.
Use derived return value rather than always retuning 0.
* fhandler_netdrive.cc (fhandler_netdrive::exists): Wnet -> WNet.
* winsup.h (exit_states): Add a couple of new exit states.
2005-06-07 18:41:31 +00:00
Christopher Faylor 2af5aa67e2 * cygload/cygload.exp: .cpp -> .cc. 2005-06-06 21:28:22 +00:00
Christopher Faylor bd3b6ab4ee * Makefile.in: Test cygload.
* cygload: New directory.
* cygload/README: New file.
* cygload/Makefile: Ditto.
* cygload/cygload.h: Ditto.
* cygload/cygload.cc: Ditto.
* cygload/cygload.exp: Ditto.
2005-06-06 21:13:31 +00:00
Christopher Faylor 405e757cf9 reformat ChangeLog entry slightly. 2005-06-06 21:12:00 +00:00
Corinna Vinschen 7a70dda0b8 * path.cc (symlink_info::check): If GetFileAttributes returns
with ERROR_SHARING_VIOLATION, the file exists.
2005-06-06 16:58:39 +00:00
Corinna Vinschen 34667bbd39 * uname.cc (uname): Change "amd64" to "x86_64" as on Linux. 2005-06-06 16:17:10 +00:00
Corinna Vinschen 15a95a8ca6 * uname.cc (uname): Add missing break. 2005-06-06 15:58:08 +00:00
Danny Smith c94aabb8c6 * include/_mingw.h (__MINGW_ATTRIBUTE_NONNULL): Fix typo
in GNUC version guard.
2005-06-06 08:21:53 +00:00
Christopher Faylor 6eb501439a * Makefile.in: Build sync.o with -fomit-frame-pointer and -O3. 2005-06-05 04:15:16 +00:00
Christopher Faylor 61496ed680 * sync.cc (muto::acquire): Remove unneeded brackets and fix whitespace. 2005-06-05 04:07:46 +00:00
Christopher Faylor c1e1d36141 * malloc.cc: Update to Doug Lea's malloc v2.8.0. 2005-06-05 03:47:36 +00:00
Joshua Daniel Franklin bbe982c5cc Slight rearragement 2005-06-05 02:16:07 +00:00
Christopher Faylor 909df7cbb4 * how-programming.texinfo: Add "How do I load cygwin1.dll dynamically from a
Visual Studio or MinGW application?"
2005-06-04 02:14:13 +00:00
Christopher Faylor 6e780c8bf5 * dcrt0.cc (cygwin_dll_init): Now initializes main_environ and cygtls. Comment
to explain the caveats of this method.
* how-cygtls-works.txt: New file.
2005-06-04 02:11:50 +00:00
Christopher Faylor d8a68f645a * dlfcn.cc (get_full_path_of_dll): Use a relative path when converting so that
the standard Windows rules for finding a library will be used if no path is
given.  Stop explicitly searching /usr/bin since that is now in effect.
2005-06-03 01:07:40 +00:00
Christopher Faylor f9fb1149d5 Revert 2005-05-30 close_all_files changes.
* spawn.cc (spawn_guts): When execing, close all files after the child has
synced with us.
2005-06-02 02:36:50 +00:00
Christopher Faylor 5ac6edefaf * fhandler_disk_file.cc (fhandler_disk_file::fchown): Make sure that disk open
is called in case we're passed in a non-existent device.
2005-06-02 01:50:23 +00:00
Christopher Faylor 31d0f220ad * include/machine/stdlib.h: New file. 2005-06-01 18:24:31 +00:00
Christopher Faylor 19adafdc21 * thread.h (List_remove): Revert most of 2005-05-30 change. 2005-06-01 14:55:45 +00:00
Christopher Faylor 8d05cca34b * cygwin.sc: Don't output .reloc or .rsrc sections. Clean up stuff around
.cygheap and use a workaround to get things working with newer
(broken?) binutils.
2005-06-01 04:42:44 +00:00
Christopher Faylor 5d4a672193 * cygheap.cc (cygheap_end): Remove bogus section attribute.
* cygwin.sc: Make __cygheap_mid absolute.  Remove unused _cygheap_foo.
2005-06-01 04:00:40 +00:00
Christopher Faylor ce95c6407e * child_info.h (child_info::cygheap_h): Delete.
(child_info::dwProcessId): New field.
* cygheap.cc (init_cheap): Delete.
(dup_now): Ditto.
(cygheap_setup_for_child): Ditto.
(cygheap_setup_for_child_cleanup): Ditto.
(cygheap_fixup_in_child): Simplify.  Use new "child_copy" function to copy heap
from parent.
(_csbrk): Don't attempt allocation if within cygheap section.  Fix so that more
than one allocation will succeed.
(cygheap_init): Reset possibly-nonzero region to zero.
* cygheap.h (cygheap_setup_for_child): Delete declaration.
(cygheap_setup_for_child_cleanup): Ditto.
(cygheap_start): Define as an array.
* cygwin.sc: Modernize.  Remove unneeded sections.  Define cygheap here.
* dcrt0.cc (do_exit): Reflect argument change to close_all_files.
* dtable.cc (dtable::vfork_parent_restore): Ditto.
* dtable.h: Ditto.
* fhandler.h: Ditto.
* fork.cc (fork_copy): Call ReadProcessMemory if there is no thread
(indicating that we're execing).
(fork_child): Don't mess with hParent.
(fork_parent): Remove hParent stuff.  It happens earlier now.  Remove call to
cygheap_setup_for_child* stuff.
(fork): Put child_info_stuff in grouped structure.  Issue error if parent
handle is not set.
(child_copy): New function.
* sigproc.cc (child_info::child_info): Put cygheap settings here.  Set parent
handle.
(child_info::~child_info): Close parent handle if it exists.
* spawn.cc (spawn_guts): Reorganize so that ciresrv is allocated at only the
last minute so that cygheap changes are reflected.  Delete cygheap_setup*
calls.
* syscalls.cc (close_all_files): Add an argument to flag when the fd entry
should be released.
* winsup.h (close_all_files): Add an argument to close_all_files declaration.
Declare child_copy.
2005-06-01 03:46:56 +00:00
Christopher Faylor 9885498829 * thread.h (List_remove): Make node parameter const. Use simple comparison and
assignment rather than InterlockedCompareExchangePointer since access is
already synchronized.
2005-05-30 18:37:41 +00:00
Christopher Faylor ac5e21b028 * dlfcn.cc (set_dl_error): Use UNIX error rather than Windows error. 2005-05-30 18:20:28 +00:00
Corinna Vinschen 26797de314 * cygcheck.cc (dump_sysinfo): Recognize XP Media Center and Tablet PC
Editions. Change .NET to 2003 throughout.  Recognize 2003 Web Server
	and Datacenter Server. Report when running in terminal server session.
2005-05-30 15:49:31 +00:00
Christopher Faylor 44055eca0b * cygmagic: Remove debugging cruft missed on 2005-05-21. 2005-05-30 00:54:01 +00:00
Corinna Vinschen 7897d3fd88 * path.cc (path_conv::check): Move component to function scope. Set
PATH_RO only on *real* FH_NETDRIVEs or on non-FH_NETDRIVE virtual
	paths. Allow non-retrievable shares to be handled as files.
2005-05-29 11:04:02 +00:00
Corinna Vinschen f330e7b8e8 * include/limits.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Always define. 2005-05-29 10:05:56 +00:00
Christopher Faylor 65a7ca7b7b * thread.h (pthread_key::set): Inline.
(pthread_key::get): Ditto.
* thread.cc (pthread::set): Delete.
(pthread::get): Ditto.
2005-05-29 02:42:36 +00:00
Christopher Faylor 37b01058e7 * cygwin.din: Remove signal front end from pthread_[gs]etspecific. 2005-05-29 02:26:29 +00:00
Christopher Faylor 5c0a13d486 * fhandler_tty.cc (fhandler_tty_slave:tcflush): Use signed comparison. 2005-05-29 00:05:49 +00:00
Christopher Faylor 03bb8acaa7 * times.cc (time_ms::usecs): Coerce comparison to signed or whole test is a
no-op.
2005-05-28 21:31:17 +00:00
Joshua Daniel Franklin 73162dcdd0 * how-using.texinfo : Update the mkdir -p section 2005-05-28 20:35:58 +00:00
Christopher Faylor e1e5d196d2 white space 2005-05-27 18:42:03 +00:00
Christopher Faylor 1bbf1ac6a5 * cygheap.h: Reference _cygheap_start via .cygheap section.
* environ.cc: Fix force_into_environment typo throughout.
(spenvs): Export CYGWIN_DEBUG if DEBUGGING.
2005-05-27 18:26:19 +00:00
Christopher Faylor cba3b11fc5 * cygcheck.cc (load_cygwin): Make half-hearted attempt to work with older DLLs.
* strace.cc (load_cygwin): Ditto.
2005-05-27 15:45:53 +00:00
Christopher Faylor 720c77ee72 * include/cygwin/version.h: Bump DLL minor number to 18. 2005-05-26 18:19:26 +00:00
Corinna Vinschen 181c20f1ac * ChangeLog: Remove accidentally checked in entry. 2005-05-25 08:41:28 +00:00
Christopher Faylor 125b724dd8 * fhandler.h (fhandler_base::mkdir): New virtual method.
(fhandler_base::rmdir): Ditto.
(fhandler_disk_file:mkdir): New method.
(fhandler_disk_file:rmdir): Ditto.
* dir.cc (mkdir): Implement with fhandlers.
(rmdir): Ditto.
* fhandler.cc (fhandler_base::mkdir): New virtual method.
(fhandler_base::rmdir): Ditto.
(fhandler_disk_file::mkdir): New method.
(fhandler_disk_file::rmdir): Ditto.

fhandler_random.cc: white space.
2005-05-25 04:32:59 +00:00
Christopher Faylor 2a41ee9e0c * include/cygwin/version.h: Bump API minor number to 129. 2005-05-25 03:46:10 +00:00
Christopher Faylor 5c288d4342 Add top comment 2005-05-25 03:43:58 +00:00
Christopher Faylor cb3f5f0862 * cygwin.din: Export mkdtemp.
* mktemp.cc: New file.
* Makefile.in (DLL_OFILES): Add mktemp.o
2005-05-25 03:40:07 +00:00
Corinna Vinschen e0242a025a * include/stdint.h (INTMAX_C, UINTMAX_C): Fix definition. 2005-05-23 13:13:00 +00:00
Corinna Vinschen 827cff7fe2 * cygcheck.cc (dump_sysinfo_services): Add new function that uses
new cygrunsrv options to dump service info.
	(dump_sysinfo): Call dump_sysinfo_services if running under NT.
	Change 'Cygnus' to 'Cygwin' in output.
2005-05-23 09:54:44 +00:00
Christopher Faylor f82ca06eda * spawn.cc (find_exec): Accept a PATH-like string in place of an environment
variable.
* dlfcn.cc (get_full_path_of_dll): Search /usr/bin (for windows compatibility)
and /usr/lib (for UNIX compatibility) when looking for shared libraries.
* environ.cc (conv_envvars): Put back LD_LIBRARY_PATH since it is used by
get_full_path_of_dll().
* errno.cc (errmap): Map MOD_NOT_FOUND to ENOENT.
* cygmagic: Remove debugging cruft.
2005-05-22 03:54:29 +00:00
Christopher Faylor f609f58d32 * cygcheck.cc (load_cygwin): Remove debugging statement. 2005-05-20 16:50:39 +00:00
Christopher Faylor ceb7fa1c4a * cygcheck.cc (dump_sysinfo): Don't attempt to use path if it is not set.
(nuke): Fix off by one error in allocation of environment variable.
(load_cygwin): Always set PATH even if cygwin environment is empty.
2005-05-20 16:38:42 +00:00
Danny Smith 45e3403e7b * crt1.c (_gnu_exception_handler): Handle illegal instruction
OS exception as a signal if user has defined a SIGILL handler.
2005-05-19 22:44:13 +00:00
Corinna Vinschen 89e5f7f81e * include/cygwin/in.h: Add comment. 2005-05-19 21:22:37 +00:00
Corinna Vinschen 58065cb805 * include/cygwin/in.h: Define IPPROTO_xxx values as macros to
accomodate SUSv3.
2005-05-19 21:18:17 +00:00
Christopher Faylor 8c509c0a11 fix comment 2005-05-19 20:37:51 +00:00
Christopher Faylor d63279febe fix comment 2005-05-19 20:34:42 +00:00
Christopher Faylor 776b73dd33 * include/limits.h: Include features.h, as on linux. 2005-05-19 19:45:28 +00:00
Christopher Faylor 071f64d934 * include/endian.h: New file. 2005-05-19 19:44:31 +00:00
Corinna Vinschen 424946e8ab * cygwin.sc: Add Dwarf-2 debug sections. 2005-05-19 17:04:28 +00:00
Corinna Vinschen 989ea1c99e * mmap.cc (mmap64): Make granularity an automatic variable. 2005-05-19 08:43:17 +00:00
Christopher Faylor 969d6089ce * fhandler.h (fhandler_cygdrive::seekdir): Delete declaration.
(fhandler_cygdrive::seekdir): Delete.
* fhandler.h (fhandler_cygdrive::iscygdrive_root): Delete method.
(fhandler_cygdrive::telldir): Delete declaration.
* fhandler_disk_file.cc: Remove all uses of fhandler_cygdrive::iscygdrive_root.
(fhandler_disk_file::mkdir): New method.
(fhandler_disk_file::rmdir): Ditto.
(fhandler_cygdrive::telldir): Delete.
2005-05-19 05:43:55 +00:00
Christopher Faylor ac437c3e0c * external.cc: Move pids declaration to file scope and use less enthusiastic
constructor.
* pinfo.h (winpids::winpids): Remove default setting.
* fhandler_fifo.cc (fhandler_fifo::open_not_mine): Accommodate removal of
default setting.
* fhandler_proc.cc (fhandler_proc::readdir): Ditto.
2005-05-19 01:25:20 +00:00
Christopher Faylor 24515d6563 * cygtls.h (_local_storage::unknown_thread_name): New buffer.
* tlsoffsets.h: Regenerate.
* cygthread.cc (cygthread::name): Use new thread-local buffer.
* exceptions.cc (handle_exceptions): Avoid unnecessary initialization of static
variables to zero.
* fork.cc (slow_pid_reuse) Ditto.
2005-05-18 23:30:02 +00:00
Corinna Vinschen 692fccabfb * mmap.cc (mmap64): Avoid compiler warning.
* ntea.cc (NTReadEA): Ditto.
	* hires.h (hires_base): Remove useless usecs function.
2005-05-18 17:23:17 +00:00
Brian Dessent 022e11fb49 2005-05-18 Brian Dessent <brian@dessent.net>
* install.texinfo ("How do I uninstall..."): Rewrite to cover
	removing services, dealing with permissions, and other common
	tasks for removing Cygwin completely.
2005-05-18 11:56:27 +00:00
Corinna Vinschen 49cc728adc * fhandler_netdrive.cc (fhandler_netdrive::telldir): Remove since it's
equivalent to fhandler_virtual::telldir now anyway.
	* fhandler.h (class fhandler_netdrive): Remove telldir.
2005-05-18 10:32:37 +00:00
Corinna Vinschen bffaf54d76 * fhandler_netdrive.cc (fhandler_netdrive::telldir): Implement.
(fhandler_netdrive::seekdir): Implement.
	(fhandler_netdrive::closedir): Call rewinddir to have only one point
	of calling WNetCloseEnum.
2005-05-18 10:23:40 +00:00
Brian Dessent 7f21d805a3 2005-05-17 Brian Dessent <brian@dessent.net>
* winsup.api/signal-into-win32-api.c (main): Use 'NULL' instead of '0'
	in argument list to avoid compiler warning with gcc4.
	* winsup.api/ltp/execle01.c (main): Ditto.
	* winsup.api/ltp/execlp01.c (main): Ditto.
	* winsup.api/ltp/fcntl07.c (do_exec): Ditto.
	* winsup.api/ltp/fcntl07B.c (do_exec): Ditto.
2005-05-18 01:10:06 +00:00
Corinna Vinschen 5b59a2cc0d * fhandler.h (class fhandler_netdrive): Add method rewinddir.
* fhandler_netdrive.cc (struct netdriveinf): New structure to
	store thread arguments.
	(thread_netdrive): Thread handling all potentially blocking
	WNet... calls.
	(create_thread_and_wait): Start and wait for above thread.
	(fhandler_netdrive::exists): Change to call create_thread_and_wait
	instead of calling WNet... function.
	(fhandler_netdrive::readdir): Ditto.  Fix error handling.
	(fhandler_netdrive::rewinddir): New method.
2005-05-17 20:34:15 +00:00
Corinna Vinschen 0d5ba26ccd * external.cc (cygwin_internal): Avoid compiler warning. 2005-05-17 08:46:41 +00:00
Christopher Faylor dce0c241ef white space 2005-05-17 01:29:27 +00:00
Christopher Faylor 4f7544bc97 * dcrt0.cc (dll_crt0_0): Don't do fixup_after_exec if dynamically loaded since
the state of fds is unknown at this point.
2005-05-17 01:27:31 +00:00
Christopher Faylor ac674bc896 * cygcheck.cc (cygwin_internal): Define as a "C" function.
* strace.cc (cygwin_internal): Ditto.
* cygpath.cc (print_version): Update copyright.
2005-05-17 01:26:16 +00:00
Christopher Faylor 5c8e6fbd8c * include/sys/cygwin.h (enum cygwin_getinfo_types): Add CW_DEBUG_SELF.
* external.cc (cygwin_internal): Implement CW_DEBUG_SELF.
* init.cc (dll_entry): Minor rearrangement of code.
2005-05-17 01:21:06 +00:00
Christopher Faylor b55ba2f3da * path.cc (path_conv::check): Remove embedded dots before slashes. 2005-05-17 01:08:58 +00:00
Corinna Vinschen 451c738bef * environ.cc (conv_envvars): Remove LD_LIBRARY_PATH entirely.
It doesn't belong here.
2005-05-16 15:48:36 +00:00
Christopher Faylor 41dcb6199c * cygcheck.cc (load_cygwin): Avoid calling putenv with a NULL path. 2005-05-16 03:18:29 +00:00
Corinna Vinschen 90253b8276 * cygcheck.cc (load_cygwin): Don't touch $PATH for now.
(print_version): Fix copyright.
	* strace.cc (print_version): Ditto.
2005-05-15 12:29:47 +00:00
Corinna Vinschen 1f7b9e8bc6 * environ.cc (conv_envvars): Treat LD_LIBRARY_PATH as path list. 2005-05-15 12:04:13 +00:00
Corinna Vinschen dad546a5eb * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Check
return code from GetFileSize and set file size to 0 if necessary.
	* fhandler_netdrive.cc (fhandler_netdrive::fstat): Set permissions
	to read/execute for all.
2005-05-14 21:12:10 +00:00
Christopher Faylor 84778b9d8c really fix typo. 2005-05-13 22:40:19 +00:00
Christopher Faylor 9156326733 fix typo 2005-05-13 22:09:32 +00:00
Christopher Faylor 17e5c6a8f0 * path.cc (normalize_posix_path): Do normalization on . and .. after a '//'. 2005-05-13 21:05:46 +00:00
Corinna Vinschen 1402b12a09 Add missing ChangeLog entry. 2005-05-13 21:01:32 +00:00
Corinna Vinschen 50361e07d1 * fhandler.h (fhandler_netdrive::readdir): Remove useless comment. 2005-05-13 20:29:31 +00:00
Corinna Vinschen b4d72bae47 * include/winnetwk.h (WNetGetResourceParentA): Add missing declaration.
(WNetGetResourceParentW): Ditto.
	* include/ddk/ntifs.h (FILE_ID_FULL_DIRECTORY_INFORMATION): Define.
2005-05-13 20:28:00 +00:00
Christopher Faylor 180cd17fa1 * mount.cc (mount_commands): Display "-X" option when appropriate. 2005-05-13 20:24:20 +00:00
Corinna Vinschen e01eac68ed * autoload.cc (WNetGetResourceParentA): Import.
(WNetOpenEnumA): Import.
	(WNetEnumResourceA): Import.
	(WNetCloseEnum): Import.
	* fhandler.h (fhandler_netdrive::telldir): Add declaration.
	(fhandler_netdrive::seekdir): Ditto.
	(fhandler_netdrive::closedir): Ditto.
	* fhandler_netdrive.cc: Drop explicit including windows.h.  Include
	winnetwk.h instead of shlwapi.h.  Include dirent.h.
	(fhandler_netdrive::readdir): Implement.
	(fhandler_netdrive::telldir): New method.
	(fhandler_netdrive::seekdir): New method.
	(fhandler_netdrive::closedir): Ditto.
2005-05-13 20:20:02 +00:00
Christopher Faylor 063f1df2aa Remove PC_FULL from path_conv usage throughout.
* path.h (enum pathconv_arg): Change PC_FULL to PC_NOUILL.
* path.cc (path_conv::check): Test for PC_NOFULL rather than !PC_FULL.
(cygwin_conv_to_win32_path): Use PC_NOFULL to force non-absolute path.
2005-05-13 15:46:07 +00:00
Christopher Faylor eb6cd95fec * fhandler_netdrive.cc (fhandler_netdrive::exists): Assert that "//" exists. 2005-05-13 13:23:38 +00:00
Christopher Faylor 66582dd6e7 * cygtls.cc (_cygtls::remove): Eliminate compiler warning.
* dir.cc (mkdir): Check path for writability.
(rmdir): Ditto.  Remove check for special directories.
* path.cc (path_conv::check): Set PATH_RO for virtual devices.  Set error if
read-only and asked for writability.
* path.h (pathconv_arg): Add PC_WRITABLE.
(path_types): Add PATH_RO.
(path_conv::isro): Add (currently unused) check for read-only filesystem.
Return "ENOSHARE" when we know a share doesn't exist.
* include/sys/mount.h: Add MOUNT_RO flag.
* autoload.cc (WNetGetResourceInformationA): Import.
* fhandler_netdrive.cc (fhandler_netdrive::exists): Detect actual existence of
remote system rather than always assuming that it exists.
2005-05-13 03:21:39 +00:00
Christopher Faylor 3ac78fd612 * dcrt0.cc (do_global_dtors): Don't call dll_global_dtors here.
(__main): Reinstate atexit of do_global_dtors.
(cygwin_exit): Call dll_global_dtors here.
(do_exit): And here.
2005-05-11 21:53:54 +00:00
Christopher Faylor 8ad65ff049 * cygtls.cc (_cygtls::remove): Clear exitsock after close.
* fhandler_console.cc (fhandler_console::write_normal): Store character in a
local variable for potential future inspection.
2005-05-11 03:33:38 +00:00
Corinna Vinschen 13505ca8fc * Makefile.in (DLL_OFILES): Add fhandler_mailslot.o.
* devices.h (FH_KMSG): Define new device.
	* devices.in: Add "/dev/kmsg" entry.
	* devices.cc: Regenerate.
	* dtable.cc (build_fh_pc): Handle case FH_KMSG.
	* fhandler.h (class fhandler_mailslot): New class.
	(class select_stuff): Add device_specific_mailslot pointer.
	* fhandler_mailslot.cc: New file.
	* select.cc (peek_mailslot): New function.
	(verify_mailslot): Ditto.
	(struct mailslotinf): New stuct to handle select on mailslots.
	(thread_mailslot): New function.
	(start_thread_mailslot): Ditto.
	(mailslot_cleanup): Ditto.
	(fhandler_mailslot::select_read): New method.
	* syslog.cc (klog_guard): New muto.
	(dev_kmsg): Local mailslot for kernel message device.
	(vklog): New function.
	(klog): Ditto.
	* winsup.h (vklog): Declare.
	(klog): Ditto.
	* include/sys/syslog.h: Define _PATH_KLOG.
2005-05-10 20:56:07 +00:00
Christopher Faylor a586e5b6ae * dcrt0.cc (dll_crt0_1): Call cygwin_exit to ensure that destructors are
handled correctly.
2005-05-10 16:08:46 +00:00
Corinna Vinschen 94fed6a1f3 * path.cc (path_conv::check): Set correct file attributes for socket
files.
2005-05-10 09:08:20 +00:00
Danny Smith 96c837f0ca * mingwex/math/nexttoward.c: New file.
* mingwex/math/nexttowardf.c: New file.
	* mingwex/math/nextafterl.c: Add nexttowardl aliaa.
	* mingwex/Makefile.in (MATH_DISTFILES): Add nexttoward.c,
	mexttowardf.c,
	(MATH_OBJS):  Add nexttoward.o,	mexttowardf.o,
	* include/math.h (nexttoward, nextowardf, nexttowardl): Add
	prototypes.
2005-05-10 08:39:07 +00:00
Danny Smith 5b91f0a6ef * mingwex/math/nextafterf.c (nextafterf): Correct
handling of -0.0.
	* mingwex/math/nextafterl.c: New file.
	* mingwex/Makefile.in (MATH_DISTFILES): Add nextafterl.c.
	(MATH_OBJS): Add nextafterl.o.
	* include/math.h (nextafterl): Uncomment prototype.
2005-05-09 09:36:10 +00:00
Pierre Humblet adef8db0ae 2005-05-09 Pierre Humblet <pierre.humblet@ieee.org>
* fhandler.h (class fhandler_netdrive): New class.
        * fhandler_netdrive.cc (fhandler_netdrive::fhandler_netdrive): New constructor.
        (fhandler_netdrive::exists): New method.
        (fhandler_netdrive::fstat): Ditto.
        (fhandler_netdrive::readdir): Ditto.
        (fhandler_netdrive::open): Ditto.
        * dtable.cc (build_fh_pc): Handle case FH_NETDRIVE.
        * path.cc (isvirtual_dev): Add FH_NETDRIVE.
        (mount_info::conv_to_win32_path): Detect netdrive device and bypass mount
        search for network paths.
2005-05-09 02:39:34 +00:00
Christopher Faylor f991d0e53e * cygcheck.cc (nuke): New function.
(load_cygwin): New function.
(main): Use load_cygwin to load argv/envp from cygwin environment, if
appropriate.
2005-05-09 01:56:34 +00:00
Christopher Faylor 26c07f704b * strace.cc (attach_process): Don't call load_cygwin(). Assume that it's
already happened.
(dotoggle): Ditto.
(main): Set argv from cygwin environment, if it exists.
2005-05-09 01:21:43 +00:00
Christopher Faylor 1cd8ccec87 * dcrt0.cc (get_cygwin_startup_info): New function pulled from dll_crt0_0.
(dll_crt0_0): Use get_cygwin_startup_info to retrieve cygwin-specific startup
pointer.
* external.cc (cygwin_internal): Implement CW_ARGV and CW_ENVP.
* include/sys/cygwin.h: Implement CW_ARGV and CW_ENVP.
2005-05-09 01:19:38 +00:00
Joshua Daniel Franklin 61931ed5dc * how-programming.texinfo: Replace MAKE_MODE entry with FAQ about execvp errors and cygexec. 2005-05-08 19:43:35 +00:00
Danny Smith 02626f616d * mingwex/math/erfl.c: New file.
* mingwex/Makefile.i (MATH_DISTFILES): Add erfl.c.
	(MATH_OBJS): Add erfl.o.
	* include/math.h (erfl, erfcl): Uncomment prototypes.
2005-05-08 08:07:18 +00:00
Christopher Faylor 3f6494e216 * path.cc (normalize_posix_path): Don't treat '//' specially since newer
versions of bash now get this right.
2005-05-07 21:06:08 +00:00
Christopher Faylor bbb3381289 * devices.cc: Regenerate with correct name for dev_netdrive_storage. 2005-05-07 20:20:51 +00:00
Christopher Faylor bcd1a9b6d1 move comment 2005-05-06 21:09:58 +00:00
Christopher Faylor e73f487b3c fix breakpoint example 2005-05-06 21:09:35 +00:00
Christopher Faylor 8cdcc8803a * Makefile.in (DLL_O_FILES): Add fhandler_netdrive.o.
* fhandler_netdrive.cc: Placeholder file for future development.
* devices.h (FH_NETDRIVE): Define new virtual device type.
(netdrive_dev): Define.
* devices.in (dev_netdrive_storage): Define.
* devices.cc: Regenerate.
2005-05-06 04:06:17 +00:00
Corinna Vinschen 56f235345d * cygerrno.h (__set_errno): Remove useless parentheses. 2005-05-04 11:05:11 +00:00
Corinna Vinschen 5d4750a996 * cygerrno.h (__set_errno): Define as inline function here.
(set_errno): Always define as call to __set_errno.
	* debug.cc (__set_errno): Move to cygerrno.h.
2005-05-04 11:00:22 +00:00
Danny Smith f3b0036304 * include/wchar.h (WCHAR_MAX): Define as 0xffff, so preprocessor
#if (WCHAR_MAX <= WCHAR_MIN) is false.
	* include/stdint.h (WCHAR_MAX): Likwise.
	(WINT_MAX): Likewise.
2005-05-04 09:29:09 +00:00
Christopher Faylor 530d0e0191 * shared.cc (user_shared_initialize): Rework locking so that nothing is checked
until cb is non-zero.
2005-05-04 01:20:05 +00:00
Christopher Faylor 782e53ca69 * shared.cc (user_shared_initialize): Rework locking so that nothing is checked
until cb is non-zero.
2005-05-04 01:14:47 +00:00
Corinna Vinschen 21b9fe3e33 * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Don't treat
inability to open file as failure if only SetFileAttributes is
	going to be called.  Only call set_file_attribute if really necessary.
2005-05-03 19:03:20 +00:00