2002-04-15 Dick Porter * atomic.h: use xaddl for InterlockedIncrement() and InterlockedDecrement(). Use cmpxchgl in a loop for InterlockedExchange() and InterlockedExchangePointer(). Mon Apr 15 13:31:22 CEST 2002 Paolo Molaro * unicode.c: fix unicode_len() to not access uninitialized memory (and updated to conform to mono code style). Fri Mar 29 17:15:11 CET 2002 Paolo Molaro * io.c: EEXISTS is ignored for directory creation. * mono-mutex.h: remove silly "pragma }" that emacs users insert because they use a broken editor:-) 2002-03-28 Dick Porter * sockets.h: * sockets.c: * io.c: * handles.h: * handles.c: Warning cleanups 2002-03-27 Dan Lewis * unicode.h, unicode.c: changed to gunichar2 * io.h, io.c: changed strings to gunichar2*, added SetFileAttributes(), GetCurrentDirectory(), SetCurrentDirectory(), some fixes to FindFirstFile() and friends. 2002-03-26 Dick Porter * types.h: Implement the large integer struct * timefuncs.h: * timefuncs.c: Dummy functions that don't yet implement QueryPerformanceCounter() and QueryPerformanceFrequency() * threads.h: * threads.c: Implement SleepEx() * system.h: * system.c: Beginnings of GetSystemInfo() * mono-mutex.c (pthread_mutex_timedlock): Fix a ms/ns conversion thinko * context.h: * context.c: Dummy function that doesnt yet implement GetThreadContext() * atomic.h: * atomic.c: Interlocked functions Mon Mar 25 13:01:40 CET 2002 Paolo Molaro * threads.c: use a gc-safe hash table to store tls pointers. 2002-03-22 Dick Porter * threads.c: Fix a race condition where a thread can start and exit before the handle has been properly initialised (no reason why the handle couldn't be initialised beforehand, so do so) Fix a ms to ns conversion magnitude thinko. 2002-03-21 Dick Porter * semaphores.c: Fix a problem when waiting for one or more semaphores, and another semaphore is Released (all waiting semaphores assumed they were signalled) 2002-03-29 Dan Lewis * io.h, io.c, uglify.h: added MoveFile, CopyFile, CreateDirectory, RemoveDirectory, GetFileAttributes, GetFileAttributesEx 2002-03-19 Dietmar Maurer * threads.c (Sleep): bug fix: 1ms == 1000000ns 2002-03-19 Dan Lewis * io.h, io.c, events.c, mutexes.c, semaphores.c, sockets.c, threads.c, io.c: added flush method to handles. * io.c: FlushFileBuffers() and FindFirstFile() functions. Thu Mar 7 17:21:52 CET 2002 Paolo Molaro * threads.c, timed-thread.c, wait.c: Boehm-GC anable. 2002-02-20 Dick Porter * io-layer.h: Always build without cygwin support on windows Mon Feb 18 15:50:59 CET 2002 Paolo Molaro * sockets.c: #undef DEBUG. 2002-02-14 Jeffrey Stedfast * io-layer.h: conditionally include sys/filio.h and sys/sockio.h for FIONBIO, FIONREAD, and SIOCATMARK. 2002-02-14 Jeffrey Stedfast * sockets.c: conditionally include sys/filio.h and sys/sockio.h for FIONBIO, FIONREAD, and SIOCATMARK. 2002-02-13 Dick Porter * sockets.c: Implement shutdown and select 2002-02-13 Jeffrey Stedfast * mono-mutex.[c,h]: New source files that thinly wrap all pthread functions that take pthread_mutex_t and/or pthread_mutexattr_t arguments for the sake of portability. Implements recursive mutexes and pthread_mutex_timedlock. * critical-sections.c: * events.c: * handles.c: * mutexes.c: * semaphores.c: * threads.c: * timed-thread.c: * wait.c: Use the mono-mutex wrapper portability functions/macros. * pthread-compat.[c,h]: Replaced by mono-mutex.[c,h] 2002-01-23 Dick Porter * sockets.c: Networking support, mostly wrapping BSD socket APIs with handle code, and translating errno into w32 error codes. * macros.h: Some w32 macros used with the socket support * error.c: Implemented GetLastError() and SetLastError() * Makefile.am: Added sockets, with kludge to override some symbols 2001-12-17 Dietmar Maurer * unicode.c (_wapi_unicode_to_utf8): byteswap UTF16 strings before passing them to iconv (_wapi_unicode_to_utf8): only swap bytes on LE systems, remove bug from previous commit. 2001-12-11 Dick Porter * io.c: Implement DeleteFile(), GetFileTime(), SetFileTime() and FileTimeToSystemTime(). * unicode.c (unicode_len): Nasty way of finding length of unicode string with embedded NULLs (counts until two NULLs together). * mutexes.c (mutex_close): * events.c (event_close): Release the internal pthreads resources 2001-11-26 Dick Porter * critical-sections.c: * events.c: * handles.c: * io.c: * mutexes.c: * semaphores.c: * threads.c: * timed-thread.c: * wait.c: turn off DEBUG messages 2001-11-22 Dick Porter * handles.c (SignalObjectAndWait): Implement * wait.c (WaitForSingleObject): Fix case where timeout == 0 * threads.c: * semaphores.c: * mutexes.c: * io.c: * events.c: Support for SignalObjectAndWait 2001-11-21 Dick Porter * events.c: * handles.c: * mutexes.c: * semaphores.c: * threads.c: * wait.c: Reliable method of returning which handle was signalled on return from WaitForMultipleObjects(). 2001-11-21 Dick Porter * events.c: Implement events 2001-11-15 Dick Porter * mutexes.c: Implement mutexes * threads.c: * semaphores.c: * misc.c: Factor out some common code 2001-11-13 Dick Porter * threads.c: Implement TLS. Implement GetCurrentThreadId(), and GetCurrentThread() by maintaining a hash of thread handles. * threads.h: Define thread and process creation flags 2001-11-12 Dick Porter * critical-sections.c: Implement critical sections 2001-11-12 Dick Porter * semaphores.c: Implement semaphores * wait.c (wait_for_item): Maintain a wait count rather than count signalled booleans. * threads.c (thread_wait_multiple): Don't lock the wait item, that will block other wait threads 2001-11-11 Dick Porter * Makefile.am: Rename some automake variables (from Nick Drochak ) 2001-11-10 Dick Porter * Makefile.am (libwapiincludedir): Fix include destination * .cvsignore: Ignore generated files 2001-11-10 Dietmar Maurer * pthread-compat.c: added some include files to make it compile on linux. 2001-11-08 Dick Porter * Initial checkin. This is a library emulating the win32 threading and IO API.