X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fio-layer%2FChangeLog;h=734df51a34ccf6450c274fb5b25bee1c44fb0731;hb=1bcffb546f26d5c9024e533fa38649c2413f4740;hp=f8c6b5f2c0ac0299b3e2561ed86f2c4a83f41ada;hpb=f7fa0a6dbf6b43db4a062fed8b50e23e3bb494d6;p=mono.git diff --git a/mono/io-layer/ChangeLog b/mono/io-layer/ChangeLog index f8c6b5f2c0a..ae2242f7b1f 100644 --- a/mono/io-layer/ChangeLog +++ b/mono/io-layer/ChangeLog @@ -1,3 +1,589 @@ +2009-05-20 Miguel de Icaza + + * versioninfo.c: Use the portable mono_map_ interface instead of + using mmap directly and change the style to the Mono style. + + Remove more DEBUG/ifdefs combos + + * shared.c: Split the code to make DISABLE_SHARED remove all the + code that does not use the shared handles. Before it merely + removed some of it, with this we avoid hacks on platforms that can + not implement it. + + Split the code to reduce the amount of ifdefs. + + Remove #ifdef DEBUG from the source and use a macro instead. + +2009-05-20 Miguel de Icaza + + * locking.c: Split locking code into a separate file. + +2009-05-18 Miguel de Icaza + + * daemon.c: Move the compile check of MONO_SIZEOF_SUNPATH to the + file that uses it. + + * Rename `threads.c' to `wthreads.c' as broken build systems are + not able to cope with two files with the same name across multiple + directories. + +2009-05-15 Geoff Norton + + * handles.c: Don't start the collection thread if we've disabled + shared handles. + +2009-05-12 Zoltan Varga + + * collection.c (collection_thread): Get rid of all the ifdefs and + gcc attributes, simply return NULL. + +2009-05-11 Zoltan Varga + + * shared.c: Applied patch from Koushik K. Dutta (koush@koushikdutta.com). + Fix the build on android. + +2009-05-09 Miguel de Icaza + + * messages.c: Split the scan into common and uncommon messages to + allow the messages that are not produced by Mono to be removed on + embedded scenarios. + + * messages.c (message_string): instead of having a gigantic switch + table, use a sorted structure in memory and do a binary search on + it. + + This reduces the runtime size by 49k and the debugging symbols by + 400k. + +2009-04-29 Gonzalo Paniagua Javier + + * sockets.c: don't display a warning when connect() fails because the + socket was closed in another thread. + +2009-04-23 Rodrigo Kumpera + + * shared.c: Fix a bunch of memleaks. + +2009-03-27 Zoltan Varga + + * threads.h: Add a comment to CreateThread. + +2009-03-20 Zoltan Varga + + * threads.c handles.c wait.c: Change location of gc_wrapper.h. + +2009-02-22 Robert Jordan + + * sockets.c: implement WSASend/WSARecv using sendmsg/recvmsg. + Fixes #470021. + + Code is contributed under MIT/X11 license. + +2009-02-20 Gonzalo Paniagua Javier + + * events.c: fix event_signal and namedevent_signal to actually signal + the handle. + +2009-02-12 Gonzalo Paniagua Javier + + * io.c: EXDEV when moving directories fails now without creating a + file in the destination. + Fixes bug #326983. + +2009-02-09 Zoltan Varga + + * wait.c (WaitForMultipleObjectsEx): Initialize poll variable. + +2009-02-05 Miguel De Icaza + + * sockets.c (_wapi_setsockopt): SO_REUSEPORT is needed also on + MacOS X. Fixes bug #471292 + +2009-01-29 Zoltan Varga + + * shared.c: Fall back to file based shared storage if shm_open () fails + because /dev/shm is not mounted. + + * shared.c: Add an alternative implementation using shared memory instead of + files. This fixes problems where the mono process would spin up the disk + every x secs on laptops. Fixes #434566, #415373 and #321949. + +2009-01-16 Miguel de Icaza + + * sockets.c (WSASend): Fix memory leak, and optimize for the case + with 1 segment. + + This should really use writev or sendmsg to use the kernel + scatter/gather facility instead of emulating it by copying buffers. + +2009-01-26 Rodrigo Kumpera + + * critical-sections.h (Enter/LeaveCriticalSection): Show + helpfull warning messages before crashing. + +2009-01-26 Rodrigo Kumpera + + * handles-private.h (_wapi_handle_set_signal_state): Show + helpfull warning messages before crashing. + +2009-01-26 Jeffrey Stedfast + + * mono-mutex.[c,h]: Removed GPLv2 copyright notice which should + not have been there. + +2009-01-20 Rodrigo Kumpera + + * threads.c: Add wapi_current_thread_desc that produces + a string representation of the current thread state. + + * threads.h: Export wapi_current_thread_desc. + +2009-01-18 Zoltan Varga + + * io.c (GetDiskFreeSpaceEx): Applied patch from Koushik Dutta + (koush@koushikdutta.com). Disable this on android. + +2009-01-16 Rodrigo Kumpera + + * handles.c (_wapi_handle_timedwait_signal_handle): Don't use the + set_wait_handle/clear_wait_handle machinery for alertable waits in + case of non-alertable waits. + + Non-alertable waits must continue and wait on the cond as this will + release the lock. Otherwise this will cause a deadlock as anyone trying + to pulse the cond will block trying to acquire the said lock because + the thread in non-alertable wait will be busy looping in WaitForSingleObjectEx + or similar function, never releasing the lock. + + Thou this fixes quite a few of the hangs introduced by non-pooling alertable + waits, the long term plan is to verify if all non-alertable waits really need + to be as such. + +2009-01-14 Zoltan Varga + + * handles-private.h (_wapi_handle_set_signal_state): Set the signalled state + of the handle while locking the global signal cond mutex. + + * wait.c (WaitForMultipleObjectsEx): Check the signalled state of handles + inside the critical section before waiting, otherwise we could go to waiting + even when the handles are already signalled. + +2009-01-13 Zoltan Varga + + Reapply r122913, this time handling processes by falling back to polling. + + * handles.c: Rework the way the global signal stuff is handled: instead of + allocating a separate mutex/condvar pair for it, allocate a normal handle. + This way, it can reuse the alertable waiting code, allowing + WaitForMultipleObject to work without polling. + +2009-01-09 Miguel de Icaza + + Incorporate a few patches from Paolo, slightly modified: + + * handles.c (_wapi_handle_check_share): On non-Linux systems, do + not even compile in the code that scans for /proc/fd, and go + directly to the fallback function. + +2009-01-09 Paolo Molaro (lupus@ximian.com) + + * handles.c: Do not include some header files in platforms that + lack it. + +2009-01-09 Miguel de Icaza + + * messages.c: Eliminate a warning. + +2009-01-09 Paolo Molaro (lupus@ximian.com) + + * error.c: On some platforms that do not define these variables, + do not use them. + + * security.c, io-private.h: Only include some headers if they + exist on the system + + * sockets.c, sockets.h: do not import on this header files that + are only consumed internally in sockets.c. + +2009-01-09 Zoltan Varga + + * threads.c (_wapi_thread_apc_pending): Check for thread->wait_handle == + INTERRUPTION_REQUESTED_HANDLE too. + (wapi_interrupt_thread): Rework the comments, the thread is no longer + required to call QueueUserAPC to make the wait functions return. + + * threads.c handles.c threads-internal.h: Implement alertable waits without + polling. + +2009-01-08 Geoff Norton + + * processes.c: Fix the osx version check to properly detect 10.5 v 10.4 + +2009-01-08 Christian Prochnow + + * types.h: added WapiULargeInteger. + + * uglify.h: added ULARGE_INTEGER, PULARGE_INTEGER. + + * io.h: added WapiDriveType, added method declarations + for GetDiskFreeSpaceEx and GetDriveType + + * io.c: added GetDiskFreeSpaceEx() to query disk size + and free space via statvfs or statfs system call. + added GetDriveType to query drive type via /etc/mtab or /etc/mnttab. + +2009-01-07 Geoff Norton + + * processes.c: Properly implement support for Process.Modules on OSX. + Fixes OSX on nunit 2.4 + +2009-01-07 Rodrigo Kumpera + + * io.c (GetCurrentDirectory): Avoid calling g_get_current_dir straight + away as it doesn't handle ENAMETOOLONG correctly. As a bonus we avoid + allocating memory in the common path. + +2009-01-07 Geoff Norton + + * processes.c: Only use open -W on OSX 10.5+. Patch from + Miguel + +2008-12-19 Bill Holmes + + * processes.c (get_module_name) : adjust size for unicode characters. + + Code is contributed under MIT/X11 license. + +2008-11-21 Zoltan Varga + + * atomic.h: Applied patch from Mihai Chelaru . Add + netbsd support. + +2008-11-18 Mark Probst + + * atomic.h: InterlockedExchangePointer and + InterlockedCompareExchangePointer for PPC64. + + Code submitted by andreas.faerber@web.de at + https://bugzilla.novell.com/show_bug.cgi?id=324134 under the + X11/MIT license. + +2008-11-13 Bill Holmes + + * wait.h : Adding method declaration for WaitForInputIdle. + + * wait.c : Adding implementation for WaitForInputIdle. + + Code is contributed under MIT/X11 license. + +Fri Oct 17 15:23:00 CEST 2008 Paolo Molaro + + * processes.c: patch from Geoff Norton (gnorton@novell.com) to + strdup the open program on OSX (bug #431811). + +2008-10-10 Gonzalo Paniagua Javier + + * versioninfo.c: remove the use of g_strdown. + +2008-09-25 Dick Porter + + * wait.c: Make sure we keep references to handles we're waiting + for. Fixes bug 424851. + +2008-07-29 Dick Porter + + * processes.c (get_module_name): Make a last-ditch effort to + figure out the process name. Fixes bug 413723, patch by Casey + Marshall + +2008-07-28 Dick Porter + + * handles.c (_wapi_handle_count_signalled_handles): Remove an + unmatched _wapi_handle_ref(). Fixes bug 410743. + +2008-07-15 Rodrigo Kumpera + + * versioninfo.c (map_pe_file): Fix memory leak. + +2008-07-01 Zoltan Varga + + * process-private.h (_WAPI_PROCESS_UNHANDLED_PID_MASK): Fix the amd64 build. + +2008-06-27 Dick Porter + + * processes.c: Implement a form of process pseudo-handle to allow + non-mono processes to be manipulated. Fixes bug 313231. + + * wait.c: Check for process pseudo-handles and fail if an attempt + is made to wait on one. + +2008-06-19 Dick Porter + + * sockets.c: Implement WSASend() and WSAReceive(). + +2008-06-02 Dick Porter + + * wapi.h: + * Makefile.am: + * messages.h: + * messages.c: Implement FormatMessage, fixes bug 321827. + +2008-05-29 Dick Porter + + * sockets.c (socket_close): Clear any saved errors + (_wapi_connect): Don't save EWOULDBLOCK errors here, as that + breaks async connects. (Bug 377589 test case broken by the + previous fix to bug 356552) + +2008-05-25 Zoltan Varga + + * thread-private.h (struct _WapiHandle_thread): Remove 'owner_pid' field. Reorder + fields so this struct (which is the biggest of the handle structs) takes less + space. + + * threads.c (QueueUserAPC): Make this function signal safe by adding some + restrictions on its usage. + +2008-05-14 Zoltan Varga + + * mono-mutex.h: Get rid of the #ifdef __cplusplus defines, use G_BEGIN_DECLS + /G_END_DECLS. + +2008-05-07 Dick Porter + + * io.c (FindNextFile): Handle symlinks correctly. Fixes bug + 385765. + +2008-04-25 Zoltan Varga + + * handles.c (_wapi_handle_check_share): Fix a crash introduced by the lazy + creation of wapi handle slots. + +2008-04-24 Zoltan Varga + + * handles.c (shared_init): Align _wapi_fd_reserve to a multiple of + _WAPI_HANDLE_INITIAL_COUNT to avoid a problem when allocating handles. + +2008-04-23 Zoltan Varga + + * handles.c: Initialize the handle array entries on demand to save memory. + + * wapi-private.h (_WAPI_HANDLE_INITIAL_COUNT): Decrease this to 256 to save + memory. + + * handles-private.h (_WAPI_PRIVATE_MAX_SLOTS): Increase this to 1024*16 to + compensate for the decrease in _WAPI_HANDLE_INITIAL_COUNT. + + * threads.c: Use #ifdef instead of #if for checking for valgrind/memcheck.h. + +2008-04-22 Dick Porter + + * wapi_glob.c (globextend): Comment out the code using ARG_MAX, as + that is broken on the latest opensuse. + +2008-04-21 Dick Porter + + * io.c (DeleteFile): Disable for now the bug fix for 323389, it's + breaking too much other stuff. + +2008-04-20 Geoff Norton + + * processes.c: Fix the _NSGetEnviron define to prevent an impropoer + pointer dereference. + +2008-04-18 Miguel de Icaza + + * Applied patch from Dick Porter from bug #380649 + +2008-04-17 Dick Porter + + * io.c (DeleteFile): Check file shares before deleting a file. + Fixes bug 323389. + +2008-04-17 Dick Porter + + * io.c (DeleteFile): Return ERROR_ACCESS_DENIED if the file is + readonly. Fixes bug 378229. + +2008-04-11 Geoff Norton + + * processes.c: The global extern environ doesn't exist on Mac. We + need to call NSGetEnviron instead. + +2008-04-08 Dick Porter + + * processes.c (CreateProcess): Improve the managed binary support, + so it works when the executable is passed in as the appname. + Fixes bug 377815. + +2008-04-04 Dick Porter + + * io.c (MoveFile): Check file shares before moving a file. Fixes + bug 377049. + +2008-04-04 Dick Porter + + * error.c (errno_to_WSA): handle ENODEV. Fixes the reopened part + of bug 324035. + +2008-04-04 Dick Porter + + * processes.c (GetModuleInformation): + * versioninfo.h: + * versioninfo.c: 64bit fixes + +2008-04-03 Dick Porter + + * io-portability.c (_wapi_basename, _wapi_dirname): Only turn \ + into / when MONO_IOMAP is in effect. Fixes bug 346123. + +2008-04-03 Dick Porter + + * timefuncs.c (GetTickCount): Use mono_msec_ticks(), see bug + 347476. + +2008-04-01 Dick Porter + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * io-layer.h: Removed Windows version macros. + +Thu Mar 13 16:24:53 CET 2008 Paolo Molaro + + * processes.c: properly check for executable files (fixes bug #368829). + +2008-02-05 Dick Porter + + * versioninfo.c (VerLanguageName): Implement VerLanguageName. + +2008-01-31 Bill Holmes + * 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//maps. + + * processes.c (get_module_name & GetModuleInformation) : In the case where + the module passed in is NULL, search the /proc//maps for a name that + matches the process name to populate the return information. + + Fixes #357062 + +2008-01-29 Zoltan Varga + + * 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 + + * 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 + + * 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 + + * 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 + + * versioninfo.c (VerQueryValue): Include trailing null in returned + string length, for MS compatibility. + +2008-01-09 Dick Porter + + * 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 + + * 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 + + * threads.c: Guard against a race condition involving + thread_hash_key that can occur during shutdown. + +2007-12-08 Zoltan Varga + + * processes.c: Include sys/mkdev.h if exists. Fixes solaris x86 build. + +2007-12-06 Dick Porter + + * versioninfo.c: Resource language values must be compared in a + 'case'-insensitive manner. Fixes bug 345972. + +2007-12-05 Dick Porter + + * io.c (CreateFile): Create files with mode 0666 (&~umask) by + default. Fixes bugs 325299 and 337040. + +2007-11-22 Dick Porter + + * critical-sections.h (EnterCriticalSection): Reinstate the + asserts in the devel branch, so any problems aren't obscured. + 2007-11-22 Dick Porter * versioninfo.c (find_pe_file_resources): Make it work on 64bit