* net.cc (SIO_BASE_HANDLE): Define.
	(fdsock): If we got an LSP handle, try to try to create a copy of the
	base handle instead.  Change comment to explain.
	* autoload.cc (winmm): Rremove time functions.  Don't treat
	unloadable wave functions as fatal.
	* hires.h (hires_ms::timeGetTime_ns): New private method.
	(hires_ms::dmsecs): Call timeGetTime_ns here.
	* ntdll.h (struct _KSYSTEM_TIME): Define.
	(KUSER_SHARED_DATA): Redefine to allow access to InterruptTime.
	(SharedUserData): Define here.
	(NtQueryTimerResolution): Declare.
	(NtSetTimerResolution): Declare.
	* path.cc (SharedUserData): Move to ntdll.h.
	* times.cc (hires_ms::timeGetTime_ns): New private method.
	Use throughout instead of timeGetTime.
	(hires_ms::resolution): Try a call to NtQueryTimerResolution
	to fetch current period.  Fall back to heuristic if that fails.
	(clock_setres): Align period to possible values per a call to
	NtQueryTimerResolution.  Explain why.  Replace calls to
	timeBeginPeriod and timeEndPeriod with underlying call to
	NtSetTimerResolution.
	Add missing ChangeLog entry
	* times.cc (hires_ms::timeGetTime_ns): Document entire functionality
	of timeGetTime in case we need it.
	* times.cc (hires_ms::timeGetTime_ns): Fix typo in comment.
Fix previous fix for typo
	* cygwin.din (pthread_spin_destroy): Export.
	(pthread_spin_init): Export.
	(pthread_spin_lock): Export.
	(pthread_spin_trylock): Export.
	(pthread_spin_unlock): Export.
	* posix.sgml (std-susv4): Add pthread_spin_destroy, pthread_spin_init,
	pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock.
	(std-notimpl): Remove pthread_spin_[...].
	* pthread.cc (pthread_spin_init): New function.
	* thread.cc (pthread_spinlock::is_good_object): New function.
	(pthread_mutex::pthread_mutex): Rearrange initializers to accommodate
	protected data in pthread_mutex.
	(pthread_spinlock::pthread_spinlock): New constructor.
	(pthread_spinlock::lock): New method.
	(pthread_spinlock::unlock): New method.
	(pthread_spinlock::init): New method.
	(pthread_spin_lock): New function.
	(pthread_spin_trylock): New function.
	(pthread_spin_unlock): New function.
	(pthread_spin_destroy): New function.
	* thread.h (PTHREAD_SPINLOCK_MAGIC): Define.
	(class pthread_mutex): Change access level of members shared with
	derived classes to protected.
	(pthread_mutex::set_shared): New protected method.
	(class pthread_spinlock): New class, derived class of pthread_mutex.
	* include/pthread.h (pthread_spin_destroy): Declare.
	(pthread_spin_init): Declare.
	(pthread_spin_lock): Declare.
	(pthread_spin_trylock): Declare.
	(pthread_spin_unlock): Declare.
	* include/cygwin/types.h (pthread_spinlock_t): New typedef.
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
	* times.cc (clock_setres): Use status code from NtSetTimerResolution
	to compute errno.
	* times.cc (hires_ms::timeGetTime_ns): Fix formatting in comment.
	(hires_ms::resolution): Cast to DWORD in assignments to minperiod.
	(clock_setres): Improve comment.  Convert period to ULONGLONG and
	store 100ns value to simplify code.
	* mmap.cc (mmap_record::page_map): Define as variable array rather than
	as pointer.
	(mmap_record::alloc_page_map): Remove.
	(mmap_record::free_page_map): Remove.
	(mmap_record::init_page_map): New method.
	(mmap_record::add_record): Take mmap_record parameter by reference
	rather than by value.
	(mmap_record::map_pages): Fix comment.
	(mmap_list::add_record): Allocate space for mmap_record including the
	page_map in a single ccalloc call.  Call init_page_map afterwards.
	(mmap_list::del_record): Remove call to mmap_record::free_page_map.
	* passwd.cc (internal_getpwsid): Avoid a strict-aliasing compiler
	error with gcc 4.5.1.
	* fhandler_floppy.cc (fhandler_dev_floppy::get_drive_info): Ditto.
	* syscalls.cc (gethostid): Ditto.
	* autoload.cc (UuidCreate): Remove.
	(UuidCreateSequential): Remove.
	* ntdll.h (NtAllocateUuids): Declare.
	* syscalls.cc (gethostid): Use NtAllocateUuids function rather than
	UuidCreateSequential/UuidCreate to get rid of rpcrt4 dependency.
	* fhandler.cc (fhandler_base_overlapped::wait_overlapped): Remove
	special treatment for ERROR_NO_SYSTEM_RESOURCES.  Cancel I/O and reset
	the overlapped handle on error.
	(fhandler_base_overlapped::write_overlapped): Limit writes to
	max_atomic_write bytes in blocking case.  Incorporate code from
	now-defunct write_overlapped_fallback.  Fix serious oversight where ptr
	was not advanced as buffer was written.
	(fhandler_base_overlapped::write_overlapped_fallback): Eliminate.
	* fhandler.h (fhandler_base_overlapped::write_overlapped_fallback):
	Ditto for declaration.
	(DEFAULT_PIPEBUFSIZE): Lower size to slightly less than documented
	worst-case atomic write size.
	(fhandler_overlapped::wait_return): Remove unused element.
	* fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Only use
	file id as inode number if it masters the isgood_inode check.
	* uinfo.cc (cygheap_user::env_domain): Use LookupAccountSidW and
	convert user and domain to multibyte strings to make sure to use
	correct codeset.
	* cygtls.h (struct _local_storage): Redefine process_ident as wchar_t
	pointer.
	* syslog.cc (CYGWIN_LOG_NAME): Convert to wide char constant.
	(openlog): Convert incoming ident string to wide char.  Fix formatting.
	(vsyslog): Print ident string as wide char string.  Convert message
	string to wide char and call UNICODE Win32 Event functions to make sure
	to use correct codeset.
	* tlsoffset.h: Regenerate.
	* winver.rc: Fix copyright dates.
	* crt0.c (mainCRTStartup): Move call to _feinitialise from here...
	* dcrt0.cc (_dll_crt0): ...to here.
	* fhandler_socket.cc (get_inet_addr): Make externally available.
	* autoload.cc (GetUdpTable): Define.
	* syslog.cc (connect_syslogd): Use get_inet_addr rather than _stat64
	to check for local socket file.  Create socket with type returned by
	get_inet_addr.  If connect on UDP socket works, test if there's
	really a listening peer, otherwise fall back to Windows event log.
	(try_connect_syslogd): Use syslogd_inited flag to check if syslogd
	is available.
2011-03-18  Christopher Faylor  <me.cygwin2011@cgf.cx>

	* fhandler.h (DEFAULT_PIPEBUFSIZE): Reset to 64K.

2011-03-18  Corinna Vinschen  <corinna@vinschen.de>

	* mmap.cc (mmap_record::alloc_fh): Initialize name strings in fdev to
	empty strings or suffer a SEGV.  Drop second parameter in call to
	build_fh_dev.

2011-03-18  Corinna Vinschen  <corinna@vinschen.de>

	* mmap.cc (class mmap_record): Pack 4 byte-aligned.  Convert member dev
	to plain int.
	(mmap_record::alloc_fh): Create temporary device from dev and use in
	call to build_fh_dev.