Commit Graph

9604 Commits

Author SHA1 Message Date
Corinna Vinschen 71c13b9633 *** empty log message *** 2012-10-16 12:02:42 +00:00
Corinna Vinschen 5f5820ec9a *** empty log message *** 2012-10-16 11:59:59 +00:00
Corinna Vinschen c74e68b7e2 * fhandler_floppy.cc (fhandler_dev_floppy::lseek): Remove lloffset.
Use offset directly.  Add shortcut for lseek(fd, 0, SEEK_CUR) case.
	(fhandler_dev_floppy::ioctl): Drop wrong RDSETBLK case.
	* fhandler_raw.cc (fhandler_dev_raw::ioctl): Revamp RDSETBLK code.
2012-10-16 09:52:26 +00:00
Christopher Faylor 2c9cefa586 * fhandler_tty.cc (fhandler_pty_slave::write): Fix potential exit from loop
with write mutex held.  Delete redundant mutex release.  Clear tty error once
we've grabbed it.
2012-10-15 17:12:17 +00:00
Corinna Vinschen b0b441fcef * fhandler_raw.cc (fhandler_dev_raw::fhandler_dev_raw): Drop gratuitous
initializing from previous patch.
2012-10-15 16:11:38 +00:00
Corinna Vinschen abadc07850 * fhandler_floppy.cc (fhandler_dev_floppy::open): Fix comment. 2012-10-15 14:58:39 +00:00
Christopher Faylor 744f194868 * fhandler_tty.cc (fhandler_pty_slave::write): DWORD -> BOOL. 2012-10-15 14:36:48 +00:00
Corinna Vinschen db8224e8be * fhandler.h (class fhandler_dev_raw): Add members devbufalloc and
devbufalign.
	(class fhandler_dev_floppy): Remove member bytes_per_sector;
	* fhandler_floppy.cc (bytes_per_sector): Define as devbufalign.
	(fhandler_dev_floppy::open): Set devbufalign to a multiple of the
	sector size and handle devbuf allocation and alignment in !O_DIRECT
	case here.  Change comment accordingly.
	Call FSCTL_ALLOW_EXTENDED_DASD_IO for partitions as well.
	(fhandler_dev_floppy::raw_write): Fix comment.  Rewrite and fix
	writing behaviour when application uses read and lseek.
	(fhandler_dev_floppy::lseek): Use rounddown macro.  Call
	SetFilePointerEx rather than the old SetFilePointer.
	(fhandler_dev_floppy::ioctl): Reformat switch.  Call
	IOCTL_DISK_UPDATE_PROPERTIES rather than IOCTL_DISK_UPDATE_DRIVE_SIZE
	in BLKRRPART case.  Support BLKIOMIN, BLKIOOPT, BLKPBSZGET and
	BLKALIGNOFF.
	* fhandler_raw.cc (fhandler_dev_raw::fhandler_dev_raw): Initialize
	all devbuf-related members.
	(fhandler_dev_raw::~fhandler_dev_raw): Delete devbufalloc rather than
	devbuf.
	(fhandler_dev_raw::open): Drop allocating devbuf.
	(fhandler_dev_raw::dup): Allocate devbufalloc and set devbuf to support
	new sector-aligned devbuf handling.
	(fhandler_dev_raw::fixup_after_exec): Ditto.
	* fhandler_tape.cc (fhandler_dev_tape::open): Ditto, set devbufalign
	to 1.
	* include/cygwin/fs.h (BLKIOMIN): Define.
	(BLKIOOPT): Define.
	(BLKALIGNOFF): Define.
	(BLKPBSZGET): Define.
