1 2002-04-30 Dick Porter <dick@ximian.com>
3 * Completely rewrote the handle waiting code: removed the helper
4 thread and its attendant complexity. All handle waiting is now
5 abstracted into the WaitForSingleObject() and
6 WaitForMultipleObjects() functions.
8 * Implemented inter-process sharing of handles using sysv shared
9 memory. This makes handles even more opaque, with a handle now
10 just an index into an array.
12 2002-04-25 Dan Lewis <dihlewis@yahoo.co.uk>
14 * io.c: unitialized pointer in GetCurrentDirectory.
16 Sat Apr 20 13:37:39 CEST 2002 Paolo Molaro <lupus@ximian.com>
18 * threads.c: destroy the mutex at thread destruction
19 (if/when thread destruction code will be actually called).
20 When protecting a tls data pointer from the gc, use also the
23 Wed Apr 17 18:36:27 CEST 2002 Paolo Molaro <lupus@ximian.com>
25 * timed-thread.c: avoid race condition when setting the thread to
28 2002-04-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
30 * jit.h: to more #include lines to avoid breaking compilation
31 under windows when upgrading mingw and w32api to version
34 2002-04-16 Dick Porter <dick@ximian.com>
36 * atomic.h: Explanatory comment about lack of 80386 support
38 2002-04-15 Dick Porter <dick@ximian.com>
40 * atomic.h: use xaddl for InterlockedIncrement() and
41 InterlockedDecrement(). Use cmpxchgl in a loop for
42 InterlockedExchange() and InterlockedExchangePointer().
44 Mon Apr 15 13:31:22 CEST 2002 Paolo Molaro <lupus@ximian.com>
46 * unicode.c: fix unicode_len() to not access uninitialized memory
47 (and updated to conform to mono code style).
49 Fri Mar 29 17:15:11 CET 2002 Paolo Molaro <lupus@ximian.com>
51 * io.c: EEXISTS is ignored for directory creation.
52 * mono-mutex.h: remove silly "pragma }" that emacs users insert
53 because they use a broken editor:-)
55 2002-03-28 Dick Porter <dick@ximian.com>
61 * handles.c: Warning cleanups
63 2002-03-27 Dan Lewis <dihlewis@yahoo.co.uk>
65 * unicode.h, unicode.c: changed to gunichar2
66 * io.h, io.c: changed strings to gunichar2*, added
67 SetFileAttributes(), GetCurrentDirectory(), SetCurrentDirectory(),
68 some fixes to FindFirstFile() and friends.
70 2002-03-26 Dick Porter <dick@ximian.com>
72 * types.h: Implement the large integer struct
75 * timefuncs.c: Dummy functions that don't yet implement
76 QueryPerformanceCounter() and QueryPerformanceFrequency()
79 * threads.c: Implement SleepEx()
82 * system.c: Beginnings of GetSystemInfo()
84 * mono-mutex.c (pthread_mutex_timedlock): Fix a ms/ns conversion
88 * context.c: Dummy function that doesnt yet implement
92 * atomic.c: Interlocked functions
94 Mon Mar 25 13:01:40 CET 2002 Paolo Molaro <lupus@ximian.com>
96 * threads.c: use a gc-safe hash table to store tls pointers.
98 2002-03-22 Dick Porter <dick@ximian.com>
100 * threads.c: Fix a race condition where a thread can start and
101 exit before the handle has been properly initialised (no reason
102 why the handle couldn't be initialised beforehand, so do so)
104 Fix a ms to ns conversion magnitude thinko.
106 2002-03-21 Dick Porter <dick@ximian.com>
108 * semaphores.c: Fix a problem when waiting for one or more
109 semaphores, and another semaphore is Released (all waiting
110 semaphores assumed they were signalled)
112 2002-03-29 Dan Lewis <dihlewis@yahoo.co.uk>
114 * io.h, io.c, uglify.h: added MoveFile, CopyFile, CreateDirectory,
115 RemoveDirectory, GetFileAttributes, GetFileAttributesEx
117 2002-03-19 Dietmar Maurer <dietmar@ximian.com>
119 * threads.c (Sleep): bug fix: 1ms == 1000000ns
121 2002-03-19 Dan Lewis <dihlewis@yahoo.co.uk>
123 * io.h, io.c, events.c, mutexes.c, semaphores.c, sockets.c,
124 threads.c, io.c: added flush method to handles.
126 * io.c: FlushFileBuffers() and FindFirstFile() functions.
128 Thu Mar 7 17:21:52 CET 2002 Paolo Molaro <lupus@ximian.com>
130 * threads.c, timed-thread.c, wait.c: Boehm-GC anable.
132 2002-02-20 Dick Porter <dick@ximian.com>
134 * io-layer.h: Always build without cygwin support on windows
136 Mon Feb 18 15:50:59 CET 2002 Paolo Molaro <lupus@ximian.com>
138 * sockets.c: #undef DEBUG.
140 2002-02-14 Jeffrey Stedfast <fejj@ximian.com>
142 * io-layer.h: conditionally include sys/filio.h and sys/sockio.h
143 for FIONBIO, FIONREAD, and SIOCATMARK.
145 2002-02-14 Jeffrey Stedfast <fejj@ximian.com>
147 * sockets.c: conditionally include sys/filio.h and sys/sockio.h
148 for FIONBIO, FIONREAD, and SIOCATMARK.
150 2002-02-13 Dick Porter <dick@ximian.com>
152 * sockets.c: Implement shutdown and select
154 2002-02-13 Jeffrey Stedfast <fejj@ximian.com>
156 * mono-mutex.[c,h]: New source files that thinly wrap all pthread
157 functions that take pthread_mutex_t and/or pthread_mutexattr_t
158 arguments for the sake of portability. Implements recursive
159 mutexes and pthread_mutex_timedlock.
161 * critical-sections.c:
168 * wait.c: Use the mono-mutex wrapper portability functions/macros.
170 * pthread-compat.[c,h]: Replaced by mono-mutex.[c,h]
172 2002-01-23 Dick Porter <dick@ximian.com>
174 * sockets.c: Networking support, mostly wrapping BSD socket APIs
175 with handle code, and translating errno into w32 error codes.
177 * macros.h: Some w32 macros used with the socket support
179 * error.c: Implemented GetLastError() and SetLastError()
181 * Makefile.am: Added sockets, with kludge to override some symbols
183 2001-12-17 Dietmar Maurer <dietmar@ximian.com>
185 * unicode.c (_wapi_unicode_to_utf8): byteswap UTF16 strings before
186 passing them to iconv
187 (_wapi_unicode_to_utf8): only swap bytes on LE systems, remove bug
188 from previous commit.
190 2001-12-11 Dick Porter <dick@ximian.com>
192 * io.c: Implement DeleteFile(), GetFileTime(), SetFileTime() and
193 FileTimeToSystemTime().
195 * unicode.c (unicode_len): Nasty way of finding length of unicode
196 string with embedded NULLs (counts until two NULLs together).
198 * mutexes.c (mutex_close):
199 * events.c (event_close): Release the internal pthreads resources
201 2001-11-26 Dick Porter <dick@ximian.com>
203 * critical-sections.c:
211 * wait.c: turn off DEBUG messages
213 2001-11-22 Dick Porter <dick@ximian.com>
215 * handles.c (SignalObjectAndWait): Implement
217 * wait.c (WaitForSingleObject): Fix case where timeout == 0
223 * events.c: Support for SignalObjectAndWait
225 2001-11-21 Dick Porter <dick@ximian.com>
232 * wait.c: Reliable method of returning which handle was signalled
233 on return from WaitForMultipleObjects().
235 2001-11-21 Dick Porter <dick@ximian.com>
237 * events.c: Implement events
239 2001-11-15 Dick Porter <dick@ximian.com>
241 * mutexes.c: Implement mutexes
245 * misc.c: Factor out some common code
247 2001-11-13 Dick Porter <dick@ximian.com>
249 * threads.c: Implement TLS. Implement GetCurrentThreadId(), and
250 GetCurrentThread() by maintaining a hash of thread handles.
252 * threads.h: Define thread and process creation flags
254 2001-11-12 Dick Porter <dick@ximian.com>
256 * critical-sections.c: Implement critical sections
258 2001-11-12 Dick Porter <dick@ximian.com>
260 * semaphores.c: Implement semaphores
262 * wait.c (wait_for_item): Maintain a wait count rather than count
265 * threads.c (thread_wait_multiple): Don't lock the wait item, that
266 will block other wait threads
268 2001-11-11 Dick Porter <dick@ximian.com>
270 * Makefile.am: Rename some automake variables
271 (from Nick Drochak <ndrochak@gol.com>)
273 2001-11-10 Dick Porter <dick@ximian.com>
275 * Makefile.am (libwapiincludedir): Fix include destination
277 * .cvsignore: Ignore generated files
279 2001-11-10 Dietmar Maurer <dietmar@ximian.com>
281 * pthread-compat.c: added some include files to make it compile on
284 2001-11-08 Dick Porter <dick@ximian.com>
288 This is a library emulating the win32 threading and IO API.