2008-04-03 Dick Porter <dick@ximian.com>
[mono.git] / mono / io-layer / ChangeLog
index 051477b0853fdce0aa2147d05b6db171819f5acc..fdbb9c27e4a82f0ed4715005d7d902a380d52e25 100644 (file)
@@ -1,3 +1,201 @@
+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