2012-10-13 12:34:18 +00:00
Corinna Vinschen 93c9cdc1b0 * fhandler_raw.cc (fhandler_dev_raw::open): Allow O_EXCL flag, as on
Linux.
2012-10-12 13:59:45 +00:00
Christopher Faylor fe0cb31137 * fhandler_termios.cc (fhandler_termios::line_edit): Don't manipulate
output_mutex on CTRL-S/CTRL-Q to avoid a deadlock.
* fhandler_tty.cc (fhandler_pty_slave::write): Loop when output_stopped is
detected before acquiring output_mutex.  Acquire output_mutex in the loop for
each write.
* tty.h: Remove some obsolete defines.
(tty_min::output_stopped): Make 'bool'.
2012-10-12 01:19:04 +00:00
Corinna Vinschen 9b4d1964a7 * include/cygwin/in.h (struct in_addr): Guard with s_addr to avoid
potential collision with Win32 headers.
2012-10-10 08:36:33 +00:00
Christopher Faylor 64f6e90ef7 * child_info.h (child_info_spawn::has_execed): Remove unneeded synchronization. 2012-10-09 22:07:10 +00:00
Christopher Faylor 9536b817b1 * pinfo.cc: Remove unneeded assert.h. 2012-10-09 15:12:07 +00:00
Corinna Vinschen f085c12fd7 * cygcheck.cc (dump_sysinfo): Convert "if/else if" chain to a switch
statement.  Drop "not yet supported" and "Server" from Windows 2012
	output string.
2012-10-09 12:47:40 +00:00
Christopher Faylor ee705c1dcb * pinfo.cc (pinfo::init): Detect potential race where short block has been
retrieved but PID_EXECED flag is not set.
2012-09-17 20:07:49 +00:00
Christopher Faylor 25e5803d35 * cygthread.cc (cygthread::stub): Remove old, unnecessary, FIXMEd code.
* spawn.cc (child_info_spawn::worker): Avoid calling close_all_files() twice.
2012-09-14 03:32:52 +00:00
Christopher Faylor f594bcf771 * faq-what.xml: Fix typos, clarify responsibility slightly. 2012-09-04 00:19:00 +00:00
Corinna Vinschen 7dc5165954 * pseudo-reloc.cc (auto_protect_for): New function.
(__write_memory): Call auto_protect_for to handle page protection.
	(do_pseudo_reloc): Call auto_protect_for to restore old page protection.
2012-09-02 10:21:34 +00:00
Corinna Vinschen 199a8245e0 * cygcheck.cc (dump_sysinfo): Drop "not yet supported" text from
Windows 8.  Update products array.
2012-09-02 10:06:12 +00:00
Christopher Faylor 4acb2ffac7 * pinfo.cc (pinfo::init): Remove assertion. 2012-08-26 17:20:30 +00:00
Christopher Faylor 95a94931c8 * pinfo.cc (_pinfo::exists): Don't consider a process with no state to exist. 2012-08-23 14:45:52 +00:00
Christopher Faylor 0b1545eb3a * net.cc (get_adapters_addresses): Drop FIXME part of comment. 2012-08-21 14:41:57 +00:00
Christopher Faylor 39d0171500 * DevNotes: Add entry cgf-000016.
* cygtls.h (_cygtls::push): Inline.
(_cygtls::interrupt_now): Change signal number argument to siginfo_t argument.
(_cygtls::interrupt_setup): Ditto.
(_cygtls::set_siginfo): Delete declaration.
(_cygtls::reset_signal_arrived): Don't reset signal_arrived signal.  Just reset
flag.
* exceptions.cc (_cygtls::interrupt_now): Reflect argument changes.  Pass si to
interrupt_setup.
(_cygtls::interrupt_setup): Reflect argument changes.  Fill out tls infodata
here using passed-in si.  Use si.si_signo instead of sig.
(sigpacket::setup_handler): Move this function into sigpacket class.  Use si
field from the class as appropriate.
(sigpacket::process): Don't call tls->set_siginfo here since setup_handler
could fail.  Eliminate now-unneeded sig argument.
* sigproc.h (sigpacket::setup_handler): Move setup_handler to this class.
2012-08-17 17:29:21 +00:00
Christopher Faylor 23338be7f5 * exceptions.cc (sig_handle_tty_stop): Clear tls sig field.
(sigpacket::process): When continuing, set tls->sig before arming
signal_arrived.
2012-08-17 15:56:05 +00:00
Corinna Vinschen 74d1d0ee80 * fhandler_clipboard.cc (fhandler_dev_clipboard::read): Use
read-ahead buffer for reading Windows clipboard if caller's
	buffer is too small for complete characters.
	* include/limits.h: Remove outdated TODO comment.
