2002-09-27 Dick Porter <dick@ximian.com>
[mono.git] / mono / io-layer / ChangeLog
1 2002-09-27  Dick Porter  <dick@ximian.com>
2
3         * semaphores.c: Only include semaphore.h if it's present. Patch
4         for BSD from jmmv@hispabsd.org (Julio Merino).
5
6 2002-09-27  Dick Porter  <dick@ximian.com>
7
8         * processes.c: Pass environment and working directory to the
9         daemon when forking.  Don't let argv[0] be duplicated when looking
10         for the program name.  Implement EnumProcessModules (simple
11         version for now, lsof-style later if needed), GetModuleBaseName,
12         {Get,Set}ProcessWorkingSetSize (just faked, because the vm hints
13         aren't available on Linux).
14
15         * process-private.h: Store the process name, and the working set
16         min and max
17
18         * handles.c:
19         * handles-private.h: New functions to store and retrieve an array
20         of strings in the scratch space
21
22         * daemon.c: Don't miss deleting some handles when a client exits
23         (we used to rely on the client doing the final cleanup, but
24         obviously if the client is no longer there the daemon has to do
25         it).
26
27         Process forking now sets the environment and the working
28         directory.
29
30         * io.c: Don't confuse fd 0 with an unassigned handle struct
31
32         * atomic.h: Add a google cache alternative to the msdn URL
33
34 2002-09-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
35
36         * sockets.c:
37         (_wapi_recvfrom): added ECONNRESET to the switch.
38
39 2002-09-24  Mark Crichton  <crichton@gimp.org>
40
41         * atomic.h: Yea.  On linux, sparc isn't sparc, it's __sparc__.
42         Added to ifdef.
43
44 2002-09-19  Mark Crichton  <crichton@gimp.org>
45
46         * daemon.c, shared.c: Added NEED_LINK_UNLINK for systems that
47         dont have Linux's abstract filesystem for sockets.
48
49 2002-09-19  Mark Crichton  <crichton@gimp.org>
50
51         * atomic.h: Added SPARC atomic asm code.
52         * daemon.c, handles-private.h, handles.c, wapi-private.h:
53         undefined _POSIX_THREAD_PROCESS_SHARED.  This actually exists on
54         Solaris 9, however, the code paths don't seem to work.  More testing
55         on the shared case is *really* needed.
56
57 2002-09-03  Dick Porter  <dick@ximian.com>
58
59         * threads.h: 
60         * threads.c: Removed PosixKillThread(), because it's not in the
61         w32 api
62
63 2002-08-20  Dick Porter  <dick@ximian.com>
64
65         * handles.c (_wapi_handle_scratch_store): Made stored byte lengths
66         multiples of 4 bytes, to keep header structures aligned.  Needed
67         for sparc, at least. (Patch from crichton@gimp.org)
68
69         * handles.c: Removed 'disable_shm' variable (we've defaulted to
70         building with shm enabled for months now)
71
72 2002-08-19  Dick Porter  <dick@ximian.com>
73
74         * daemon.c: Rewrote the poll() loop to use GIOChannels instead,
75         for legacy NeXT-based systems.
76
77 2002-08-12  Dick Porter  <dick@ximian.com>
78
79         * atomic.h: Rename some parameters to avoid c++ keywords (Patch
80         from Joseph Wenninger <kde@jowenn.at>)
81
82 2002-08-05  Dietmar Maurer  <dietmar@ximian.com>
83
84         * threads.c: use fast spinlocks by default
85
86 2002-08-02  Dick Porter  <dick@ximian.com>
87
88         * io.c (GetStdHandle): Add a handle reference when returning a
89         duplicate console handle.  This fixes the unref_handle errors in
90         NUnit.
91
92 2002-08-01  Dietmar Maurer  <dietmar@ximian.com>
93
94         * threads.c (TLS_PTHREAD_MUTEX): define this because else some
95         tests does not work
96
97 2002-08-01  Dick Porter  <dick@ximian.com>
98
99         * threads.c: Use atomic spinlocks in TLS functions
100
101         * mono-spinlock.h:
102         * Makefile.am: Added mono-spinlock.h
103
104 2002-07-21  Jeffrey Stedfast  <fejj@ximian.com>
105
106         * daemon-messages.c: #include <sys/types.h> and <sys/sockets.h> -
107         these are needed for sendmsg() and also for struct msghdr (at
108         least on Solaris). Solaris still won't build because struct msghdr
109         doesn't have msg_flags, msg_control, or msg_controllen members.
110         (CMSG_SPACE): Define for systems that don't have it.
111         (CMSG_LEN): Same.
112
113 2002-07-20  Dick Porter  <dick@ximian.com>
114
115         * wapi-private.h:
116         * io-private.h:
117         * io.h:
118         * io.c:
119         * handles.c: Implemented pipe handles
120         
121         * handles.c:
122         * daemon.c: Fixed bug in handle closing.
123
124         * shared.c:
125         * daemon.c: Forked processes now close all open file descriptors.
126
127 Fri Jul 19 19:05:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
128
129         * sockets.h, io-layer.h, critical-sections.h: don't include config.h
130         in header files.
131
132 2002-07-19  Martin Baulig  <martin@gnome.org>
133
134         * threads.c (ExitThread): Call exit() if no threads has been
135         created yet.
136
137 2002-07-17  Dick Porter  <dick@ximian.com>
138
139         * daemon-messages.c: Freebsd fixes from Andreas Kohn
140         <andreas.kohn@gmx.net>
141
142 2002-07-15  Dick Porter  <dick@ximian.com>
143
144         * io.c: Removed bogus console_flush() method, that was just cut
145         and pasted from file_flush when I separated the two handle types.
146
147 2002-07-12  Dick Porter  <dick@ximian.com>
148
149         * io.c (convert_from_flags): Fixed misunderstanding wrt fcntl
150         flags.  Fixes bug 27633.
151
152 2002-07-12  Dick Porter  <dick@ximian.com>
153
154         * wapi-private.h:
155         * handles.c:
156         * daemon.c: Use size of sockaddr_un.sun_path from config.h
157
158 2002-07-12  Dick Porter  <dick@ximian.com>
159
160         * processes.c (CreateProcess): Send stdin, stdout and stderr
161         handles if the startup info doesnt specify new ones
162
163         * io.c (GetStdHandle): Return the same handle when the same
164         standard handle is requested
165
166         * handles.c: Pass file descriptors when forking
167
168         * daemon.c: Use supplied file descriptors when forking a new
169         process
170
171         * daemon-messages.h: 
172         * daemon-messages.c: Pass stdin, stdout and stderr file
173         descriptors to the daemon (used when forking)
174
175 2002-07-11  Miguel de Icaza  <miguel@ximian.com>
176
177         * daemon.c (_wapi_daemon_main): Use sizeof
178         (main_socket_address.sun_path) instead of hardcoded 108 value.
179
180         * handles.c (shared_init): Use sizeof
181         (shared_socket_address.sun_path) instead of hardcoded 108 value.
182
183 2002-07-10  Dennis Haney  <davh@davh.dk>
184
185         * shared.c:
186         * handles.c:
187         * daemon.c: Lots of documentation, some added error checking, and
188         code readability improvements.
189
190         * daemon-messages.h: Add the Error request type to improve error
191         checking.
192
193         * daemon-messages.c: Do a bit more error checking on send() and
194         recv(), and log errors with a higher severity level.
195
196 2002-07-04  Dick Porter  <dick@ximian.com>
197
198         * daemon.c (process_process_fork): Fix argument handling, due to
199         buggy understanding of g_strsplit() behaviour.
200
201 2002-07-03  Dick Porter  <dick@ximian.com>
202
203         * threads.h:
204         * threads.c: Implement OpenThread().  Define access-control values
205         for thread handles.
206
207         * wapi.h:
208         * processes.h:
209         * access.h:
210         * Makefile.am: Added access.h, to hold shared access-control
211         definitions
212
213 2002-07-02  Dick Porter  <dick@ximian.com>
214
215         * wapi-private.h (_WAPI_HANDLE_VERSION): New protocol version
216         
217 2002-07-02  Dick Porter  <dick@ximian.com>
218
219         * handles.c (shared_init): Make a second attempt to contact the
220         daemon if the shared memory attach succeeds, but the connect()
221         fails. (This copes with the daemon crashing without cleaning up
222         the shared memory.)
223
224         * Makefile.am: 
225         * daemon-private.h:
226         * daemon.c:
227         * shared.c (_wapi_shm_attach): Don't exec() anything when we fork
228         the daemon, it's now built into the library.
229
230 2002-06-25  Dick Porter  <dick@ximian.com>
231
232         * handles.c:
233         * handles-private.h:
234         * daemon-messages.h:
235         * daemon.c: Process forking and handle data management
236
237         * processes.h:
238         * process-private.h:
239         * processes.c: Process forking and other support functions
240
241 2002-06-25  Dick Porter  <dick@ximian.com>
242
243         * versioninfo.h: PE resource decoding
244
245         * unicode.c (_wapi_unicode_to_utf8): g_utf16_to_utf8 doesnt need
246         to be told the string length
247
248         * io.c: Removed the ACTUALLY_DO_UNICODE option.  Fixed some leaks.
249         Moved _wapi_time_t_to_filetime and the WapiFileTime typedef to
250         timefuncs.c
251
252 2002-06-12  Dick Porter  <dick@ximian.com>
253
254         * daemon.c: 
255         * daemon-messages.c: Handle SIGPIPE in a non-stupid way in the
256         daemon, if MSG_NOSIGNAL isn't available.  Thanks to Jaroslaw
257         Kowalski <jarek@atm.com.pl> for pointing out the bogosity.
258
259 2002-06-10  Jaroslaw Kowalski <jarek@atm.com.pl>
260
261         * sockets.c, daemon-messages.c: Prevent SIGPIPE from being raised
262         when writing to a closed socket.
263
264 2002-06-08  Jeffrey Stedfast  <fejj@ximian.com>
265
266         * mono-mutex.c (mono_once): New convenience function for my
267         previous fix.
268
269         * handles.c:
270         * error.c: 
271         * critical-sections.c: 
272         * threads.c: 
273         * sockets.c: 
274         * semaphores.c: 
275         * processes.c: 
276         * mutexes.c: 
277         * io.c: 
278         * events.c: 
279         * atomic.c: Use mono_once() rather than pthread_once().
280
281 2002-06-06  Jeffrey Stedfast  <fejj@ximian.com>
282
283         * handles.c (_wapi_handle_new): pthread_once() is not atomic, so
284         if multiple threads all try to call _wapi_handle_new() before the
285         shared data has been initialized, it is possible that we could get
286         into a condition where shared_init() is being executed and later
287         threads will pass by pthread_once() due to the fact that it has
288         already been called and so therefor will attempt to use the shared
289         data before it has been completely initialized. If we instead use
290         a standard mutex locking mechanism around shared_init(), we can
291         avoid the situation entirely. By wrapping the mutex locking in a
292         check to see if we've already initialized the data, we can even
293         avoid wasting resources by having to lock/unlock the mutex in any
294         later calls (the only time we'd have to worry about
295         locking/unlocking is the initial race to call shared_init() at
296         startup).
297
298 Sat Jun 1 13:27:11 CEST 2002 Paolo Molaro <lupus@ximian.com>
299
300         * atomic.h: inline asm fixes from Dennis Haney (davh@davh.dk).
301
302 Fri May 31 16:21:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
303
304         * daemon.c, handles.c: rename "sun" local var since it's apparently
305         a #define on Solaris.
306
307 Fri May 31 15:40:14 CEST 2002 Paolo Molaro <lupus@ximian.com>
308
309         * daemon-messages.c: work-around MSG_NOSIGNAL missing on some
310         platforms.
311
312 2002-05-15  Dick Porter  <dick@ximian.com>
313
314         * wait.c: Fix a deadlock in WaitForMultipleObjects
315
316 2002-05-14  Dick Porter  <dick@ximian.com>
317
318         * io.c: Fix a cut&paste error, found by
319         Jaroslaw Kowalski <jarek@atm.com.pl>
320
321 2002-05-10  Dan Lewis  <dihlewis@yahoo.co.uk>
322
323         * io.c: Nasty typo.
324
325 2002-05-09  Dick Porter  <dick@ximian.com>
326
327         * threads.c: 
328         * semaphores.c: 
329         * processes.c: 
330         * mutexes.c: 
331         * handles-private.h: 
332         * events.c: 
333         * Makefile.am: Remove now-unused file wait-private.h
334
335 2002-05-08  Dick Porter  <dick@ximian.com>
336
337         * shared.c: Better error messages, and report when daemon
338         connection fails rather than blocking forever.  Do some more
339         shared memory sanity checking.
340
341         * handles.c: Better error messages when connecting to shared
342         memory and the handle daemon.  Fall back to non-shared handles if
343         an error occurs.  Set the default back to 'shared handles'.  Fix a
344         crashing bug in scratch space allocation that mangled the block
345         headers.
346
347 2002-05-07  Miguel de Icaza  <miguel@ximian.com>
348
349         * handles.c (shared_init): Disable SHM for now, people have too
350         many problems with this, and the diagnostics are not helping.
351
352 2002-05-06  Dan Lewis  <dihlewis@yahoo.co.uk>
353
354         * io.c: CreateFile sets win32 last error.
355
356 2002-05-05  Dick Porter  <dick@ximian.com>
357
358         * wapi-private.h: 
359         * handles-private.h:
360         * io.c: 
361         * io-private.h:
362         * mutexes.c: 
363         * mutex-private.h: 
364         * processes.c: 
365         * process-private.h: 
366         * semaphores.c: 
367         * semaphore-private.h: 
368         * sockets.c: 
369         * socket-private.h: 
370         * events.c: 
371         * event-private.h: Simplify the WapiHandleOps struct: take out all
372         the file-specific entries, leaving just the items that operate on
373         handles themselves.  Split the close operation into shared and
374         private parts: shared close is called by the daemon.
375
376         * handles.c: As above, but also pass handle allocation, ref and
377         unref operations to the daemon.  Populate the handle_ops array at
378         compile time, because the daemon needs to call ops on handles too.
379         Don't bother to track open handle counts any more, the daemon does
380         that.
381         
382         * threads.c: 
383         * thread-private.h: As above, but also make the thread data
384         handle-private.
385
386         * shared.c: Fork a handle daemon if the calling process created
387         the shared memory segment.
388
389         * daemon.c:
390         * daemon-messages.c:
391         * daemon-messages.h:
392         * Makefile.am: Build a daemon to manage handle allocation and
393         destruction without needing to lock the shared memory
394
395 2002-04-30  Jeffrey Stedfast  <fejj@ximian.com>
396
397         * atomic.c: Changed to use a normal mutex rather than a spinlock
398         since a lot of platforms seem to not have them :\
399
400 2002-04-30  Dick Porter  <dick@ximian.com>
401
402         * Completely rewrote the handle waiting code: removed the helper
403         thread and its attendant complexity.  All handle waiting is now
404         abstracted into the WaitForSingleObject() and
405         WaitForMultipleObjects() functions.
406
407         * Implemented inter-process sharing of handles using sysv shared
408         memory.  This makes handles even more opaque, with a handle now
409         just an index into an array.
410         
411 2002-04-25  Dan Lewis  <dihlewis@yahoo.co.uk>
412
413         * io.c: unitialized pointer in GetCurrentDirectory.
414
415 Sat Apr 20 13:37:39 CEST 2002 Paolo Molaro <lupus@ximian.com>
416
417         * threads.c: destroy the mutex at thread destruction
418         (if/when thread destruction code will be actually called).
419         When protecting a tls data pointer from the gc, use also the 
420         thread id in the key.
421         
422 Wed Apr 17 18:36:27 CEST 2002 Paolo Molaro <lupus@ximian.com>
423
424         * timed-thread.c: avoid race condition when setting the thread to
425         detached.
426
427 2002-04-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
428
429         * jit.h: to more #include lines to avoid breaking compilation
430         under windows when upgrading mingw and w32api to version
431         1.3 (thanks Dick!).
432
433 2002-04-16  Dick Porter  <dick@ximian.com>
434
435         * atomic.h: Explanatory comment about lack of 80386 support
436
437 2002-04-15  Dick Porter  <dick@ximian.com>
438
439         * atomic.h: use xaddl for InterlockedIncrement() and
440         InterlockedDecrement().  Use cmpxchgl in a loop for
441         InterlockedExchange() and InterlockedExchangePointer().
442
443 Mon Apr 15 13:31:22 CEST 2002 Paolo Molaro <lupus@ximian.com>
444
445         * unicode.c: fix unicode_len() to not access uninitialized memory
446         (and updated to conform to mono code style).
447
448 Fri Mar 29 17:15:11 CET 2002 Paolo Molaro <lupus@ximian.com>
449
450         * io.c: EEXISTS is ignored for directory creation.
451         * mono-mutex.h: remove silly "pragma }" that emacs users insert
452         because they use a broken editor:-)
453
454 2002-03-28  Dick Porter  <dick@ximian.com>
455
456         * sockets.h: 
457         * sockets.c: 
458         * io.c: 
459         * handles.h: 
460         * handles.c: Warning cleanups
461
462 2002-03-27  Dan Lewis <dihlewis@yahoo.co.uk>
463
464         * unicode.h, unicode.c: changed to gunichar2
465         * io.h, io.c: changed strings to gunichar2*, added
466         SetFileAttributes(), GetCurrentDirectory(), SetCurrentDirectory(),
467         some fixes to FindFirstFile() and friends.
468
469 2002-03-26  Dick Porter  <dick@ximian.com>
470
471         * types.h: Implement the large integer struct
472
473         * timefuncs.h:
474         * timefuncs.c: Dummy functions that don't yet implement
475         QueryPerformanceCounter() and QueryPerformanceFrequency()
476
477         * threads.h:
478         * threads.c: Implement SleepEx()
479
480         * system.h:
481         * system.c: Beginnings of GetSystemInfo()
482
483         * mono-mutex.c (pthread_mutex_timedlock): Fix a ms/ns conversion
484         thinko
485
486         * context.h:
487         * context.c: Dummy function that doesnt yet implement
488         GetThreadContext()
489
490         * atomic.h: 
491         * atomic.c: Interlocked functions
492
493 Mon Mar 25 13:01:40 CET 2002 Paolo Molaro <lupus@ximian.com>
494
495         * threads.c: use a gc-safe hash table to store tls pointers.
496
497 2002-03-22  Dick Porter  <dick@ximian.com>
498
499         * threads.c: Fix a race condition where a thread can start and
500         exit before the handle has been properly initialised (no reason
501         why the handle couldn't be initialised beforehand, so do so)
502
503         Fix a ms to ns conversion magnitude thinko.
504
505 2002-03-21  Dick Porter  <dick@ximian.com>
506
507         * semaphores.c: Fix a problem when waiting for one or more
508         semaphores, and another semaphore is Released (all waiting
509         semaphores assumed they were signalled)
510
511 2002-03-29  Dan Lewis <dihlewis@yahoo.co.uk>
512
513         * io.h, io.c, uglify.h: added MoveFile, CopyFile, CreateDirectory,
514         RemoveDirectory, GetFileAttributes, GetFileAttributesEx
515
516 2002-03-19  Dietmar Maurer  <dietmar@ximian.com>
517
518         * threads.c (Sleep): bug fix: 1ms == 1000000ns
519
520 2002-03-19  Dan Lewis <dihlewis@yahoo.co.uk>
521
522         * io.h, io.c, events.c, mutexes.c, semaphores.c, sockets.c,
523         threads.c, io.c: added flush method to handles.
524
525         * io.c: FlushFileBuffers() and FindFirstFile() functions.
526
527 Thu Mar 7 17:21:52 CET 2002 Paolo Molaro <lupus@ximian.com>
528
529         * threads.c, timed-thread.c, wait.c: Boehm-GC anable.
530
531 2002-02-20  Dick Porter  <dick@ximian.com>
532
533         * io-layer.h: Always build without cygwin support on windows
534
535 Mon Feb 18 15:50:59 CET 2002 Paolo Molaro <lupus@ximian.com>
536
537         * sockets.c: #undef DEBUG.
538
539 2002-02-14  Jeffrey Stedfast  <fejj@ximian.com>
540
541         * io-layer.h: conditionally include sys/filio.h and sys/sockio.h
542         for FIONBIO, FIONREAD, and SIOCATMARK.
543
544 2002-02-14  Jeffrey Stedfast  <fejj@ximian.com>
545
546         * sockets.c: conditionally include sys/filio.h and sys/sockio.h
547         for FIONBIO, FIONREAD, and SIOCATMARK.
548
549 2002-02-13  Dick Porter  <dick@ximian.com>
550
551         * sockets.c: Implement shutdown and select
552
553 2002-02-13  Jeffrey Stedfast  <fejj@ximian.com>
554
555         * mono-mutex.[c,h]: New source files that thinly wrap all pthread
556         functions that take pthread_mutex_t and/or pthread_mutexattr_t
557         arguments for the sake of portability. Implements recursive
558         mutexes and pthread_mutex_timedlock.
559
560         * critical-sections.c:
561         * events.c:
562         * handles.c:
563         * mutexes.c:
564         * semaphores.c:
565         * threads.c:
566         * timed-thread.c:
567         * wait.c: Use the mono-mutex wrapper portability functions/macros.
568
569         * pthread-compat.[c,h]: Replaced by mono-mutex.[c,h]
570
571 2002-01-23  Dick Porter  <dick@ximian.com>
572
573         * sockets.c: Networking support, mostly wrapping BSD socket APIs
574         with handle code, and translating errno into w32 error codes.
575
576         * macros.h: Some w32 macros used with the socket support
577
578         * error.c: Implemented GetLastError() and SetLastError()
579
580         * Makefile.am: Added sockets, with kludge to override some symbols
581
582 2001-12-17  Dietmar Maurer  <dietmar@ximian.com>
583
584         * unicode.c (_wapi_unicode_to_utf8): byteswap UTF16 strings before
585         passing them to iconv
586         (_wapi_unicode_to_utf8): only swap bytes on LE systems, remove bug
587         from previous commit.
588
589 2001-12-11  Dick Porter  <dick@ximian.com>
590
591         * io.c: Implement DeleteFile(), GetFileTime(), SetFileTime() and
592         FileTimeToSystemTime().
593
594         * unicode.c (unicode_len): Nasty way of finding length of unicode
595         string with embedded NULLs (counts until two NULLs together).
596
597         * mutexes.c (mutex_close): 
598         * events.c (event_close): Release the internal pthreads resources
599
600 2001-11-26  Dick Porter  <dick@ximian.com>
601
602         * critical-sections.c:
603         * events.c:
604         * handles.c:
605         * io.c:
606         * mutexes.c:
607         * semaphores.c:
608         * threads.c:
609         * timed-thread.c:
610         * wait.c: turn off DEBUG messages
611
612 2001-11-22  Dick Porter  <dick@ximian.com>
613
614         * handles.c (SignalObjectAndWait): Implement
615
616         * wait.c (WaitForSingleObject): Fix case where timeout == 0
617
618         * threads.c:
619         * semaphores.c:
620         * mutexes.c:
621         * io.c:
622         * events.c: Support for SignalObjectAndWait
623         
624 2001-11-21  Dick Porter  <dick@ximian.com>
625
626         * events.c:
627         * handles.c:
628         * mutexes.c:
629         * semaphores.c:
630         * threads.c:
631         * wait.c: Reliable method of returning which handle was signalled
632         on return from WaitForMultipleObjects().
633
634 2001-11-21  Dick Porter  <dick@ximian.com>
635
636         * events.c: Implement events
637
638 2001-11-15  Dick Porter  <dick@ximian.com>
639
640         * mutexes.c: Implement mutexes
641
642         * threads.c: 
643         * semaphores.c: 
644         * misc.c: Factor out some common code
645
646 2001-11-13  Dick Porter  <dick@ximian.com>
647
648         * threads.c: Implement TLS.  Implement GetCurrentThreadId(), and
649         GetCurrentThread() by maintaining a hash of thread handles.
650
651         * threads.h: Define thread and process creation flags
652
653 2001-11-12  Dick Porter  <dick@ximian.com>
654
655         * critical-sections.c: Implement critical sections
656
657 2001-11-12  Dick Porter  <dick@ximian.com>
658
659         * semaphores.c: Implement semaphores
660
661         * wait.c (wait_for_item): Maintain a wait count rather than count
662         signalled booleans.
663
664         * threads.c (thread_wait_multiple): Don't lock the wait item, that
665         will block other wait threads
666
667 2001-11-11  Dick Porter  <dick@ximian.com>
668
669         * Makefile.am: Rename some automake variables
670         (from Nick Drochak <ndrochak@gol.com>)
671
672 2001-11-10  Dick Porter  <dick@ximian.com>
673
674         * Makefile.am (libwapiincludedir): Fix include destination
675
676         * .cvsignore: Ignore generated files
677
678 2001-11-10  Dietmar Maurer  <dietmar@ximian.com>
679
680         * pthread-compat.c: added some include files to make it compile on
681         linux.
682
683 2001-11-08  Dick Porter  <dick@ximian.com>
684
685         * Initial checkin.
686
687         This is a library emulating the win32 threading and IO API.
688
689