1 2003-02-21 Dick Porter <dick@ximian.com>
3 * processes.c (GetCurrentProcessId): Use the current process
4 handle to return the process ID, as getpid() is unreliable
5 (linuxthreads gives each thread a different pid). Fixes bug
8 2003-02-21 Dick Porter <dick@ximian.com>
10 * io.c (FindNextFile): Skip over dangling symlinks. Fixes bug
13 2003-02-11 Dick Porter <dick@ximian.com>
16 * timefuncs.c: Added GetTickCount()
18 2003-02-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
20 * error.c: added WSA_EHOSTUNREACH mapping.
22 2003-01-26 Miguel de Icaza <miguel@ximian.com>
24 * io.c (SetFileAttributes): This routine is not currently
25 implemented for the general case, but I added a special case to
26 set the executable bit on Linux.
28 Wed Jan 15 15:55:40 CET 2003 Paolo Molaro <lupus@ximian.com>
30 * sockets.h, daemon.c, io.c: compilation fixes on MacOSX.
32 2003-01-08 Dick Porter <dick@ximian.com>
34 * sockets.c: Fixed setting blocking mode to true (fixes bug 36388)
36 2002-12-11 Juli Mallett <jmallett@FreeBSD.org>
38 * daemon.c, handles-private.h, handles.c, wapi-private.h:
39 Check for an implementation which says it supports
40 _POSIX_THREAD_PROCESS_SHARED, rather than just one that
41 defines the symbol. Defined but with a value of -1 still
42 means that it is unsupported.
44 2002-12-08 Martin Baulig <martin@ximian.com>
46 * handles.c (_wapi_handle_new): Create new non-shared handles with
47 an initial refcount of 1, not 0.
49 2002-11-22 Dietmar Maurer <dietmar@ximian.com>
51 * threads.c (TlsGetValue): removed unnecessary mutex
53 2002-11-20 Dick Porter <dick@ximian.com>
55 * timed-thread.c (_wapi_timed_thread_attach): Attached threads
56 need to store their data structure too.
58 * threads.c: Make sure the threading data is initialised wherever
61 2002-11-15 Dick Porter <dick@ximian.com>
63 * timed-thread.c: Removed unneeded parameters in
64 _wapi_timed_thread_attach().
66 * threads.c: Renamed AttachThread() to make it not look like
67 external API. Removed unneeded parameters.
69 2002-11-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
71 * error.[ch]: added errno_to_WSA (). It displays a warning and return
72 WSASYSCALLFAILURE if there is no error mapping for the given errno,
74 * sockets.c: use errno_to_WSA and fixed display of warning for h_errno.
76 2002-10-31 Dick Porter <dick@ximian.com>
79 * io.c: Define and use INVALID_FILE_ATTRIBUTES
81 2002-10-07 Dick Porter <dick@ximian.com>
84 * daemon.c: Use a more accurate time source for process start and
87 2002-10-03 Dick Porter <dick@ximian.com>
91 * threads.c: Fixes for freebsd. Make sure that mutex and condition
92 creation and deletion happen in the process that owns them, when
93 POSIX shared thread objects aren't supported. This breaks on
94 freebsd, as pthread_t is a pointer to data.
96 2002-10-02 Dick Porter <dick@ximian.com>
98 * shared.c: Use mmap() instead of sysv shm for the shared data.
100 * wapi-private.h (_WAPI_HANDLE_VERSION): Reset back to 0, for the
104 * daemon.c: mmap()ed regions survive fork, so just pass the
105 pointer to _wapi_daemon_main instead of mapping it again.
107 2002-10-01 Dick Porter <dick@ximian.com>
109 * timed-thread.c: Kludge for CREATE_SUSPENDED thread creation.
110 Unfortunately libgc uses the same thread suspend technique that I
111 want to, and the two don't mix: libgc will deadlock when it tries
112 to stop the world if a thread has already been suspended by
113 someone else. Just do the simple suspended create rather than the
114 general purpose thread suspension for now.
116 * threads.c: Pass create flags to the timed_thread create call, to
117 implement suspended thread creation. ResumeThread() partially
118 implemented, to cope with the case where a newly created but
119 suspended thread is launched.
121 2002-09-30 Dick Porter <dick@ximian.com>
123 * sockets.c (ioctlsocket): Set non-blocking mode in a better way,
126 2002-09-27 Dick Porter <dick@ximian.com>
128 * semaphores.c: Only include semaphore.h if it's present. Patch
129 for BSD from jmmv@hispabsd.org (Julio Merino).
131 2002-09-27 Dick Porter <dick@ximian.com>
133 * processes.c: Pass environment and working directory to the
134 daemon when forking. Don't let argv[0] be duplicated when looking
135 for the program name. Implement EnumProcessModules (simple
136 version for now, lsof-style later if needed), GetModuleBaseName,
137 {Get,Set}ProcessWorkingSetSize (just faked, because the vm hints
138 aren't available on Linux).
140 * process-private.h: Store the process name, and the working set
144 * handles-private.h: New functions to store and retrieve an array
145 of strings in the scratch space
147 * daemon.c: Don't miss deleting some handles when a client exits
148 (we used to rely on the client doing the final cleanup, but
149 obviously if the client is no longer there the daemon has to do
152 Process forking now sets the environment and the working
155 * io.c: Don't confuse fd 0 with an unassigned handle struct
157 * atomic.h: Add a google cache alternative to the msdn URL
159 2002-09-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
162 (_wapi_recvfrom): added ECONNRESET to the switch.
164 2002-09-24 Mark Crichton <crichton@gimp.org>
166 * atomic.h: Yea. On linux, sparc isn't sparc, it's __sparc__.
169 2002-09-19 Mark Crichton <crichton@gimp.org>
171 * daemon.c, shared.c: Added NEED_LINK_UNLINK for systems that
172 dont have Linux's abstract filesystem for sockets.
174 2002-09-19 Mark Crichton <crichton@gimp.org>
176 * atomic.h: Added SPARC atomic asm code.
177 * daemon.c, handles-private.h, handles.c, wapi-private.h:
178 undefined _POSIX_THREAD_PROCESS_SHARED. This actually exists on
179 Solaris 9, however, the code paths don't seem to work. More testing
180 on the shared case is *really* needed.
182 2002-09-03 Dick Porter <dick@ximian.com>
185 * threads.c: Removed PosixKillThread(), because it's not in the
188 2002-08-20 Dick Porter <dick@ximian.com>
190 * handles.c (_wapi_handle_scratch_store): Made stored byte lengths
191 multiples of 4 bytes, to keep header structures aligned. Needed
192 for sparc, at least. (Patch from crichton@gimp.org)
194 * handles.c: Removed 'disable_shm' variable (we've defaulted to
195 building with shm enabled for months now)
197 2002-08-19 Dick Porter <dick@ximian.com>
199 * daemon.c: Rewrote the poll() loop to use GIOChannels instead,
200 for legacy NeXT-based systems.
202 2002-08-12 Dick Porter <dick@ximian.com>
204 * atomic.h: Rename some parameters to avoid c++ keywords (Patch
205 from Joseph Wenninger <kde@jowenn.at>)
207 2002-08-05 Dietmar Maurer <dietmar@ximian.com>
209 * threads.c: use fast spinlocks by default
211 2002-08-02 Dick Porter <dick@ximian.com>
213 * io.c (GetStdHandle): Add a handle reference when returning a
214 duplicate console handle. This fixes the unref_handle errors in
217 2002-08-01 Dietmar Maurer <dietmar@ximian.com>
219 * threads.c (TLS_PTHREAD_MUTEX): define this because else some
222 2002-08-01 Dick Porter <dick@ximian.com>
224 * threads.c: Use atomic spinlocks in TLS functions
227 * Makefile.am: Added mono-spinlock.h
229 2002-07-21 Jeffrey Stedfast <fejj@ximian.com>
231 * daemon-messages.c: #include <sys/types.h> and <sys/sockets.h> -
232 these are needed for sendmsg() and also for struct msghdr (at
233 least on Solaris). Solaris still won't build because struct msghdr
234 doesn't have msg_flags, msg_control, or msg_controllen members.
235 (CMSG_SPACE): Define for systems that don't have it.
238 2002-07-20 Dick Porter <dick@ximian.com>
244 * handles.c: Implemented pipe handles
247 * daemon.c: Fixed bug in handle closing.
250 * daemon.c: Forked processes now close all open file descriptors.
252 Fri Jul 19 19:05:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
254 * sockets.h, io-layer.h, critical-sections.h: don't include config.h
257 2002-07-19 Martin Baulig <martin@gnome.org>
259 * threads.c (ExitThread): Call exit() if no threads has been
262 2002-07-17 Dick Porter <dick@ximian.com>
264 * daemon-messages.c: Freebsd fixes from Andreas Kohn
265 <andreas.kohn@gmx.net>
267 2002-07-15 Dick Porter <dick@ximian.com>
269 * io.c: Removed bogus console_flush() method, that was just cut
270 and pasted from file_flush when I separated the two handle types.
272 2002-07-12 Dick Porter <dick@ximian.com>
274 * io.c (convert_from_flags): Fixed misunderstanding wrt fcntl
275 flags. Fixes bug 27633.
277 2002-07-12 Dick Porter <dick@ximian.com>
281 * daemon.c: Use size of sockaddr_un.sun_path from config.h
283 2002-07-12 Dick Porter <dick@ximian.com>
285 * processes.c (CreateProcess): Send stdin, stdout and stderr
286 handles if the startup info doesnt specify new ones
288 * io.c (GetStdHandle): Return the same handle when the same
289 standard handle is requested
291 * handles.c: Pass file descriptors when forking
293 * daemon.c: Use supplied file descriptors when forking a new
297 * daemon-messages.c: Pass stdin, stdout and stderr file
298 descriptors to the daemon (used when forking)
300 2002-07-11 Miguel de Icaza <miguel@ximian.com>
302 * daemon.c (_wapi_daemon_main): Use sizeof
303 (main_socket_address.sun_path) instead of hardcoded 108 value.
305 * handles.c (shared_init): Use sizeof
306 (shared_socket_address.sun_path) instead of hardcoded 108 value.
308 2002-07-10 Dennis Haney <davh@davh.dk>
312 * daemon.c: Lots of documentation, some added error checking, and
313 code readability improvements.
315 * daemon-messages.h: Add the Error request type to improve error
318 * daemon-messages.c: Do a bit more error checking on send() and
319 recv(), and log errors with a higher severity level.
321 2002-07-04 Dick Porter <dick@ximian.com>
323 * daemon.c (process_process_fork): Fix argument handling, due to
324 buggy understanding of g_strsplit() behaviour.
326 2002-07-03 Dick Porter <dick@ximian.com>
329 * threads.c: Implement OpenThread(). Define access-control values
335 * Makefile.am: Added access.h, to hold shared access-control
338 2002-07-02 Dick Porter <dick@ximian.com>
340 * wapi-private.h (_WAPI_HANDLE_VERSION): New protocol version
342 2002-07-02 Dick Porter <dick@ximian.com>
344 * handles.c (shared_init): Make a second attempt to contact the
345 daemon if the shared memory attach succeeds, but the connect()
346 fails. (This copes with the daemon crashing without cleaning up
352 * shared.c (_wapi_shm_attach): Don't exec() anything when we fork
353 the daemon, it's now built into the library.
355 2002-06-25 Dick Porter <dick@ximian.com>
360 * daemon.c: Process forking and handle data management
364 * processes.c: Process forking and other support functions
366 2002-06-25 Dick Porter <dick@ximian.com>
368 * versioninfo.h: PE resource decoding
370 * unicode.c (_wapi_unicode_to_utf8): g_utf16_to_utf8 doesnt need
371 to be told the string length
373 * io.c: Removed the ACTUALLY_DO_UNICODE option. Fixed some leaks.
374 Moved _wapi_time_t_to_filetime and the WapiFileTime typedef to
377 2002-06-12 Dick Porter <dick@ximian.com>
380 * daemon-messages.c: Handle SIGPIPE in a non-stupid way in the
381 daemon, if MSG_NOSIGNAL isn't available. Thanks to Jaroslaw
382 Kowalski <jarek@atm.com.pl> for pointing out the bogosity.
384 2002-06-10 Jaroslaw Kowalski <jarek@atm.com.pl>
386 * sockets.c, daemon-messages.c: Prevent SIGPIPE from being raised
387 when writing to a closed socket.
389 2002-06-08 Jeffrey Stedfast <fejj@ximian.com>
391 * mono-mutex.c (mono_once): New convenience function for my
396 * critical-sections.c:
404 * atomic.c: Use mono_once() rather than pthread_once().
406 2002-06-06 Jeffrey Stedfast <fejj@ximian.com>
408 * handles.c (_wapi_handle_new): pthread_once() is not atomic, so
409 if multiple threads all try to call _wapi_handle_new() before the
410 shared data has been initialized, it is possible that we could get
411 into a condition where shared_init() is being executed and later
412 threads will pass by pthread_once() due to the fact that it has
413 already been called and so therefor will attempt to use the shared
414 data before it has been completely initialized. If we instead use
415 a standard mutex locking mechanism around shared_init(), we can
416 avoid the situation entirely. By wrapping the mutex locking in a
417 check to see if we've already initialized the data, we can even
418 avoid wasting resources by having to lock/unlock the mutex in any
419 later calls (the only time we'd have to worry about
420 locking/unlocking is the initial race to call shared_init() at
423 Sat Jun 1 13:27:11 CEST 2002 Paolo Molaro <lupus@ximian.com>
425 * atomic.h: inline asm fixes from Dennis Haney (davh@davh.dk).
427 Fri May 31 16:21:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
429 * daemon.c, handles.c: rename "sun" local var since it's apparently
430 a #define on Solaris.
432 Fri May 31 15:40:14 CEST 2002 Paolo Molaro <lupus@ximian.com>
434 * daemon-messages.c: work-around MSG_NOSIGNAL missing on some
437 2002-05-15 Dick Porter <dick@ximian.com>
439 * wait.c: Fix a deadlock in WaitForMultipleObjects
441 2002-05-14 Dick Porter <dick@ximian.com>
443 * io.c: Fix a cut&paste error, found by
444 Jaroslaw Kowalski <jarek@atm.com.pl>
446 2002-05-10 Dan Lewis <dihlewis@yahoo.co.uk>
450 2002-05-09 Dick Porter <dick@ximian.com>
458 * Makefile.am: Remove now-unused file wait-private.h
460 2002-05-08 Dick Porter <dick@ximian.com>
462 * shared.c: Better error messages, and report when daemon
463 connection fails rather than blocking forever. Do some more
464 shared memory sanity checking.
466 * handles.c: Better error messages when connecting to shared
467 memory and the handle daemon. Fall back to non-shared handles if
468 an error occurs. Set the default back to 'shared handles'. Fix a
469 crashing bug in scratch space allocation that mangled the block
472 2002-05-07 Miguel de Icaza <miguel@ximian.com>
474 * handles.c (shared_init): Disable SHM for now, people have too
475 many problems with this, and the diagnostics are not helping.
477 2002-05-06 Dan Lewis <dihlewis@yahoo.co.uk>
479 * io.c: CreateFile sets win32 last error.
481 2002-05-05 Dick Porter <dick@ximian.com>
492 * semaphore-private.h:
496 * event-private.h: Simplify the WapiHandleOps struct: take out all
497 the file-specific entries, leaving just the items that operate on
498 handles themselves. Split the close operation into shared and
499 private parts: shared close is called by the daemon.
501 * handles.c: As above, but also pass handle allocation, ref and
502 unref operations to the daemon. Populate the handle_ops array at
503 compile time, because the daemon needs to call ops on handles too.
504 Don't bother to track open handle counts any more, the daemon does
508 * thread-private.h: As above, but also make the thread data
511 * shared.c: Fork a handle daemon if the calling process created
512 the shared memory segment.
517 * Makefile.am: Build a daemon to manage handle allocation and
518 destruction without needing to lock the shared memory
520 2002-04-30 Jeffrey Stedfast <fejj@ximian.com>
522 * atomic.c: Changed to use a normal mutex rather than a spinlock
523 since a lot of platforms seem to not have them :\
525 2002-04-30 Dick Porter <dick@ximian.com>
527 * Completely rewrote the handle waiting code: removed the helper
528 thread and its attendant complexity. All handle waiting is now
529 abstracted into the WaitForSingleObject() and
530 WaitForMultipleObjects() functions.
532 * Implemented inter-process sharing of handles using sysv shared
533 memory. This makes handles even more opaque, with a handle now
534 just an index into an array.
536 2002-04-25 Dan Lewis <dihlewis@yahoo.co.uk>
538 * io.c: unitialized pointer in GetCurrentDirectory.
540 Sat Apr 20 13:37:39 CEST 2002 Paolo Molaro <lupus@ximian.com>
542 * threads.c: destroy the mutex at thread destruction
543 (if/when thread destruction code will be actually called).
544 When protecting a tls data pointer from the gc, use also the
545 thread id in the key.
547 Wed Apr 17 18:36:27 CEST 2002 Paolo Molaro <lupus@ximian.com>
549 * timed-thread.c: avoid race condition when setting the thread to
552 2002-04-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
554 * jit.h: to more #include lines to avoid breaking compilation
555 under windows when upgrading mingw and w32api to version
558 2002-04-16 Dick Porter <dick@ximian.com>
560 * atomic.h: Explanatory comment about lack of 80386 support
562 2002-04-15 Dick Porter <dick@ximian.com>
564 * atomic.h: use xaddl for InterlockedIncrement() and
565 InterlockedDecrement(). Use cmpxchgl in a loop for
566 InterlockedExchange() and InterlockedExchangePointer().
568 Mon Apr 15 13:31:22 CEST 2002 Paolo Molaro <lupus@ximian.com>
570 * unicode.c: fix unicode_len() to not access uninitialized memory
571 (and updated to conform to mono code style).
573 Fri Mar 29 17:15:11 CET 2002 Paolo Molaro <lupus@ximian.com>
575 * io.c: EEXISTS is ignored for directory creation.
576 * mono-mutex.h: remove silly "pragma }" that emacs users insert
577 because they use a broken editor:-)
579 2002-03-28 Dick Porter <dick@ximian.com>
585 * handles.c: Warning cleanups
587 2002-03-27 Dan Lewis <dihlewis@yahoo.co.uk>
589 * unicode.h, unicode.c: changed to gunichar2
590 * io.h, io.c: changed strings to gunichar2*, added
591 SetFileAttributes(), GetCurrentDirectory(), SetCurrentDirectory(),
592 some fixes to FindFirstFile() and friends.
594 2002-03-26 Dick Porter <dick@ximian.com>
596 * types.h: Implement the large integer struct
599 * timefuncs.c: Dummy functions that don't yet implement
600 QueryPerformanceCounter() and QueryPerformanceFrequency()
603 * threads.c: Implement SleepEx()
606 * system.c: Beginnings of GetSystemInfo()
608 * mono-mutex.c (pthread_mutex_timedlock): Fix a ms/ns conversion
612 * context.c: Dummy function that doesnt yet implement
616 * atomic.c: Interlocked functions
618 Mon Mar 25 13:01:40 CET 2002 Paolo Molaro <lupus@ximian.com>
620 * threads.c: use a gc-safe hash table to store tls pointers.
622 2002-03-22 Dick Porter <dick@ximian.com>
624 * threads.c: Fix a race condition where a thread can start and
625 exit before the handle has been properly initialised (no reason
626 why the handle couldn't be initialised beforehand, so do so)
628 Fix a ms to ns conversion magnitude thinko.
630 2002-03-21 Dick Porter <dick@ximian.com>
632 * semaphores.c: Fix a problem when waiting for one or more
633 semaphores, and another semaphore is Released (all waiting
634 semaphores assumed they were signalled)
636 2002-03-29 Dan Lewis <dihlewis@yahoo.co.uk>
638 * io.h, io.c, uglify.h: added MoveFile, CopyFile, CreateDirectory,
639 RemoveDirectory, GetFileAttributes, GetFileAttributesEx
641 2002-03-19 Dietmar Maurer <dietmar@ximian.com>
643 * threads.c (Sleep): bug fix: 1ms == 1000000ns
645 2002-03-19 Dan Lewis <dihlewis@yahoo.co.uk>
647 * io.h, io.c, events.c, mutexes.c, semaphores.c, sockets.c,
648 threads.c, io.c: added flush method to handles.
650 * io.c: FlushFileBuffers() and FindFirstFile() functions.
652 Thu Mar 7 17:21:52 CET 2002 Paolo Molaro <lupus@ximian.com>
654 * threads.c, timed-thread.c, wait.c: Boehm-GC anable.
656 2002-02-20 Dick Porter <dick@ximian.com>
658 * io-layer.h: Always build without cygwin support on windows
660 Mon Feb 18 15:50:59 CET 2002 Paolo Molaro <lupus@ximian.com>
662 * sockets.c: #undef DEBUG.
664 2002-02-14 Jeffrey Stedfast <fejj@ximian.com>
666 * io-layer.h: conditionally include sys/filio.h and sys/sockio.h
667 for FIONBIO, FIONREAD, and SIOCATMARK.
669 2002-02-14 Jeffrey Stedfast <fejj@ximian.com>
671 * sockets.c: conditionally include sys/filio.h and sys/sockio.h
672 for FIONBIO, FIONREAD, and SIOCATMARK.
674 2002-02-13 Dick Porter <dick@ximian.com>
676 * sockets.c: Implement shutdown and select
678 2002-02-13 Jeffrey Stedfast <fejj@ximian.com>
680 * mono-mutex.[c,h]: New source files that thinly wrap all pthread
681 functions that take pthread_mutex_t and/or pthread_mutexattr_t
682 arguments for the sake of portability. Implements recursive
683 mutexes and pthread_mutex_timedlock.
685 * critical-sections.c:
692 * wait.c: Use the mono-mutex wrapper portability functions/macros.
694 * pthread-compat.[c,h]: Replaced by mono-mutex.[c,h]
696 2002-01-23 Dick Porter <dick@ximian.com>
698 * sockets.c: Networking support, mostly wrapping BSD socket APIs
699 with handle code, and translating errno into w32 error codes.
701 * macros.h: Some w32 macros used with the socket support
703 * error.c: Implemented GetLastError() and SetLastError()
705 * Makefile.am: Added sockets, with kludge to override some symbols
707 2001-12-17 Dietmar Maurer <dietmar@ximian.com>
709 * unicode.c (_wapi_unicode_to_utf8): byteswap UTF16 strings before
710 passing them to iconv
711 (_wapi_unicode_to_utf8): only swap bytes on LE systems, remove bug
712 from previous commit.
714 2001-12-11 Dick Porter <dick@ximian.com>
716 * io.c: Implement DeleteFile(), GetFileTime(), SetFileTime() and
717 FileTimeToSystemTime().
719 * unicode.c (unicode_len): Nasty way of finding length of unicode
720 string with embedded NULLs (counts until two NULLs together).
722 * mutexes.c (mutex_close):
723 * events.c (event_close): Release the internal pthreads resources
725 2001-11-26 Dick Porter <dick@ximian.com>
727 * critical-sections.c:
735 * wait.c: turn off DEBUG messages
737 2001-11-22 Dick Porter <dick@ximian.com>
739 * handles.c (SignalObjectAndWait): Implement
741 * wait.c (WaitForSingleObject): Fix case where timeout == 0
747 * events.c: Support for SignalObjectAndWait
749 2001-11-21 Dick Porter <dick@ximian.com>
756 * wait.c: Reliable method of returning which handle was signalled
757 on return from WaitForMultipleObjects().
759 2001-11-21 Dick Porter <dick@ximian.com>
761 * events.c: Implement events
763 2001-11-15 Dick Porter <dick@ximian.com>
765 * mutexes.c: Implement mutexes
769 * misc.c: Factor out some common code
771 2001-11-13 Dick Porter <dick@ximian.com>
773 * threads.c: Implement TLS. Implement GetCurrentThreadId(), and
774 GetCurrentThread() by maintaining a hash of thread handles.
776 * threads.h: Define thread and process creation flags
778 2001-11-12 Dick Porter <dick@ximian.com>
780 * critical-sections.c: Implement critical sections
782 2001-11-12 Dick Porter <dick@ximian.com>
784 * semaphores.c: Implement semaphores
786 * wait.c (wait_for_item): Maintain a wait count rather than count
789 * threads.c (thread_wait_multiple): Don't lock the wait item, that
790 will block other wait threads
792 2001-11-11 Dick Porter <dick@ximian.com>
794 * Makefile.am: Rename some automake variables
795 (from Nick Drochak <ndrochak@gol.com>)
797 2001-11-10 Dick Porter <dick@ximian.com>
799 * Makefile.am (libwapiincludedir): Fix include destination
801 * .cvsignore: Ignore generated files
803 2001-11-10 Dietmar Maurer <dietmar@ximian.com>
805 * pthread-compat.c: added some include files to make it compile on
808 2001-11-08 Dick Porter <dick@ximian.com>
812 This is a library emulating the win32 threading and IO API.