2012-08-17 09:23:34 +00:00
Christopher Faylor 46f5dd5958 whitespace cleanup 2012-08-16 23:34:45 +00:00
Christopher Faylor 00caa48b91 * cygtls.cc (_cygtls::operator HANDLE): Reverse '?' test stupidity. 2012-08-16 19:24:19 +00:00
Christopher Faylor d01efdbe6e * cygheap.cc (init_cygheap::find_tls): Don't consider unitialized threads.
* cygtls.cc (_cygtls::operator HANDLE): Return NULL when tid is not set.
* exceptions.cc (setup_handler): Don't try to suspend a thread if it has no
handle.
2012-08-16 17:11:41 +00:00
Christopher Faylor 4e754267ed fix typo 2012-08-15 19:43:59 +00:00
Christopher Faylor 806e732c01 Rename cancelable_wait -> cygwait throughout.
* DevNotes: Add entry cgf-000015.
* cygwait.h (cygwait): Don't allow an optional PLARGE_INTERGER argument.
2012-08-15 19:07:42 +00:00
Christopher Faylor 879f3ad5ee * cygtls.h (_cygtls::create_signal_arrived): New function.
(_cygtls::set_signal_arrived): Lock creation of signal_arrived.
* cygwait.cc (cancelable_wait): Ignore signal_arrived event if _my_tls 'sig'
element does not exist.
* exceptions.cc (_cygtls::interrupt_setup): Create signal_arrived if recipient
thread has not created it.
2012-08-15 18:50:44 +00:00
Christopher Faylor 588b40e260 * gendef: Tighten up whitespace detection. 2012-08-15 17:29:58 +00:00
Christopher Faylor 0427598641 * gendef: Delete unneeded read from <IN> which ate an arbitrary line from
cygwin.din.
2012-08-15 17:07:47 +00:00
Christopher Faylor d57a4725b1 * exceptions.cc (sigdelayed): Move declaration to sigproc.h.
* sigproc.h (sigdelayed): Make symbol globally available.
* gendef (sigdelayed): Specifically zero incyg and stacklock.
* signal.cc (sigwaitinfo): Lock _my_tls and try harder to clean up signal
information.
2012-08-15 16:35:00 +00:00
Christopher Faylor 0123506d2d * pinfo.cc (_pinfo::exists): Don't consider an execed process to exist. 2012-08-15 14:11:35 +00:00
Corinna Vinschen 25a520c260 * gmon.c (_mcleanup): Fix scope bug when using gmon_out array. 2012-08-14 19:38:43 +00:00
Christopher Faylor 0587c5ef4f * errno.cc (errmap): Keep sorted. 2012-08-14 18:38:22 +00:00
Corinna Vinschen 04ea60440a * thread.cc (semaphore::_fixup_after_fork): Fix Win32 error output in
api_fatal call.
2012-08-14 15:05:13 +00:00
Christopher Faylor fee05a2380 * errno.cc (errmap): Keep sorted. 2012-08-14 14:56:19 +00:00
Corinna Vinschen 3cef8ecc61 * mount.cc (fs_names): Add missing ReFS entry. Change comment.
* mount.h (enum fs_info_type): Add comment.
2012-08-14 09:49:25 +00:00
Christopher Faylor 2134b7a5b0 * errno.cc (errmap): Map ERROR_SXS_CANT_GEN_ACTCTX to ELIBBAD. 2012-08-13 19:33:17 +00:00
Earnie Boyd 76c4e21b49 Even though MSDN documents these as __cdecl the kernel32.dll library
exports them as __stdcall.  Confirmed with gendef program.

	* lib/kernel32.def (InterlockedDecrement): Revert the 2012-08-08 change.
	(InterlockedIncrement): Ditto.
	(InterlockedExchange): Ditto.
	* include/winbase.h (InterlockedDecrement): Revert the 2012-08-01
	change.
	(InterlockedIncrement): Ditto.
	(InterlockedExchange): Ditto.
