+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
+ #58109.
+
+2004-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * io-private.h: 'namelist' is now a gchar ** in _WapiHandlePrivate_find.
+ * io.c: implemented scandir using glib functions.
+
+2004-05-04 Dick Porter <dick@ximian.com>
+
+ * daemon.c (read_message): Return FALSE on error so the GSource
+ callback itself can return FALSE. Cures the infinite loop poll()
+ warning on MacosX.
+ * shared.c: Fix some daemon startup race conditions.
+
+2004-04-29 Miguel de Icaza <miguel@ximian.com>
+
+ * io.c (CopyFile): Use 32k buffers to copy the file instead of 2k,
+ use the stack, do not use dynamic memory.
+
+2004-04-29 Zoltan Varga <vargaz@freemail.hu>
+
+ * io.c: Add scandir implementation for platforms which do not have
+ it, like solaris.
+
+2004-04-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * io.[ch]: implemented GetLogicalDriveStrings.
+
+2004-04-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * io.c:
+ * sockets.c: use the field name from configure when accessing sigval
+ pointer field. Makes this work on the Mac.
+
+2004-04-28 Bernie Solomon <bernard@ugsolutions.com>
+
+ * atomic.c: (InterlockedExchange) fix typo for
+ mutex name
+
+2004-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * io.c:
+ * sockets.c: added check for sys/aio.h.
+
+2004-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * error.[ch]: added _wapi_get_win32_file_error...
+ * io.c: ... which was _wapi_get_win32_error here.
+ * sockets.c: rename the function calls here too.
+
2004-04-28 Dick Porter <dick@ximian.com>
* daemon-messages.c: Avoid a deadlock when a thread is killed while