+2008-04-03 Dick Porter <dick@ximian.com>
+
+ * timefuncs.c (GetTickCount): Use mono_msec_ticks(), see bug
+ 347476.
+
+2008-04-01 Dick Porter <dick@ximian.com>
+
+ * versioninfo.c (get_string_block): Refine the fix for bug 354856
+ (r93661) so that it also fixes the new part of bug 374600.
+
+2008-03-28 Dick Porter <dick@ximian.com>
+
+ * processes.c (GetExitCodeProcess): Check if a process has exited
+ and recorded it's exit code, before seeing if the process is
+ signalled. Fixes bug 325463.
+
+2008-03-27 Dick Porter <dick@ximian.com>
+
+ * processes.c (match_procname_to_modulename): Check the whole
+ process name first, in case it is recorded as an absolute path.
+ Fixes bug 360348.
+
+2008-03-27 Dick Porter <dick@ximian.com>
+
+ * processes.c (ShellExecuteEx): Grotty kludge to work around
+ unpleasant feature in g_shell_parse_argv() where it treats '#'
+ embedded in a filename as a comment marker, and throws away the
+ rest of the line. When we're directly opening URLs quote the
+ filename, to avoid this. Fixes bug 371567.
+
+2008-03-25 Dick Porter <dick@ximian.com>
+
+ * wapi-private.h (_WAPI_HANDLE_VERSION): Increment file layout
+ version
+
+ * threads.c: Make thread handles private to the process that owns
+ them.
+
+2008-03-22 Kornél Pál <kornelpal@gmail.com>
+
+ * io-layer.h: Windows: Rename GetProcessId to __GetProcessId for targets not
+ supporting it. This fixes MSVC build with new Windows SDKs that declare
+ GetProcessId unconditionally.
+
+2008-03-20 Kornél Pál <kornelpal@gmail.com>
+
+ * io-layer.h: Removed Windows version macros.
+
+Thu Mar 13 16:24:53 CET 2008 Paolo Molaro <lupus@ximian.com>
+
+ * processes.c: properly check for executable files (fixes bug #368829).
+
+2008-02-05 Dick Porter <dick@ximian.com>
+
+ * versioninfo.c (VerLanguageName): Implement VerLanguageName.
+
+2008-01-31 Bill Holmes <billholmes54@gmail.com>
+ * processes.c (match_procname_to_modulename) : Added to check if the last
+ part of module name is equal to the process name.
+
+ * processes.c (EnumProcessModules) : Changed the first entry in the returned
+ modules array (the process module) to be populated from the entry found
+ in /proc/<PID>/maps.
+
+ * processes.c (get_module_name & GetModuleInformation) : In the case where
+ the module passed in is NULL, search the /proc/<PID>/maps for a name that
+ matches the process name to populate the return information.
+
+ Fixes #357062
+
+2008-01-29 Zoltan Varga <vargaz@gmail.com>
+
+ * security.c (RevertToSelf): Make this return TRUE if impersonating is not
+ supported.
+
+ * sockets.c (_wapi_connect): Add a workaround to a solaris x86 problem where
+ getsockopt (SO_ERROR) doesn't return an error code after connect () fails. Fixes
+ #356552.
+
+2008-01-23 Dick Porter <dick@ximian.com>
+
+ * versioninfo.c (get_string_block): When stepping over the
+ StringTable block, do not read an extra block at the end. Fixes
+ the new part of bug 354856.
+
+2008-01-19 Dick Porter <dick@ximian.com>
+
+ * versioninfo.c (get_stringtable_block): Cope when the StringTable
+ block is first in the resources data, and we just need to step
+ over it. Fixes bug 354856.
+
+2008-01-16 Dick Porter <dick@ximian.com>
+
+ * threads.c (_wapi_thread_set_termination_details): Move the
+ thread abandonment to outside the shared handle lock. Fixes bug
+ 349680.
+
+2008-01-16 Dick Porter <dick@ximian.com>
+
+ * versioninfo.c (VerQueryValue): Include trailing null in returned
+ string length, for MS compatibility.
+
+2008-01-09 Dick Porter <dick@ximian.com>
+
+ * versioninfo.c (get_ptr_from_rva, scan_resource_dir): Make it
+ work on big-endian systems.
+ (scan_resource_dir): Copy the resource directory entry and
+ byteswap if necessary so it works big-endian. This fixes bug
+ 345972 for real this time.
+ (VerQueryValue): String values set the length to the number of
+ unicode chars, but the data length reported was already correct so
+ don't halve it again. Fixes the previous fix for bug 345972.
+ (GetFileVersionInfo): On big-endian systems, scan the resource
+ data and turn all unicode strings into UTF-16BE. FileVersionInfo
+ now works big-endian.
+
+2008-01-04 Dick Porter <dick@ximian.com>
+
+ * versioninfo.c (VerQueryValue): Returned buffer length counts
+ chars not bytes for string data. Fixes bug 345972 again.
+ (get_enclosing_section_header): Make sure values read are treated
+ as LE. Fixes crash on ppc reported in bug 345972.
+
+2007-12-17 Mark Probst <mark.probst@gmail.com>
+
+ * threads.c: Guard against a race condition involving
+ thread_hash_key that can occur during shutdown.
+
+2007-12-08 Zoltan Varga <vargaz@gmail.com>
+
+ * processes.c: Include sys/mkdev.h if exists. Fixes solaris x86 build.
+
+2007-12-06 Dick Porter <dick@ximian.com>
+
+ * versioninfo.c: Resource language values must be compared in a
+ 'case'-insensitive manner. Fixes bug 345972.
+
+2007-12-05 Dick Porter <dick@ximian.com>
+
+ * io.c (CreateFile): Create files with mode 0666 (&~umask) by
+ default. Fixes bugs 325299 and 337040.
+
+2007-11-22 Dick Porter <dick@ximian.com>
+
+ * critical-sections.h (EnterCriticalSection): Reinstate the
+ asserts in the devel branch, so any problems aren't obscured.
+
+2007-11-22 Dick Porter <dick@ximian.com>
+
+ * versioninfo.c (find_pe_file_resources): Make it work on 64bit
+ systems. Fixes bug 343353.
+
+2007-11-21 Dick Porter <dick@ximian.com>
+
+ * processes.c (load_modules): Rewrite based on the libgc
+ /proc/<pid>/maps parsing to avoid using glib functions only
+ available since 2004.
+ (load_modules): Check for duplicates before adding a module to the
+ list.
+
+2007-11-15 Dick Porter <dick@ximian.com>
+
+ * processes.c (load_modules): Don't bother if we don't have
+ g_strsplit_set() and g_strv_length(). Allows building against old
+ glib versions.
+ (EnumProcessModules): Don't miss the first module returned by
+ load_modules().
+
+2007-11-15 Dick Porter <dick@ximian.com>
+
+ * processes.c: Implement process module support by reading from
+ /proc if it's available.
+
+ * versioninfo.h:
+ * versioninfo.c: New functions to implement PE file version info
+ support.
+
+2007-11-08 Dick Porter <dick@ximian.com>
+
+ * critical-sections.h (EnterCriticalSection): Disable the critical
+ section asserts for the release branch
+
+2007-11-05 Kornél Pál <kornelpal@gmail.com>
+
+ * io-layer.h: Added includes for run-time GetProcessId API detection for
+ Windows.
+
+2007-10-26 Dick Porter <dick@ximian.com>
+
+ * shared.c (_wapi_shm_file_open): Set the umask when opening
+ shared files, so restrictive defaults don't prevent subsequent
+ processes re-opening them.
+
+2007-10-18 Zoltan Varga <vargaz@gmail.com>
+
+ * atomic.h (InterlockedCompareExchange): Fix the ia64 version so it works for
+ negative values too. Hopefully fixes #332700.
+
+2007-09-26 Dick Porter <dick@ximian.com>
+
+ * io-portability.c (_wapi_io_scandir): Only update the error
+ status of glob() when performing a secondary glob() if the first
+ returned an error. Fixes bug 325107.
+
+2007-09-12 Marek Habersack <mhabersack@novell.com>
+
+ * io-portability.c: options_init moved to
+ utils/mono-io-portability.c
+ Do not initialize portability helpers here, it's done in
+ mono_runtime_init.
+ find_file and find_in_dir moved to utils/mono-io-portability.c
+
+2007-09-09 Robert Jordan <robertj@gmx.net>
+
+ * sockets.c (_wapi_setsockopt): Add support for FreeBSD multicast
+ sockets. Fixes #81891.
+ Code is contributed under MIT/X11 license.
+
+2007-09-03 Atsushi Enomoto <atsushi@ximian.com>
+
+ * processes.h, processes.c : ok, they are simple string.
+
+2007-09-03 Atsushi Enomoto <atsushi@ximian.com>
+
+ * processes.h : sigh, I really hate fixing them on windows :(
+
+2007-09-03 Atsushi Enomoto <atsushi@ximian.com>
+
+ * processes.c : fix build again.
+
+2007-09-03 Atsushi Enomoto <atsushi@ximian.com>
+
+ * processes.h : removed extra parameters from CreateProcessWithLogonW.
+
+2007-09-03 Atsushi Enomoto <atsushi@ximian.com>
+
+ * processes.c, processes.h: added CreateProcessWithLogonW(). For now
+ it just calls CreateProcess().
+ * io-layer.h : CreateProcessWithLogonW() requires WINVER 0x0500
+ on Windows.
+
+2007-08-23 Robert Jordan <robertj@gmx.net>
+
+ * processes.[c|h]: Implement Get|SetPriorityClass ().
+ Code is contributed under MIT/X11 license.
+
+Tue Aug 21 20:08:09 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * io.c: made convert_arg_to_utf8() and write_file() static.
+ Worked around gcc's incorrect warning.
+
+2007-08-20 William Holmes <billholmes54@gmail.com>
+
+ *io.c: Added implementation for ReplaceFile.
+ *io.h: Added deceleration for ReplaceFile method.
+
+ Code is contributed under MIT/X11 license.
+
+2007-08-20 Wade Berrier <wberrier@novell.com>
+
+ * processes.c: include sys/resource.h for rusage to fix
+ mac 10.3 build
+
+Mon Aug 20 12:36:42 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * processes.c: implemented query for user/system times using
+ getrusage ().
+
+2007-08-10 Dick Porter <dick@ximian.com>
+
+ * sockets.c (_wapi_getsockopt, _wapi_setsockopt): Check the option
+ level as well as the name when mangling some of the values. Fixes
+ bug 82000.
+
+2007-08-02 Dick Porter <dick@ximian.com>
+
+ * sockets.c: Changes in error handling, and move the SO_REUSEADDR
+ setting from metadata/socket-io.c.
+
+2007-08-01 Dick Porter <dick@ximian.com>
+
+ * io-portability.c (_wapi_io_scandir): Special-case patterns
+ ending in '.*' so that files with no extension are also matched.
+ Fixes bug 82212.
+
+ * wapi_glob.h:
+ * wapi_glob.c: Reinstate WAPI_GLOB_APPEND, and add
+ WAPI_GLOB_UNIQUE to avoid matching the same entry twice when
+ appending.
+
+2007-07-26 Dick Porter <dick@ximian.com>
+
+ * handles-private.h:
+ * thread-private.h:
+ * handles.h:
+ * critical-sections.c:
+ * handles.c:
+ * critical-section-private.h:
+ * error.h:
+ * threads.c:
+ * error.c: Clean up TLS and pthreads structures. Finishes off bug
+ 78739.
+
+ * collection.c (collection_thread): Exit the collection thread if
+ the io-layer has been cleaned up.
+
+ * mono-mutex.h (mono_mutexattr_destroy): Add this define too
+
+Mon Jul 23 10:40:35 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * timefuncs.c: make TickCount measure from boot time if it's
+ available.
+
+2007-07-19 Juraj Skripsky <js@hotfeet.ch>
+
+ * io.c (MoveFile): Fix a leak.
+
+Fri Jul 13 12:46:15 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * handles-private.h, handles.c, thread-private.h, threads.c,
+ uglify.h, wait.c: temporarily revert the alertable wait changes
+ (r79386) until the deadlock issues are fixed.
+
+2007-06-22 Dick Porter <dick@ximian.com>
+
+ * shared.c: The non-shared mutexes weren't being initialised properly
+ on macos. Fixes bug 81929.
+
+2007-06-13 Randolph Chung <tausq@debian.org>
+
+ * atomic.h: Enable for all hppa targets.
+ * Makefile.am: rename hppa_atomic.s to hppa_atomic.S so the preprocessor
+ can handle the file.
+ * hppa_atomic.s: Renamed to ...
+ * hppa_atomic.S: ... and updated to work on both HPUX and Linux.
+
+2007-06-13 Dick Porter <dick@ximian.com>
+
+ * handles.c (timedwait_signal_wait_cond): Alertable waits on
+ private handles are now interrupted by signalling the same
+ condition that would end the wait if the handle became signalled,
+ rather than polling. (Shared handles still have to poll.)
+
+ * threads.c (_wapi_thread_queue_apc): Interrupt the thread if it's
+ waiting on a handle
+
+ * handles-private.h (_wapi_handle_current_thread_set_waiting_on):
+ Helper functions to inform the APC queuing functions when threads
+ are waiting for handles, and to interrupt the wait.
+
+ * wait.c (WaitForMultipleObjectsEx): Need to tell the handle
+ waiting functions if any of the handles in question are shared
+
+2007-06-06 Miguel de Icaza <miguel@novell.com>
+
+ * processes.c (is_managed_binary): Fix for OSX.
+
+2007-06-06 Wade Berrier <wberrier@novell.com>
+
+ * atomic.h (InterlockedExchangePointer): cast to pointer to to silence
+ compiler warnings (autobuild fails the build on this type of warning)
+
+2007-05-21 Dick Porter <dick@ximian.com>
+
+ * io-portability.c (_wapi_g_dir_open): Don't propagate any errors
+ from the second call to g_dir_open, preserve the original error if
+ the second call still fails but clear the error if it succeeds.
+
+2007-05-10 Dick Porter <dick@ximian.com>
+
+ * sockets.c (_wapi_recvfrom): Refine the fix to bug 75705 so EINTR
+ isn't returned if the remote end shuts down cleanly. Fixes zmd
+ and the second example in bug 75705.
+
+2007-04-26 Dick Porter <dick@ximian.com>
+
+ * shared.c (_wapi_shm_semaphores_init): Need to check
+ MONO_DISABLE_SHM in this entry point, as it's called before
+ _wapi_shm_attach(). Fixes bug 81436.
+
+2007-04-24 Dick Porter <dick@ximian.com>
+
+ * sockets.c (_wapi_recvfrom, socket_close): Force recvfrom() to
+ error if the socket is closed while the receive is blocking.
+ Fixes bug 75705.
+
+2007-04-13 Dick Porter <dick@ximian.com>
+
+ * shared.h:
+ * shared.c: Complete the reimplementation of disabling of shared
+ memory, by not allocating sysv semaphores when shm disabling has
+ been requested (either at compile time or run time.)
+
+ * processes.c (CreateProcess): Don't synchronize locking across
+ processes when forking, when shared memory has been disabled.
+
+2007-04-06 Andreas Faerber <andreas.faerber@web.de>
+
+ * wapi_glob.h:
+ * wapi_glob.c: remove reference to sys/cdefs.h, use glib instead.
+ Fixes: 81326
+
+2007-04-05 Dick Porter <dick@ximian.com>
+
+ * io.c:
+ * io-portability.c (_wapi_io_scandir): Moved from io.c, and
+ changed to use a cut-down version of glob(3) that has been
+ extended to match with case-insensitivity if needed.
+
+ * wapi_glob.h:
+ * wapi_glob.c: Cut down implementation of glob(3), based on
+ OpenBSD.
+
+2007-03-22 Dick Porter <dick@ximian.com>
+
+ * sockets.c (_wapi_connect): Do additional checks when connect(2)
+ fails, because some systems don't let it be restarted. Patch
+ based on one submitted by Robert S Wojciechowski <robertw@ssgx.com>,
+ fixes bug 81010.
+
+2007-03-09 Jonathan Chambers <joncham@gmail.com>
+
+ * io-layer.h: Remove UNICODE and _UNICODE defines as
+ these are done by configure.in now.
+
+ Code is contributed under MIT/X11 license.
+
+Thu Mar 8 19:42:17 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+ * shared.c: partial support for MONO_DISABLE_SHM env var.
+
+2007-03-05 Wade Berrier <wberrier@novell.com>
+
+ * atomic.h: atomic fixes from Michael Matz for for s390
+ and s390x ( bnc #237611 and bxc #80892 )
+
+2007-03-05 Miguel de Icaza <miguel@novell.com>
+
+ * io.c (CreateFile): Use FILE_ATTRIBUTE_TEMPORARY to mean 0600
+ permissions. For 80688
+
+ (MoveFile): Use errno_copy here, just to avoid a potential
+ errno-changing code in the future from g_free.
+
+ Also, ignore EXDEV errors as they are handled immediately after
+ (avoid printing out an error).
+
+ Fixes: 80655
Mon Feb 12 15:50:24 CET 2007 Paolo Molaro <lupus@ximian.com>