2012-08-10 13:58:49 +00:00
Christopher Faylor 52d2371da5 * DevNotes: Add entry cgf-000014.
* cygheap.cc (tls_sentry): Move here, rename from 'sentry' in cygtls.cc
(tls_sentry::lock): Ditto.
(nthreads): Move from cygtls.cc
(THREADLIST_CHUNK): Ditto.
(cygheap_init): Call init_tls_list().
(init_cygheap::init_tls_list): Define new function.
(init_cygheap::add_tls): Ditto.
(init_cygheap::remove_tls): Ditto.
(init_cygheap::find_tls): Ditto.  Semi-resurrect from _cygtls::find_tls.
* cygheap.h (init_cygheap::init_tls_list): Declare new function.
(init_cygheap::add_tls): Ditto.
(init_cygheap::remove_tls): Ditto.
(init_cygheap::find_tls): Ditto.
* cygtls.cc (sentry): Delete.
(sentry::lock): Ditto.
(nthreads): Ditto.
(THREADLIST_CHUNK): Ditto.
(_cygtls::init): Delete definition.
(_cygtls::init_thread): Call cygheap->add_tls() to add thread to global list.
(_cygtls::remove): cygheap->remove_tls() to remove thread from global list.
* cygtls.h (_cygtls::init): Delete declaration.
* dcrt0.cc (dll_crt0_0): Delete call to _cygtls::init().
* exceptions.cc (sigpacket::process): When no thread is specified, try to find
one via cygheap->find_tls.
2012-08-09 19:58:53 +00:00
Earnie Boyd cc02df1286 * lib/kernel32.def (InterlockedDecrement): Remove the @BYTE count since
we now declare it as __cdecl.
	(InterlockedIncrement): Ditto.
	(InterlockedExchange): Ditto.
2012-08-08 20:28:26 +00:00
Earnie Boyd b35bb085d8 2012-08-08 Kai Tietz <ktietz@redhat.com>
* mingwex/gdtoa/gd_qnan.h: Make Nan constants positive valued.
2012-08-08 20:27:11 +00:00
Corinna Vinschen 34a4d873ad * include/sys/wait.h (_wait): Define when building newlib. 2012-08-08 09:39:36 +00:00
Christopher Faylor f79b8c456f * signal.cc (sigwaitinfo): Change cw_sig to the correct cw_sig_eintr. 2012-08-07 04:25:05 +00:00
Earnie Boyd f29261e662 * include/winnt.h (MemoryBarrier): Define to __mingworg_MemoryBarrier()
which is in libmingwex.a.
	MODIFIED FROM: Use __sync_synchronize instead of
	creating a function due to multiple definition.
	NOTE: Not using __sync_synchronize to allow applications to mix-n-match
	C libraries from different vendors.
2012-08-06 18:12:53 +00:00
Earnie Boyd 525800e855 * mingwex/membarrier.c: New file.
* mingwex/Makefile.in (DISTFILES): Add membarrier.c.
	(REPLACE_OBJS): Add membarrier.o.
2012-08-06 18:05:53 +00:00
Earnie Boyd 705d9e463c * include/winnt.h (MemoryBarrier): Use __sync_synchronize instead of
creating a function due to multiple definition.
2012-08-06 15:49:39 +00:00