+2004-06-03 Lluis Sanchez Gual <lluis@ximian.com>
+
+ * threads.c: Implemented SleepEx.
+ * threads.h: Fixed SleepEx signature.
+
+2004-06-03 Miguel de Icaza <miguel@ximian.com>
+
+ * threads.c: When running under valgrind, do not allocate too much
+ stack, as Valgrind default is 1 meg.
+
+2004-05-27 Dick Porter <dick@ximian.com>
+
+ * io.h:
+ * io.c: Implemented LockFile() and UnlockFile()
+
+2004-05-21 Dick Porter <dick@ximian.com>
+
+ * io.c (CreateFile): Check for existing share modes when opening
+ a file.
+
+ * handles.c:
+ * handles-private.h:
+ * daemon-messages.h:
+ * daemon.c: Maintain a hash of file share modes, keying on device
+ and inode (to cope with symlinks.)
+
+2004-05-20 Lluis Sanchez Gual <lluis@ximian.com>
+
+ * daemon-messages.c: Retry if the communication with the daemon is
+ interrupted by a signal.
+ * io.c, sockets.c: Check for EINTR in every syscall that can be interrumped.
+ Only return an error in this case if there is something in the apc queue
+ (which means that it is an interruption requested by the "user").
+ * processes.c: Use WaitForSingleObjectEx. No need to pass "alertable" as
+ true since the wait is small.
+ * shared.c: Retry write calls when interrumped by a signal.
+ * timed-thread.h, timed-thread.c: added _wapi_thread_apc_pending, which
+ returns TRUE if there are pending asynchronous calls (APC) for the
+ provided thread. Also added _wapi_thread_dispatch_apc_queue which calls
+ the enqueued APCs. Defined a new struct ApcInfo that holds information
+ about an enqueued APC.
+ * thread-private.h, threads.c: Implemented QueueUserAPC (which does the same
+ as in win32),_wapi_thread_apc_pending and _wapi_thread_dispatch_apc_queue.
+ These last two methods call the corresponding apc methods in
+ thread-private using the provided thread handle.
+ * threads.h: Added QueueUserAPC.
+ * uglify.h: Added WapiApcProc (needed by QueueUserAPC).
+ * wait.c, wait.h: Changed WaitForSingleObject to WaitForSingleObjectEx, and
+ WaitForMultipleObjects to WaitForMultipleObjectsEx. Implemented support
+ for APCs in those two methods and also in SleepEx.
+
+2004-05-17 Dick Porter <dick@ximian.com>
+
+ * io.c (CopyFile): Speed up. Fixes bug 57859.
+
+2004-05-13 Dick Porter <dick@ximian.com>
+ * mono-mutex.c (mono_mutex_unlock): Return EPERM when the current
+ thread doesn't own the mutex, rather than assert()ing.
+
+2004-05-11 Dick Porter <dick@ximian.com>
+
+ * shared.c (_wapi_shm_attach): Cope when a previous daemon startup
+ attempt failed, leaving shared files that look like a daemon is
+ still starting.
+
+2004-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * io.c:
+ (SetFileAttributes): don't the the exec bit if the corresponding read
+ bit is not set.
+
+2004-05-10 Zoltan Varga <vargaz@freemail.hu>
+
+ * io.c (FindFirstFile): Fix invalid free.
+
+2004-05-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * io.c: translate from GFileError to errno codes and don't free
+ variables right after calling mono_io_scandir, as we may overwrite
+ errno value.
+
+2004-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * io.c: g_dir_open return ENOENT for directories on which we don't have
+ read/execute permission, while returning EPERM for anything below those.
+ So, change ENOENT by EPERM if the directory exists.
+
+2004-05-07 Dick Porter <dick@ximian.com>
+
+ * io.c (SetFileAttributes): Don't have failed chmod()s cause a
+ "file not found" error. Fixes bug 54032.
+
+2004-05-07 Dick Porter <dick@ximian.com>
+
+ * io.c (FindFirstFile): Comment out a windows-compatibility check
+ that breaks when directories have metachars in their names.
+ Workaround for bug 58116.
+
+2004-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * io.c: fixed for FindFirstFile for empty directories. Closes
+ bug #58147.
+
2004-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* processes.c: set the start time for the current process. Fixes bug