]> sourceware.org Git - newlib-cygwin.git/blame - winsup/cygwin/ChangeLog
2003-04-07 Michael Snyder <msnyder@redhat.com>
[newlib-cygwin.git] / winsup / cygwin / ChangeLog
CommitLineData
2e23862a
CV
12003-04-11 Pierre Humblet <pierre.humblet@ieee.org>
2
3 * security.cc (get_info_from_sd): New function.
4 (get_nt_attribute): Only call read_sd and get_info_from_sd.
5 Return void.
6 (get_file_attribute): Move sd error handling to get_info_from_sd.
7 and symlink handling to fhandler_disk_file::fstat_helper.
8 (get_nt_object_attribute): Only call read_sd and get_info_from_sd.
9 Return void.
10 (get_object_attribute): Remove symlink handling and simply return -1
11 when ntsec is off.
12 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): For
13 symlinks set the attribute, call get_file_attribute to get the ids
14 and return. In the normal case call get_file_attribute with the
15 addresses of the buffer ids and do not recheck if the file is a socket.
16
73afb2ab
CF
172003-04-10 Christopher Faylor <cgf@redhat.com>
18
19 * cygthread.cc (cygthread::stub): Initialize stack pointer earlier.
20 (cygthread::simplestub): Initialize stack pointer.
21 (cygthread::terminate_thread): Account for possibility that stack
22 pointer has not been set. Issue warnings for unusual conditions.
23
2a1e8e11
CV
242003-04-10 Corinna Vinschen <corinna@vinschen.de>
25
26 * regex/regex.h: Define regoff_t as _off_t.
27 * regex/regex2.h: Ditto.
28
ac5ec961
CV
292003-04-10 Corinna Vinschen <corinna@vinschen.de>
30
31 * cygwin.din: Export wcscoll, wcswidth and wcwidth.
32 * include/cygwin/version.h: Bump API minor number.
33
e5d6d535
CF
342003-04-10 Christopher Faylor <cgf@redhat.com>
35
36 * cygthread.h: Change 'avail' cygthread element to 'inuse' throughout.
37 * cygthread.cc: Ditto.
38 (cygthread::stub): Don't initialize already initialized events.
39 (cygthread::freerange): Don't create thread here.
40 (cygthread::cygthread): Create thread here. Die if thread not created.
41 (cygthread::operator new): Simplify. Just grab a thread structure from
42 the pool. Don't try to start the thread.
43 (cygthread::terminate_thread): Don't close event handles. Just reuse
44 them. Call MEM_RELEASE rather than MEM_DECOMMIT (from Joe Buehler).
45
ca81cd60
CF
462003-04-08 Bob Cassels <bcassels@abinitio.com>
47
48 * fhandler_console.cc (fhandler_console::read) Handle certain key up
49 events, to allow pasting accented characters and typing them using the
50 "alt + numerics" sequences.
51
522003-04-07 Christopher Faylor <cgf@redhat.com>
53
54 * include/limits.h (IOV_MAX): Set to a number which is small enough to
55 use in an array.
56
b410f168
CF
572003-04-04 Christopher Faylor <cgf@redhat.com>
58
9dbe3289
CF
59 * cygthread.h (cygthread::avail): Make LONG for easier use with
60 Interlocked* functions.
61 * cygthread.cc (cygthread::init): Eliminate unneeded muto.
62 (cygthread::operator new): Don't lock. Instead change use of avail
63 variable into tri-state: available (1), not available (-1),
64 uninitialized (0).
65 (cygthread::terminate_thread): Set avail to uninitialized.
66 (cygthread::detach): Eliminate local 'avail'. Always set avail to 1
67 unless signalled.
68
692003-04-04 Christopher Faylor <cgf@redhat.com>
70
71 * cygthread.cc (cygthread::operator new): Be more defensive when messing with
b410f168
CF
72 threads that are marked "unavailable".
73
a61bf8c3
CF
742003-04-03 Christopher Faylor <cgf@redhat.com>
75
76 * fhandler_console.cc (CONVERT_LIMIT): Use a size for the 21st century.
77
d5292d66
CV
782003-04-03 Corinna Vinschen <corinna@vinschen.de>
79
80 * external.cc (check_ntsec): Return general ntsec state on NULL
81 filename. Check wincap.is_security() additionally.
82
5a87c616
CF
832003-04-02 Christopher Faylor <cgf@redhat.com>
84
85 * Makefile.in (EXTRA_OFILES): Remove debugging object.
86
d99c6176
CF
872003-04-02 Jason Tishler <jason@tishler.net>
88 Christopher Faylor <cgf@redhat.com>
89
90 * external.cc (check_ntsec): New function.
91 (cygwin_internal): Add CW_CHECK_NTSEC handling to call check_ntsec()
92 from applications.
93 * include/cygwin/version.h: Bump API minor number.
94 * include/sys/cygwin.h (cygwin_getinfo_types): Add CW_CHECK_NTSEC.
95
962003-04-02 Christopher Faylor <cgf@redhat.com>
97
98 * cygthread.cc (cygthread::new): Add more defensive debugging.
99
2d388e43 1002003-04-01 Pierre Humblet <pierre.humblet@ieee.org>
d99c6176 101
2d388e43
CV
102 * fhandler.cc (fhandler_base::fstat): Set the uid and gid fields
103 from the current effective ids.
104 * fhandler_socket.cc (fhandler_socket::fstat): Keep the uid and gid set
105 by fhandler_base::fstat.
106 * security.cc (get_nt_attribute): Do not test wincap.has_security ().
107 (get_nt_object_attribute): Ditto.
108 (get_file_attribute): Add test for wincap.has_security ().
109 (get_object_attribute): Ditto.
110
1727fba0
CV
1112003-04-01 Corinna Vinschen <corinna@vinschen.de>
112
113 * dir.cc: Change __off32_t to _off_t and __off64_t to _off64_t
114 throughout.
115 * fhandler.cc: Ditto.
116 * fhandler.h: Ditto.
117 * fhandler_clipboard.cc: Ditto.
118 * fhandler_disk_file.cc: Ditto.
119 * fhandler_dsp.cc: Ditto.
120 * fhandler_floppy.cc: Ditto.
121 * fhandler_mem.cc: Ditto.
122 * fhandler_proc.cc: Ditto.
123 * fhandler_process.cc: Ditto.
124 * fhandler_random.cc: Ditto.
125 * fhandler_registry.cc: Ditto.
126 * fhandler_tape.cc: Ditto.
127 * fhandler_termios.cc: Ditto.
128 * fhandler_virtual.cc: Ditto.
129 * fhandler_zero.cc: Ditto.
130 * mmap.cc: Ditto.
131 * pipe.cc: Ditto.
132 * syscalls.cc: Ditto.
133 * winsup.h: Ditto.
134 * include/cygwin/stat.h: Ditto.
135 * include/cygwin/types.h: Ditto. Remove definition of __off32_t
136 and __off64_t.
137
333879e7
CF
1382003-03-31 Christopher Faylor <cgf@redhat.com>
139
140 * exceptions.cc (setup_handler): Make sure winapi lock is released when
141 exiting loop.
142
a2105d93
CF
1432003-03-30 Christopher Faylor <cgf@redhat.com>
144
145 * include/cygwin/fs.h: Remove unneeded include.
146 * include/cygwin/in.h: Include sys/types.h rather than cygwin/types.h.
147
856a9750
CV
1482003-03-29 Corinna Vinschen <corinna@vinschen.de>
149
150 * syscalls.cc (login): Fix comment.
151 (logout): Ditto.
152
8304de2e
CV
1532003-03-29 Corinna Vinschen <corinna@vinschen.de>
154
155 * syscalls.cc: Slightly cleanup all utmp functions.
156 (login): Use mutex to secure against concurrent access to wtmp file.
157 (logout): Rewrite using POSIX calls.
158 (utmp_fd): Initialized to -1 now. Any value < 0 is treated as closed
159 in subsequent functions.
160 (utmp_readonly): New variable, indicating utmp file open for reading
161 only.
162 (internal_setutent): New function implementing setutent().
163 (setutent): Call internal_setutent now.
164 (endutent): Reset utmp_readonly.
165 (getutent): Return immediately if utmp file can't be opened.
166 (getutid): Ditto.
167 (getutline): Ditto.
168 (pututline): Ditto. Use mutex to secure against concurrent access to
169 utmp file.
170
46c8214c
CF
1712003-03-28 Christopher Faylor <cgf@redhat.com>
172
173 * Makefile.in: Remove EXE_LDFLAGS. Fix fhandler_CFLAGS typo. Recognize .s suffix.
174 * configure.in: Remove EXE_LDFLAGS.
175 * configure: Regenerate.
176
a7ab35c1
CF
1772003-03-28 Christopher Faylor <cgf@redhat.com>
178
179 * include/sys/cygwin.h: Declare cygwin_internal as unsigned long.
180 * external.cc (cygwin_internal): Define as unsigned long.
181
1822003-03-27 Christopher Faylor <cgf@redhat.com>
183
184 * include/sys/cygwin.h: Move cygwin_internal outside of WINVER
185 conditional.
186
eff6c00e
TP
1872003-03-27 Thomas Pfaff <tpfaff@gmx.net>
188
189 * thread.cc: Change 1==foo equations to foo==1 throughout.
190
15648790
TP
1912003-03-27 Thomas Pfaff <tpfaff@gmx.net>
192
193 * thread.h: Change class names, methods, members and local vars
194 according to the GNU coding style.
195 * thread.cc: Ditto.
196 * dcrt0.cc (dll_crt0_1): Rename pthread::initMainThread call to
197 pthread::init_mainthread.
198 * pthread.cc (pthead_getsequence_np): Rename pthread::isGoodObject
199 call to pthread::is_good_object.
200
98b36ec8
CV
2012003-03-27 Joe Buehler <jhpb@draco.hekimian.com>
202
1ce82d24
CF
203 * autoload.cc: Add RegGetKeySecurity().
204 * security.cc (get_nt_object_attribute): Use RegGetKeySecurity() for
98b36ec8
CV
205 performance.
206
85738bf7
CF
2072003-03-25 Christopher Faylor <cgf@redhat.com>
208 Joe Buehler <jhpb@draco.hekimian.com>
209
210 * fork.cc (fork_parent): Don't copy signals from parent to child here.
211 * sigproc.cc (proc_subproc): Copy signals from parent to child pinfo
212 here.
213
9306ba2e
TP
2142003-03-23 Thomas Pfaff <tpfaff@gmx.net>
215
85738bf7
CF
216 * thread.h (class List): Move inline code inside class declaration.
217 (List::forEach): Change callback parameter to template class member
218 function pointer.
219 (pthread_keys::fixup_before_fork): Change to inline. Use List::forEach
220 to fixup keys.
9306ba2e
TP
221 (pthread_keys::fixup_after_fork): Ditto.
222 (pthread_keys::runAllDestructors): Ditto.
223 (pthread_key::saveAKey): Remove.
224 (pthread_key::restoreAKey): Ditto.
225 (pthread_key::destroyAKey): Ditto.
226 (pthread_key::run_destructor): Rename to runDestructor.
85738bf7
CF
227 (pthread_mutex::fixup_after_fork): Change to inline. Use List::forEach
228 to fixup mutexes after a fork.
9306ba2e
TP
229 (pthread_mutex::FixupAfterFork): New method.
230 (pthread_mutex::mutexes): New member.
85738bf7
CF
231 (pthread_cond::fixup_after_fork): Change to inline. Use List::forEach
232 to fixup conds after a fork.
9306ba2e
TP
233 (pthread_cond::FixupAfterFork): New method.
234 (pthread_cond::conds): New member.
85738bf7 235 (pthread_rwlock::fixup_after_fork): Change to inline. Use
9306ba2e
TP
236 List::forEach to fixup rwlocks after a fork.
237 (pthread_rwlock::FixupAfterFork): New method.
238 (pthread_rwlock::rwlocks): New member.
85738bf7
CF
239 (semaphore::fixup_after_fork): Change to inline. Use List::forEach to
240 fixup mutexes after a fork.
9306ba2e
TP
241 (semaphore::FixupAfterFork): New method.
242 (semaphore::semaphores): New member.
243 (MTinterface::mutexs): Remove.
244 (MTinterface::conds): Ditto.
245 (MTinterface::rwlocks): Ditto.
246 (MTinterface::semaphores): Ditto.
247 (pthread_equal): Add extern "C".
248 (pthread_mutex_lock): Ditto.
85738bf7
CF
249
250 * thread.cc (MTinterface::fixup_after_fork): Change fixup_after_fork
251 calls for pthread objects.
9306ba2e 252 (semaphore::conds): Instantiate.
85738bf7
CF
253 (pthread_cond::pthread_cond): Use List::Insert rather than custom list
254 code.
255 (pthread_cond::~pthread_cond): Use List::Remove rather than custom list
256 code.
9306ba2e
TP
257 (pthread_cond::fixup_after_fork): Rename to FixupAfterFork.
258 (pthread_rwlock::rwlocks): Instantiate.
85738bf7
CF
259 (pthread_rwlock::pthread_crwlock): Use List::Insert rather than custom
260 list code.
261 (pthread_rwlock::~pthread_rwlock): Use List::Remove rather than custom
262 list code.
9306ba2e
TP
263 (pthread_rwlock::fixup_after_fork): Rename to FixupAfterFork.
264 (pthread_key::saveAKey): Remove.
265 (pthread_key::fixup_before_fork): Ditto.
266 (pthread_key::restoreAKey): Ditto.
267 (pthread_key::fixup_after_fork): Ditto.
268 (pthread_key::destroyAKey): Ditto.
269 (pthread_key::runAllDestructors): Ditto.
270 (pthread_key::run_destructor): Rename to runDestructor.
271 (pthread_mutex::mutexes): Instantiate.
85738bf7
CF
272 (pthread_mutex::pthread_mutex): Use List::Insert rather than custom
273 list code.
274 (pthread_mutex::~pthread_mutex): Use List::Remove rather than custom
275 list code.
9306ba2e
TP
276 (pthread_mutex::fixup_after_fork): Rename to FixupAfterFork.
277 (semaphore::conds): Instantiate.
85738bf7
CF
278 (semaphore::semaphore): Use List::Insert rather than custom list code.
279 (semaphores::~semaphore): Use List::Remove rather than custom list
9306ba2e 280 code.
9306ba2e
TP
281 (semaphore::fixup_after_fork): Rename to FixupAfterFork.
282
ff3ef36d
CF
2832003-03-22 Christopher Faylor <cgf@redhat.com>
284
285 * pipe.cc (fhandler_pipe::dup): Don't dup input_handle if it doesn't
286 exist.
287
ca04f61f
CF
2882003-03-22 Christopher Faylor <cgf@redhat.com>
289
290 * syscalls.cc (unlink): Be more defensive when SetFileAttributes is
291 called. Fix typo in debugging output.
292
89e7a1ce
CF
2932003-03-21 Christopher Faylor <cgf@redhat.com>
294
295 * fork.cc: Conditionalize use of slow_pid_reuse throughout. It's not
296 necessary for newer versions of bash.
297
fa85038b
CV
2982003-03-20 Corinna Vinschen <corinna@vinschen.de>
299
300 * fhandler_socket.cc (fhandler_socket::sendto): Restrict EPIPE and
301 SIGPIPE handling to connection oriented sockets. Add comment.
302
4da34970
CF
3032003-03-19 Christopher Faylor <cgf@redhat.com>
304
305 * sigproc.h (signal_fixup_after_exec): Eliminate argument in declaration.
306 * exceptions.cc (signal_fixup_after_exec): Eliminate argument in
307 definition. Don't reset signal handlers after spawm. Just treat like
308 fork/exec.
309 * dcrt0.cc (dll_crt0_1): Don't pass PROC_SPAWN argument to
310 signal_fixup_after_exec.
311 * syscalls.cc (unlink): Don't change attributes of file if not readonly/system.
312 Ditto for resetting of arguments.
313
036ac6b3
CV
3142003-03-19 Corinna Vinschen <corinna@vinschen.de>
315
316 * glob.c: Eliminate __INSIDE_CYGWIN__ preprocessor conditionals
317 throughout.
318
b1897d27
CV
3192003-03-19 Corinna Vinschen <corinna@vinschen.de>
320
321 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Fix
322 wrong usage of S_IFDIR.
323 * security.cc (get_attribute_from_acl): Ditto.
324 (get_file_attribute): Fix wrong usage of S_IFLNK.
325 (get_object_attribute): Ditto.
326 (alloc_sd): Fix wrong usage of S_IFDIR.
327 * syscalls.cc (chmod): Allow chmod'ing of socket files.
328
c16d0946
CV
3292003-03-19 Corinna Vinschen <corinna@vinschen.de>
330
331 * include/cygwin/version.h (CYGWIN_VERSION_CHECK_FOR_USING_BIG_TYPES):
332 Define.
333 * glob.c (g_lstat): Use CYGWIN_VERSION_CHECK_FOR_USING_BIG_TYPES
334 instead of numerical constants.
335 (g_stat): Ditto.
336
6a80a133
TP
3372003-03-18 Thomas Pfaff <tpfaff@gmx.net>
338
339 * pthread.cc (pthread_attr_init): Remove
340 (pthread_attr_destroy): Ditto.
341 (pthread_attr_setdetachstate): Ditto.
342 (pthread_attr_getdetachstate): Ditto.
343 (pthread_attr_setstacksize): Ditto.
344 (pthread_attr_getstacksize): Ditto.
345 (pthread_attr_setinheritsched): Ditto.
346 (pthread_attr_getinheritsched): Ditto.
347 (pthread_attr_setschedparam): Ditto.
348 (pthread_attr_getschedparam): Ditto.
349 (pthread_attr_setschedpolicy): Ditto.
350 (pthread_attr_getschedpolicy): Ditto.
351 (pthread_attr_setscope): Ditto.
352 (pthread_attr_getscope): Ditto.
353 (pthread_attr_setstackaddr): Ditto.
354 (pthread_attr_getstackaddr): Ditto.
355 (pthread_key_create): Ditto.
356 (pthread_key_delete): Ditto.
357 (pthread_setspecific): Ditto.
358 (pthread_getspecific): Ditto.
359 (pthread_kill): Ditto.
360 (pthread_sigmask): Ditto.
361 (pthread_equal): Ditto.
362 (pthread_mutex_lock): Ditto.
363 (pthread_mutex_trylock): Ditto.
364 (pthread_mutex_unlock): Ditto.
365 (pthread_mutex_destroy): Ditto.
366 (pthread_mutex_setprioceiling): Ditto.
367 (pthread_mutex_getprioceiling): Ditto.
368 (pthread_mutexattr_destroy): Ditto.
369 (pthread_mutexattr_getprioceiling): Ditto.
370 (pthread_mutexattr_getprotocol): Ditto.
371 (pthread_mutexattr_getpshared): Ditto.
372 (pthread_mutexattr_gettype): Ditto.
373 (pthread_mutexattr_init): Ditto.
374 (pthread_mutexattr_setprioceiling): Ditto.
375 (pthread_mutexattr_setprotocol): Ditto.
376 (pthread_mutexattr_setpshared): Ditto.
377 (pthread_mutexattr_settype): Ditto.
378 (pthread_cond_destroy): Ditto.
379 (pthread_cond_signal): Ditto.
380 (pthread_cond_broadcast): Ditto.
381 (pthread_condattr_init): Ditto.
382 (pthread_condattr_destroy): Ditto.
383 (pthread_condattr_getpshared): Ditto.
384 (pthread_condattr_setpshared): Ditto.
385 (pthread_rwlock_destroy): Ditto.
386 (pthread_rwlock_rdlock): Ditto.
387 (pthread_rwlock_tryrdlock): Ditto.
388 (pthread_rwlock_wrlock): Ditto.
389 (pthread_rwlock_trywrlock): Ditto.
390 (pthread_rwlock_unlock): Ditto.
391 (pthread_rwlockattr_init): Ditto.
392 (pthread_rwlockattr_getpshared): Ditto.
393 (pthread_rwlockattr_setpshared): Ditto.
394 (pthread_rwlockattr_destroy): Ditto.
395 (pthread_getconcurrency): Ditto.
396 (pthread_setconcurrency): Ditto.
397 (pthread_getschedparam): Ditto.
398 (pthread_setschedparam): Ditto.
399
400 * thread.h (__pthread_attr_init): Remove prototype.
401 (__pthread_attr_destroy): Ditto.
402 (__pthread_attr_setdetachstate): Ditto.
403 (__pthread_attr_getdetachstate): Ditto.
404 (__pthread_attr_setstacksize): Ditto.
405 (__pthread_attr_getstacksize): Ditto.
406 (__pthread_attr_setinheritsched): Ditto.
407 (__pthread_attr_getinheritsched): Ditto.
408 (__pthread_attr_setschedparam): Ditto.
409 (__pthread_attr_getschedparam): Ditto.
410 (__pthread_attr_setschedpolicy): Ditto.
411 (__pthread_attr_getschedpolicy): Ditto.
412 (__pthread_attr_setscope): Ditto.
413 (__pthread_attr_getscope): Ditto.
414 (__pthread_attr_setstackaddr): Ditto.
415 (__pthread_attr_getstackaddr): Ditto.
416 (__pthread_key_create): Ditto.
417 (__pthread_key_delete): Ditto.
418 (__pthread_setspecific): Ditto.
419 (__pthread_getspecific): Ditto.
420 (__pthread_kill): Ditto.
421 (__pthread_sigmask): Ditto.
422 (__pthread_equal): Ditto.
423 (__pthread_mutex_lock): Ditto.
424 (__pthread_mutex_trylock): Ditto.
425 (__pthread_mutex_unlock): Ditto.
426 (__pthread_mutex_destroy): Ditto.
427 (__pthread_mutex_setprioceiling): Ditto.
428 (__pthread_mutex_getprioceiling): Ditto.
429 (__pthread_mutexattr_destroy): Ditto.
430 (__pthread_mutexattr_getprioceiling): Ditto.
431 (__pthread_mutexattr_getprotocol): Ditto.
432 (__pthread_mutexattr_getpshared): Ditto.
433 (__pthread_mutexattr_gettype): Ditto.
434 (__pthread_mutexattr_init): Ditto.
435 (__pthread_mutexattr_setprioceiling): Ditto.
436 (__pthread_mutexattr_setprotocol): Ditto.
437 (__pthread_mutexattr_setpshared): Ditto.
438 (__pthread_mutexattr_settype): Ditto.
439 (__pthread_cond_destroy): Ditto.
440 (__pthread_cond_signal): Ditto.
441 (__pthread_cond_broadcast): Ditto.
442 (__pthread_condattr_init): Ditto.
443 (__pthread_condattr_destroy): Ditto.
444 (__pthread_condattr_getpshared): Ditto.
445 (__pthread_condattr_setpshared): Ditto.
446 (__pthread_rwlock_destroy): Ditto.
447 (__pthread_rwlock_rdlock): Ditto.
448 (__pthread_rwlock_tryrdlock): Ditto.
449 (__pthread_rwlock_wrlock): Ditto.
450 (__pthread_rwlock_trywrlock): Ditto.
451 (__pthread_rwlock_unlock): Ditto.
452 (__pthread_rwlockattr_init): Ditto.
453 (__pthread_rwlockattr_getpshared): Ditto.
454 (__pthread_rwlockattr_setpshared): Ditto.
455 (__pthread_rwlockattr_destroy): Ditto.
456 (__pthread_getconcurrency): Ditto.
457 (__pthread_setconcurrency): Ditto.
458 (__pthread_getschedparam): Ditto.
459 (__pthread_setschedparam): Ditto.
460
461 * thread.cc: Rename __pthread_equal to pthread_equal throughout.
462 Change pthread_self parameter appropriate.
463 (__pthread_attr_init): Remove __ prefix. Change to extern "C".
464 (__pthread_attr_destroy): Ditto.
465 (__pthread_attr_setdetachstate): Ditto.
466 (__pthread_attr_getdetachstate): Ditto.
467 (__pthread_attr_setstacksize): Ditto.
468 (__pthread_attr_getstacksize): Ditto.
469 (__pthread_attr_setinheritsched): Ditto.
470 (__pthread_attr_getinheritsched): Ditto.
471 (__pthread_attr_setschedparam): Ditto.
472 (__pthread_attr_getschedparam): Ditto.
473 (__pthread_attr_setschedpolicy): Ditto.
474 (__pthread_attr_getschedpolicy): Ditto.
475 (__pthread_attr_setscope): Ditto.
476 (__pthread_attr_getscope): Ditto.
477 (__pthread_attr_setstackaddr): Ditto.
478 (__pthread_attr_getstackaddr): Ditto.
479 (__pthread_key_create): Ditto.
480 (__pthread_key_delete): Ditto.
481 (__pthread_setspecific): Ditto.
482 (__pthread_getspecific): Ditto.
483 (__pthread_kill): Ditto.
484 (__pthread_sigmask): Ditto.
485 (__pthread_equal): Ditto.
486 (__pthread_mutex_lock): Ditto.
487 (__pthread_mutex_trylock): Ditto.
488 (__pthread_mutex_unlock): Ditto.
489 (__pthread_mutex_destroy): Ditto.
490 (__pthread_mutex_setprioceiling): Ditto.
491 (__pthread_mutex_getprioceiling): Ditto.
492 (__pthread_mutexattr_destroy): Ditto.
493 (__pthread_mutexattr_getprioceiling): Ditto.
494 (__pthread_mutexattr_getprotocol): Ditto.
495 (__pthread_mutexattr_getpshared): Ditto.
496 (__pthread_mutexattr_gettype): Ditto.
497 (__pthread_mutexattr_init): Ditto.
498 (__pthread_mutexattr_setprioceiling): Ditto.
499 (__pthread_mutexattr_setprotocol): Ditto.
500 (__pthread_mutexattr_setpshared): Ditto.
501 (__pthread_mutexattr_settype): Ditto.
502 (__pthread_cond_destroy): Ditto.
503 (__pthread_cond_signal): Ditto.
504 (__pthread_cond_broadcast): Ditto.
505 (__pthread_condattr_init): Ditto.
506 (__pthread_condattr_destroy): Ditto.
507 (__pthread_condattr_getpshared): Ditto.
508 (__pthread_condattr_setpshared): Ditto.
509 (__pthread_rwlock_destroy): Ditto.
510 (__pthread_rwlock_rdlock): Ditto.
511 (__pthread_rwlock_tryrdlock): Ditto.
512 (__pthread_rwlock_wrlock): Ditto.
513 (__pthread_rwlock_trywrlock): Ditto.
514 (__pthread_rwlock_unlock): Ditto.
515 (__pthread_rwlockattr_init): Ditto.
516 (__pthread_rwlockattr_getpshared): Ditto.
517 (__pthread_rwlockattr_setpshared): Ditto.
518 (__pthread_rwlockattr_destroy): Ditto.
519 (__pthread_getconcurrency): Ditto.
520 (__pthread_setconcurrency): Ditto.
521 (__pthread_getschedparam): Ditto.
522 (__pthread_setschedparam): Ditto.
523
00d296a3
TP
5242003-03-18 Thomas Pfaff <tpfaff@gmx.net>
525
526 * cygwin.din: Add pthread_rwlock_destroy, pthread_rwlock_init,
527 pthread_rwlock_rdlock, pthread_rwlock_tryrdlock,
528 pthread_rwlock_wrlock, pthread_rwlock_trywrlock,
529 pthread_rwlock_unlock, pthread_rwlockattr_init,
530 pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared,
531 and pthread_rwlockattr_destroy.
532 * include/cygwin/version.h: Bump API minor number.
533 * include/pthread.h (PTHREAD_RWLOCK_INITIALIZER): Define a
534 reasonable value.
535 Add prototypes for pthread_rwlock_destroy, pthread_rwlock_init,
536 pthread_rwlock_rdlock, pthread_rwlock_tryrdlock,
537 pthread_rwlock_wrlock, pthread_rwlock_trywrlock,
538 pthread_rwlock_unlock, pthread_rwlockattr_init,
539 pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared,
540 and pthread_rwlockattr_destroy.
541 * thread.h (PTHREAD_ONCE_MAGIC): Remove superflous semicolon.
542 (PTHREAD_RWLOCK_MAGIC): New define.
543 (PTHREAD_RWLOCKATTR_MAGIC): Ditto.
544 (pthread_rwlockattr): New class.
545 (pthread_rwlock): Ditto.
546 (MTinterface::rwlocks): New member.
547 (MTinterface::MTinterface): Initialize rwlocks.
548 Add prototypes for __pthread_rwlock_destroy,
549 __pthread_rwlock_wrlock, __pthread_rwlock_trywrlock,
550 __pthread_rwlock_unlock, __pthread_rwlockattr_init,
551 __pthread_rwlockattr_getpshared, __pthread_rwlockattr_setpshared,
552 and __pthread_rwlockattr_destroy.
553 * thread.cc (MTinterface::Init): Initialize rwlock internal mutex.
554 (MTinterface::fixup_after_fork): Fixup rwlocks after fork.
555 (pthread_rwlockattr::isGoodObject): Implement.
556 (pthread_rwlockattr::pthread_rwlockattr): Ditto.
557 (pthread_rwlockattr::~pthread_rwlockattr): Ditto.
558 (pthread_rwlock::initMutex): Ditto.
559 (pthread_rwlock::pthread_rwlock): Ditto.
560 (pthread_rwlock::~pthread_rwlock): Ditto.
561 (pthread_rwlock::RdLock): Ditto.
562 (pthread_rwlock::TryRdLock): Ditto.
563 (pthread_rwlock::WrLock): Ditto.
564 (pthread_rwlock::TryWrLock): Ditto.
565 (pthread_rwlock::UnLock): Ditto.
566 (pthread_rwlock::addReader): Ditto.
567 (pthread_rwlock::removeReader): Ditto.
568 (pthread_rwlock::lookupReader): Ditto.
569 (pthread_rwlock::RdLockCleanup): Ditto.
570 (pthread_rwlock::WrLockCleanup): Ditto.
571 (pthread_rwlock::fixup_after_fork): Ditto.
572 (pthread_rwlock::isGoodObject): Ditto.
573 (pthread_rwlock::isGoodInitializer): Ditto.
574 (pthread_rwlock::isGoodInitializerOrObject): Ditto.
575 (pthread_rwlock::isGoodInitializerOrBadObject): Ditto.
576 (__pthread_rwlock_destroy): Ditto.
577 (pthread_rwlock::init): Ditto.
578 (__pthread_rwlock_rdlock): Ditto.
579 (__pthread_rwlock_tryrdlock): Ditto.
580 (__pthread_rwlock_wrlock): Ditto.
581 (__pthread_rwlock_trywrlock): Ditto.
582
f592b05d
TP
5832003-03-18 Thomas Pfaff <tpfaff@gmx.net>
584
585 * thread.h (pthread_cond::ExitingWait): Remove.
586 (pthread_cond::mutex): Ditto.
587 (pthread_cond::cond_access): Ditto.
588 (pthread_cond::win32_obj_id): Ditto.
589 (pthread_cond::TimedWait): Ditto.
590 (pthread_cond::BroadCast): Ditto.
591 (pthread_cond::Signal): Ditto.
592 (pthread_cond::waiting): Change type to unsigned long.
593 (pthread_cond::pending): New member.
594 (pthread_cond::semWait): Ditto.
595 (pthread_cond::mtxIn): Ditto.
596 (pthread_cond::mtxOut): Ditto.
597 (pthread_cond::mtxCond): Ditto.
598 (pthread_cond::UnBlock): New method.
599 (pthread_cond::Wait): Ditto.
600 * thread.cc: Update list of cancellation points.
601 (pthread_cond::pthread_cond): Rewrite.
602 (pthread_cond::~pthread_cond): Ditto.
603 (pthread_cond::TimedWait): Remove.
604 (pthread_cond::BroadCast): Ditto.
605 (pthread_cond::Signal): Ditto.
606 (pthread_cond::UnBlock): Implement.
607 (pthread_cond::Wait): Ditto.
608 (pthread_cond::fixup_after_fork): Rewrite.
609 (pthread_mutex::fixup_after_fork): Remove DETECT_BAD_APP
610 conditional.
611 (__pthread_cond_broadcast): Just return 0 if the condition is
612 not initialized. Call pthread_cond::UnBlock to release blocked
613 threads.
614 (__pthread_cond_signal): Ditto.
615 (__pthread_cond__dowait): Rewrite.
616 (pthread_cond_timedwait): Add pthread_testcancel call. Fix
617 waitlength calculation.
618 (pthread_cond_wait): Add pthread_testcancel call.
619
2ff03dc2
TP
6202003-03-18 Thomas Pfaff <tpfaff@gmx.net>
621
622 * include/pthread.h (PTHREAD_MUTEX_NORMAL): New define.
623 * thread.cc: Remove errno.h include.
624 (pthread::precreate): Change internal mutex type to normal.
625 (pthread_mutex::canBeUnlocked): Implement.
626 (pthread_mutex::pthread_mutex): Initialize lock_counter with 0.
627 (pthread_mutex::Lock): Rename to _Lock. Add self parameter.
628 Change lock_counter logic. Update SetOwner call.
629 (pthread_mutex::TryLock): Rename to _TryLock. Add self parameter.
630 Change lock_counter logic. Update SetOwner call.
631 (pthread_mutex::UnLock): Rename to _UnLock. Add self parameter.
632 Change lock_counter logic.
633 (pthread_mutex::Destroy): Rename to _Destroy. Update TryLock call.
634 (pthread_mutex::SetOwner): Move to thread.h as inline.
635 (pthread_mutex::LockRecursive): Ditto.
636 (pthread_mutex::fixup_after_fork): Change lock_counter logic.
637 (__pthread_mutexattr_settype): Add PTHREAD_MUTEX_NORMAL to valid
638 types check.
639 * thread.h: Include errno.h and limits.h.
640 (MUTEX_LOCK_COUNTER_INITIAL): Remove.
641 (MUTEX_OWNER_ANONYMOUS): New define.
642 (pthread_mutex::canBeUnlocked): New static method.
643 (pthread_mutex::lock_counter): Change type to unsigned long.
644 (pthread_mutex::GetPthreadSelf): New method.
645 (pthread_mutex::Lock): Call _Lock with pthread_self pointer.
646 (pthread_mutex::TryLock): Call _TryLock with pthread_self pointer.
647 (pthread_mutex::UnLock): Call _UnLock with pthread_self pointer.
648 (pthread_mutex::Destroy): Call _Destroy with pthread_self pointer.
649 (pthread_mutex::SetOwner): Moved from thread.cc as inline.
650 (pthread_mutex::LockRecursive): Ditto.
651 (pthread_mutex::_Lock): New method.
652 (pthread_mutex::_TryLock): New method.
653 (pthread_mutex::_UnLock): New method.
654 (pthread_mutex::_Destroy): New method.
655
dcd350f0
CV
6562003-03-18 Christopher January <chris@atomice.net>
657
658 * fhandler_proc.cc (format_proc_cpuinfo): Use IsProcessorFeaturePresent
659 only on Windows NT. Read CPU Mhz value only on NT. Revert previous
660 change so cpuid instruction is called even on non-NT systems.
661
c51dc9c2
CV
6622003-03-17 Corinna Vinschen <corinna@vinschen.de>
663
a2105d93 664 * glob.c (g_lstat): Change API minor test to match API minor number
c51dc9c2
CV
665 change in previous patch.
666 (g_stat): Ditto.
667
f194ba1f
CF
6682003-03-17 Christopher Faylor <cgf@redhat.com>
669
670 * include/cygwin/version.h: Reorganize last two api versions so that
671 btowc and trunc exports show up before previous bump since there has
672 been no exported version of the DLL with the 64 bit changes yet but
673 1.3.22 will have the btowc and trunc.
674
3543669f
CF
6752003-03-17 Christopher Faylor <cgf@redhat.com>
676
677 * cygwin.din: Export btowc, trunc.
678 * include/cygwin/version.h: Reflect new exports.
679 * syscalls.cc (_stat): Rename to stat to avoid newlib wrapper.
680 * syscalls.cc (_fstat): Ditto.
681
6822003-03-16 Christopher Faylor <cgf@redhat.com>
683
684 * fhandler_console.cc (fhandler_console::close): Correct check for
685 current tty. Add debugging output when console is freed.
686 (set_console_state_for_spawn): Add debugging output.
687 * fhandler_tty.cc (fhandler_tty_slave::open): Don't decrement console
688 open flag when vforking.
689 * sigproc.cc (sigproc_terminate): Fix debugging output.
690 * spawn.cc (handle): Eliminate second argument.
691 (spawn_guts): Reflect elimination of argument change to handle.
692 * syscalls.cc (setsid): Add debugging output when console is freed.
693
6942003-03-14 Christopher Faylor <cgf@redhat.com>
695
696 * syscalls.cc (rename): Revert assumption that DELETE_ON_CLOSE works on
697 Win9x.
698
41ffdfa5
CF
6992003-03-13 Christopher Faylor <cgf@redhat.com>
700
701 * include/cygwin/version.h: Bump DLL minor number to 23.
702
5b186cd9
CV
7032003-03-13 Corinna Vinschen <corinna@vinschen.de>
704
705 * autoload.cc (IsProcessorFeaturePresent): Add.
706 * fhandler_proc.cc (format_proc_cpuinfo): Add case for 9x systems.
707
c58555c7
CV
7082003-03-13 Corinna Vinschen <corinna@vinschen.de>
709
710 * fhandler_proc.cc (format_proc_cpuinfo): Fix vendor id in cpuid case.
711
49a0d53c
CV
7122003-03-13 Corinna Vinschen <corinna@vinschen.de>
713
714 * net.cc (cygwin_rcmd): Use correct file descriptor in call to fdsock.
715 (cygwin_rexec): Ditto.
716
6fcd5661
CF
7172003-03-13 Christopher Faylor <cgf@redhat.com>
718
719 * fhandler_tty.cc (fhandler_tty_slave::close): Fix typo in debug
720 output.
721
722 * syscalls.cc (rename): Assume that DELETE_ON_CLOSE works on Win9x.
723
aa39b7f7
CV
7242003-03-11 Corinna Vinschen <corinna@vinschen.de>
725
726 * fhandler_socket.cc (fhandler_socket::dup): Don't call
727 fhandler_base::dup() but call DuplicateHandle directly instead to have
728 control over socket inheritence.
729
2afa7f58
CV
7302003-03-11 Corinna Vinschen <corinna@vinschen.de>
731
732 * fhandler_socket.cc (fhandler_socket::dup): On NT systems avoid
733 using WinSock2 socket duplication methods. Add comment.
734
7352003-03-11 Pierre Humblet <pierre.humblet@ieee.org>
736
737 * fhandler_socket.cc (fhandler_socket::fixup_after_fork):
738 Set io_handle to INVALID_SOCKET in case of failure.
739 (fhandler_socket::dup): Return 0 if the io_handle is valid.
740
556ceaeb
CV
7412003-03-10 Corinna Vinschen <corinna@vinschen.de>
742
743 * sec_acl.cc (setacl): Don't handle DELETE flag specially.
744 * security.cc (alloc_sd): Ditto.
745
a201401c
CV
7462003-03-09 Corinna Vinschen <corinna@vinschen.de>
747
6bbf711e 748 * winver.rc: Change Copyright hint to include 2003.
a201401c 749
b1aae492
CV
7502003-03-09 Corinna Vinschen <corinna@vinschen.de>
751
752 Switch to 32/64 datatypes:
753 * Makefile.in (OBSOLETE_FUNCTIONS): Add open acl aclcheck aclfrommode
754 aclfrompbits aclfromtext aclsort acltomode acltopbits acltotext chown
755 facl fchown fgetpos fopen freopen fseeko fsetpos fstat ftello
756 ftruncate getegid geteuid getgid getgrent getgrgid getgrnam getgroups
757 getpwuid getpwuid_r getuid initgroups lchown lseek lstat mknod mmap
758 seekdir setegid seteuid setgid setgroups setregid setreuid setuid stat
759 telldir truncate.
760 (NEW_FUNCTIONS): Add _open64 acl32 aclcheck32 aclfrommode32
761 aclfrompbits32 aclfromtext32 aclsort32 acltomode32 acltopbits32
762 acltotext32 chown32 facl32 fchown32 fgetpos64 fopen64 freopen64
763 fseeko64 fsetpos64 fstat64 ftello64 ftruncate64 getegid32 geteuid32
764 getgid32 getgrent32 getgrgid32 getgrnam32 getgroups32 getpwuid32
765 getpwuid_r32 getuid32 initgroups32 lchown32 lseek64 lstat64 mknod32
766 mmap64 seekdir64 setegid32 seteuid32 setgid32 setgroups32 setregid32
767 setreuid32 setuid32 stat64 telldir64 truncate64 to substitute the
768 above.
769 * cygserver_shm.h (class client_request_shm): Change uid_t and gid_t
770 members to __uid32_t and __gid32_t.
771 * cygwin.din: Add symbols acl32 aclcheck32 aclfrommode32
772 aclfrompbits32 aclfromtext32 aclsort32 acltomode32 acltopbits32
773 acltotext32 facl32 fgetpos64 fopen64 freopen64 fseeko64 fsetpos64
774 _fstat64 ftello64 _lseek64 mknod32 _open64.
775 * glob.c: Include perprocess.h.
776 (globtilde): Call getpwuid32 and getuid32 instead of getpwuid and
777 getuid.
778 (g_lstat): Check for applications API version to call the appropriate
779 typed gl_lstat function.
780 (g_stat): Ditto for gl_stat.
781 * shm.cc (client_request_shm::client_request_shm): Call geteuid32
782 and getegid32 instead of geteuid and getegid throughout.
783 * syscalls.cc (_open64): New alias for open.
784 (_lseek64): New alias for lseek64.
785 (_fstat64): New alias for fseek64.
786 (mknod32): New function.
787 (mknod): Calls mknod32 now.
788 * winsup.h: Make function declarations for getuid32, geteuid32,
789 and getpwuid32 accessible for plain C sources. Add declarations
790 for getegid32 and getpwnam.
791 * include/cygwin/version.h: Bum API minor number to 78.
792 * include/sys/cygwin.h: Guard C++ specific members of struct
793 per_process against inclusion in plain C sources.
794 * include/sys/mman.h (mman): Add guard to avoid type clash when
795 compiling Cygwin.
796
659fb3ff
CF
7972003-03-09 Christopher Faylor <cgf@redhat.com>
798
d580d86c 799 * include/cygwin/version.h: Bump DLL minor number to 22.
659fb3ff 800
c367dfd0
CF
8012003-03-09 Christopher Faylor <cgf@redhat.com>
802
803 Do some minor reformatting of 'extern "C"' use throughout.
804
8052003-03-06 Christopher January <chris@atomice.net>
806
807 * autoload.cc (GetSystemTimes): Define new autoload function.
808 * fhandler_proc.cc (proc_listing): Add cpuinfo and partitions entries.
809 (fhandler_proc::fill_filebuf): Add PROC_CPUINFO and PROC_PARTITIONS
810 cases.
811 (format_proc_uptime): Use GetSystemTimes if available.
812 (read_value): New macro.
813 (print): New macro.
814 (cpuid): New function.
815 (can_set_flag): New function.
816 (format_proc_cpuinfo): New function.
817 (format_proc_partitions): New function.
818
36c4a441
CF
8192003-03-09 Christopher Faylor <cgf@redhat.com>
820
821 * syscalls.cc (unlink): Attempt to be more clever about setting
822 attributes of file. Only open file in query mode to avoid having to
823 mess with security stuff for reading.
824
639ebe29
CV
8252003-03-09 Corinna Vinschen <corinna@vinschen.de>
826
827 * rmsym: Fix regular expression.
828
3a1d827f
CF
8292003-03-09 Christopher Faylor <cgf@redhat.com>
830
831 * Makefile.in: Change from using new-* to cygwin0 for temporary
832 targets.
833
ca0e9071
CV
8342003-03-09 Corinna Vinschen <corinna@vinschen.de>
835
836 * include/cygwin/socket.h: Set SOMAXCONN to Winsock2 value.
837
ed269cea
CF
8382003-03-08 Christopher Faylor <cgf@redhat.com>
839
840 * syscalls.cc (unlink): Always attempt to use FILE_FLAG_CLOSE_ON_DELETE
841 to delete files since this allows us to preserve the protection of hard
842 linked files.
843 (link): Generate full path for potentially recalculated .lnk target.
844
1114c3d0
CF
8452003-03-08 Christopher Faylor <cgf@redhat.com>
846
847 Revert below changes regarding _pinfo::cmdline.
848
d66ac2bc
CV
8492003-03-08 Corinna Vinschen <corinna@vinschen.de>
850
851 * external.cc (cygwin_internal): Change n to __off64_t to match change
852 of _pinfo::cmdline.
853 * fhandler.h (class fhandler_virtual): Change filesize member to
854 __off64_t.
855 * fhandler_proc.cc (format_proc_meminfo): Change to return __off64_t.
856 (format_proc_stat): Ditto.
857 (format_proc_uptime): Ditto.
858 * fhandler_process.cc (format_process_stat): Ditto.
859 (format_process_status): Ditto.
860 (format_process_statm): Ditto.
861 * pinfo.cc (_pinfo::cmdline): Expect __off64_t parameter.
862 * pinfo.h (class _pinfo): Change declaration of cmdline accordingly.
863
762520f3
CF
8642003-03-07 Christopher Faylor <cgf@redhat.com>
865
866 * path.h (PATH_LNK): New enum val.
867 (path_conv::is_lnk_symlink): New function. True if path represents
868 .lnk style symlink.
869 * path.cc (check_shortcut): Set PATH_LNK in pflags when appropriate.
870 (symlink_info::check): Ditto. Remove PATH_LNK from pflags initially.
871 * syscalls.cc (unlink): Always remove readonly attribute from a symlink
872 regardless of type.
873 (link): (from Corinna Vinschen) Allow links to symlinks. Reset
874 attributes on a symlink after successful link creation.
875 (chmod): Use is_lnk_symlink where appropriate.
876 (rename): Ditto.
877
8782003-03-07 Pierre Humblet <pierre.humblet@ieee.org>
879
880 * tty.cc (create_tty_master): Call GetComputerName instead of
881 cygwin_gethostname. Set ut_id.
882 * syscalls.cc (login): Call endutent.
883 (setutent): Do not seek after a fresh open.
884
6f8102cb
CV
8852003-03-07 Corinna Vinschen <corinna@vinschen.de>
886
887 * syscalls.cc (seteuid32): Fix formatting.
888
88243328
TP
8892003-03-04 Thomas Pfaff <tpfaff@gmx.net>
890
891 * thread.cc (MTinterface::fixup_after_fork): Initialize mainthread
892 prior to pthread objects.
762520f3 893
12390bc4
CV
8942003-03-04 Jason Tishler <jason@tishler.net>
895
896 * fhandler_socket.cc (fhandler_socket::dup): Initialize type.
897
c418817e
CF
8982003-03-03 Christopher Faylor <cgf@redhat.com>
899
900 * fhandler.h (fhandler_tty_slave::close): Declare new function.
901 (fhandler_tty_slave::dup): Declare new function.
902 (fhandler_tty_slave::fixup_after_function): Declare new function.
903 * fhandler_tty.cc (fhandler_tty_slave_open): Only increment
904 fhandler_console::open_fhs when associated with a pty.
905 (fhandler_tty_slave::close): Define new function. Decrement
906 fhandler_console::open_fhs when associated with a pty.
907 (fhandler_tty_slave::dup): Define new function. Increment
908 fhandler_console::open_fhs when associated with a pty.
909 (fhandler_tty_slave::fixup_after_fork): Define new function. Increment
910 fhandler_console::open_fhs when associated with a pty.
911
e11fe31b
CF
9122003-03-03 Christopher Faylor <cgf@redhat.com>
913
914 * fhandler_tty.cc (fhandler_pty_slave::open): Grudgingly increment
915 fhandler_console::open_fhs here.
916 (fhandler_pty_slave::close): Ditto for close.
917
cffdb4b1
CF
9182003-03-02 Christopher Faylor <cgf@redhat.com>
919
920 * lib/getopt.c: Refresh from NetBSD sources.
921
d5d2ffee
CF
9222003-03-02 Christopher Faylor <cgf@redhat.com>
923
924 * fhandler_console.cc (fhandler_console::close): Don't decrement
925 in use counter if in vfork fixup stage.
926
c2c6b170
CF
9272003-03-02 Christopher Faylor <cgf@redhat.com>
928
929 * lib/getopt.c: Nuke use of unneeded BSDisms.
930
8b19b43d
CF
9312003-03-02 Christopher Faylor <cgf@redhat.com>
932
933 * dll_init.cc (dll_list::load_after_fork): Don't revert to LoadLibrary
934 if LoadLibraryEx fails.
935 * dtable.cc (dtable::dec_console_fds): Eliminate.
936 (dtable::release): Don't treat console specially.
937 (dtable::build_fhandler): Ditto.
938 * dtable.h (console_fds): Eliminate.
939 (dtable::dec_console_fds): Eliminate.
940 (dtable::inc_console_fds): Eliminate.
941 * fhandler.h (fhandler_console::open_fhs): New static element.
942 * fhandler_console.cc (fhandler_console::open): Increment open_fs.
943 (fhandler_console::close): Call FreeConsole if no more open consoles
944 and ctty is not associated with the console.
945 * syscalls.cc (setsid): Simplify check for when to call FreeConsole.
946 (check_pty_fds): Eliminate definition.
947 * winsup.h (check_pty_fds): Eliminate declaration.
948
3efc65f7
CF
9492003-03-02 Christopher Faylor <cgf@redhat.com>
950
951 * dll_init.cc (dll_list::load_after_fork): Fix typo where result of
952 LoadLibrary was ignored.
953
5a082e9e
CV
9542003-03-01 Corinna Vinschen <corinna@vinschen.de>
955
956 * fhandler_socket.cc (fhandler_socket::bind): Open and write socket
957 file using Win32 calls.
958
9d913f07
CV
9592003-03-01 Corinna Vinschen <corinna@vinschen.de>
960
961 * fhandler_socket.cc (get_inet_addr): Open and read socket file using
962 Win32 calls.
963
005c3065
CF
9642003-02-28 Christopher Faylor <cgf@redhat.com>
965
966 * cygwin.din: Wrap atexit and exit with cygwin, thread-safe functions.
967 * dcrt0.cc (cygwin_atexit): New function.
968 (cygwin_exit): Ditto.
969
27b4082a
PH
9702003-02-28 Pierre Humblet <pierre.humblet@ieee.org>
971
972 * syscalls.cc (fstat64): Pass get_name () to pc.
005c3065 973 (access): Pass fn to stat_worker.
27b4082a
PH
974
9752003-03-27 Corinna Vinschen <corinna@vinschen.de>
5777b970
CV
976
977 * fhandler_socket.cc (class sock_event): New class managing Winsock
978 events for interruptible socket calls.
979 (fhandler_socket::connect): Move support for interruptible call to
980 class sock_event. Use class object instead.
981 (fhandler_socket::accept): Ditto. Remove useless casts.
982
005c3065 9832003-03-27 Thomas Pfaff <tpfaff@gmx.net>
5777b970
CV
984
985 * fhandler_socket.cc (fhandler_socket::connect): Add support for
986 an interruptable connect.
987
7b2ce663
CV
9882003-02-27 Pierre Humblet <pierre.humblet@ieee.org>
989
990 * uinfo.cc (internal_getlogin): Only update user.groups.pgsid
991 if the call to set the primary group succeeds.
992
0e7a60fe
CF
9932003-02-27 Christopher Faylor <cgf@redhat.com>
994
995 * cygthread::detach: Improve error message.
996
61a52599
CV
9972003-02-26 Pierre Humblet <pierre.humblet@ieee.org>
998
999 * sec_helper.cc (get_sids_info): debug_print owner_sid and group_sid.
1000
6b9a9ce6
CV
10012003-02-25 Corinna Vinschen <corinna@vinschen.de>
1002
1003 * mmap.cc (mmap64): Fix returned address by taking the granularity
1004 into account.
1005
1ffc44aa
PH
10062003-02-23 Pierre Humblet <pierre.humblet@ieee.org>
1007
1008 * syslog.cc (syslog): Do not unlock the file before closing it
1009 and remove debug_printf about stream errors.
1010
a066f364
CF
10112003-02-22 Christopher Faylor <cgf@redhat.com>
1012
1013 * cygmalloc.h: Remove MORECORE_CANNOT_TRIM. It's not true.
1014 # cygwin.din: Export mallinfo.
1015 # malloc_wrapper.cc (mallinfo): New function.
1016
878e60c5
CF
10172003-02-22 Pierre Humblet <pierre.humblet@ieee.org>
1018
1019 * syslog.cc (syslog): Do not print the Windows pid. Print the Cygwin
1020 pid as an unsigned decimal. On Win95 print a timestamp and attempt to
1021 lock the file up to four times in 3 ms.
1022
b1d1e50d
CV
10232003-02-21 Corinna Vinschen <corinna@vinschen.de>
1024
1025 * fhandler_socket.cc (fhandler_socket::fhandler_socket): Fix compiler
1026 warning.
1027 (fhandler_socket::fstat): Simplify. Set st_uid/st_gid to effective
1028 uid/gid of current process in case of open sockets.
1029
cf762b08
CV
10302003-02-21 Corinna Vinschen <corinna@vinschen.de>
1031
1032 * dtable.cc (dtable::build_fhandler_from_name): Set some fhandler
1033 data on sockets to evaluate AF_LOCAL sockets correctly.
1034 (dtable::build_fhandler): Set unit number on sockets.
1035 * fhandler.h (fhandler_socket): Add unit number.
1036 (fhandler_socket::get_unit): New method.
1037 * fhandler_socket.cc (fhandler_socket::fhandler_socket): Set unit
1038 number.
1039 (fhandler_socket::fstat): Reorganize to return more Linux-like
1040 values.
1041 * net.cc: include ctype.h.
1042 (fdsock): Set unit number when building fhandler.
1043 * path.cc (path_conv::check): Set device type to FH_SOCKET if file
1044 is a AF_UNIX socket.
1045 (get_devn): Evaluate unit for virtual socket devices.
1046 (win32_device_name): Set windows path for sockets to unix_path with
1047 just backslashes to keep the different names.
1048 * syscalls.cc (fstat64): Don't override st_ino, st_dev and st_rdev
1049 for sockets.
1050 (stat_worker): Ditto.
1051
10522003-02-21 Pierre Humblet <pierre.humblet@ieee.org>
1053
1054 * autoload.cc (AccessCheck): Add.
1055 (DuplicateToken): Add.
1056 * security.h (check_file_access): Declare.
1057 * syscalls.cc (access): Convert path to Windows, check existence
1058 and readonly attribute. Call check_file_access instead of acl_access.
1059 * security.cc (check_file_access): Create.
1060 * sec_acl (acl_access): Delete.
1061
5cd82412
CF
10622003-02-19 Christopher Faylor <cgf@redhat.com>
1063
1064 * fhandler.cc (fhandler_base::open): Move some filesystem specific
1065 stuff.
1066 (fhandler_disk_file::open): Accept some filesystem specific stuff.
1067 * sigproc.cc (wait_for_sigthread): Become slightly more thread safe.
1068 (sig_send): Don't assume that signal thread is ready.
1069
892d8962
CV
10702003-02-20 Corinna Vinschen <corinna@vinschen.de>
1071
1072 * wincap.h (wincap): Remove unnecessary definition of
1073 supports_sparse_files.
1074 * wincap.cc: Ditto.
1075
518f5d49
CV
10762003-02-20 Corinna Vinschen <corinna@vinschen.de>
1077
1078 * fhandler_disk_file.cc (fhandler_disk_file::opendir): Check descriptor
1079 created by cygheap_fdnew constructor.
1080 * fhandler_virtual.cc (fhandler_virtual::opendir): Ditto.
1081 * fhandler_socket.cc (fhandler_socket::accept): Ditto and move
1082 creation of file descriptor behind blocking OS call.
1083 * net.cc (cygwin_socket): Ditto.
1084 (cygwin_rcmd): Ditto.
1085 (cygwin_rresvport): Ditto.
1086 (cygwin_rexec): Ditto.
1087 (socketpair): Ditto.
1088
3a88cf1b
CV
10892003-02-20 Corinna Vinschen <corinna@vinschen.de>
1090
1091 * autoload.cc (GetCompressedFileSize): Add.
1092 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Compute
1093 st_blocks value from GetCompressedFileSize() if available.
1094
79207923
CV
10952003-02-18 Vaclav Haisman <V.Haisman@sh.cvut.cz>
1096
1097 * wincap.h (wincaps::supports_sparse_files): New flag.
1098 (wincapc::supports_sparse_files): New method.
1099 * wincap.cc (wincap_unknown): Define value for the new flag.
1100 (wincap_95): Ditto.
1101 (wincap_95osr2): Ditto.
1102 (wincap_98): Ditto.
1103 (wincap_98se): Ditto.
1104 (wincap_me): Ditto.
1105 (wincap_nt3): Ditto.
1106 (wincap_nt4): Ditto.
1107 (wincap_nt4sp4): Ditto.
1108 (wincap_2000): Ditto.
1109 (wincap_xp): Ditto.
1110 * path.h (path_conv::fs_flags): New method.
005c3065
CF
1111 * fhandler_disk_file.cc: Include winioctl.h for DeviceIoControl.
1112 (fhandler_disk_file::open): Set newly created and truncated files as
79207923
CV
1113 sparse on platforms that support it.
1114
afe13e84
CV
11152003-02-17 Pierre Humblet <pierre.humblet@ieee.org>
1116
1117 * grp.cc (internal_getgroups): Handle properly tokens with
1118 no groups. Fix bug introduced on 2003-02-04.
1119
8fc16812
CF
11202003-02-16 Christopher Faylor <cgf@redhat.com>
1121
408e9b2f 1122 * cygwin.din: Export all appropriate newlib libm functions. Sort.
8fc16812
CF
1123 * include/cygwin/version.h: Bump API minor number.
1124
f655eadf
CF
11252003-02-15 Christopher Faylor <cgf@redhat.com>
1126
8fc16812 1127 * cygwin.din: Export all appropriate newlib libc functions.
f655eadf
CF
1128 * include/cygwin/version.h: Bump API minor number.
1129
4d9ba012
CV
11302003-02-14 Jason Tishler <jason@tishler.net>
1131
1132 * mmap.cc (mprotect): Add missing break.
1133
dff01e3a
CF
11342003-02-13 Christopher Faylor <cgf@redhat.com>
1135
1136 * exceptions.cc (try_to_debug): Don't reset priority when returning
1137 from non-waitloop call.
d1d1797e
CF
1138
11392003-02-13 Vaclav Haisman <V.Haisman@sh.cvut.cz>
005c3065 1140 Christopher Faylor <cgf@redhat.com>
d1d1797e
CF
1141
1142 * fhandler_console.cc (fhandler_console::write_normal): Use MessageBeep
1143 for bell sound.
1144 * autoload.cc (MessageBeep): Add.
1145
97c61aeb
CF
11462003-02-13 Christopher Faylor <cgf@redhat.com>
1147
1148 * include/cygwin/types.h: Use correct ifdef guard for u_ definitions.
1149
a200c081
CF
11502003-02-13 Christopher Faylor <cgf@redhat.com>
1151
1152 * environ.cc (environ_init): Use strechr.
1153
2858de3a
CF
11542003-02-13 Christopher Faylor <cgf@redhat.com>
1155
1156 * include/cygwin/in.h (sockaddr_in): Fix typo.
1157
75c8a70c
CF
11582003-02-12 Christopher Faylor <cgf@redhat.com>
1159
1160 * path.h (path_conv): Reorganize slightly.
1161
939d19b0
CF
11622003-02-12 Christopher Faylor <cgf@redhat.com>
1163
1164 * fhandler_tty.cc (process_input): Add sanity check to ensure that
1165 console typeahead is cleared on signal.
1166
7a44ba05
CF
11672003-02-12 Christopher Faylor <cgf@redhat.com>
1168
1169 * spawn.cc (linebuf::~linebuf): Resurrect commented out (for
1170 debugging?) code.
1171
407b8df6
CF
11722003-02-10 Ralf Habacker <ralf.habacker@freenet.de>
1173
1174 * include/cygwin/in.h (in_attr_t): Define new type.
1175 * include/arpa/inet.h (inet_addr): Change return type to in_addr_t.
1176 (inet_lnaof): Ditto.
1177 (inet_netof): Ditto.
1178 (inet_network): Ditto.
1179
11802003-02-10 Christopher Faylor <cgf@redhat.com>
1181
1182 * include/cygwin/types.h: Move many *_t typedefs here. Protect them
1183 with ifdefs.
1184 * fhandler_disk_file.cc (fhandler_disk_file::fstat): Change ntsec_atts to mode_t.
1185 * security.cc (get_attribute_from_acl): Accept mode_t attribute.
1186 (get_nt_attribute): Ditto.
1187 (get_file_attribute): Ditto.
1188 (get_nt_object_attribute): Ditto.
1189 (get_object_attribute): Ditto.
1190 * security.h: Reflect above changes.
1191 * syscalls.cc (chown_worker): Change attrib to mode_t.
1192
ad80bc42
CF
11932003-02-08 Christopher Faylor <cgf@redhat.com>
1194
67c64e3b 1195 * include/cygwin/version.h: Bump DLL minor number to 21.
ad80bc42
CF
1196
11972003-02-07 Christopher Faylor <cgf@redhat.com>
1198
1199 * malloc.cc (DEFAULT_MMAP_THRESHOLD): Bump down to 16MB thanks to below
1200 changes.
1201
4136fdb1
CV
12022003-02-07 Corinna Vinschen <corinna@vinschen.de>
1203
1204 * mmap.cc (mmap_record::alloc_map): De-inline. Add offset and length
1205 parameter. Only protect pages actually unused currently. Do job
1206 of map_map() when initializing a map.
1207 (mmap_record::map_map): Reduce functionality for the reuse case
1208 of private anonymous mapping.
1209 (mmap_record::fixup_map): Format change.
1210 (list::add_record): Add offset and length parameter to call
1211 mmap_record::alloc_map() correctly.
1212 (mmap64): Rename `l' variable to `map_list'. Accomodate above changes.
1213 (munmap): Rename `l' variable to `map_list'.
1214 (msync): Ditto.
1215 (fhandler_disk_file::mmap): Streamline code.
1216 (mprotect): Ditto.
1217 (fixup_mmaps_after_fork): Rename `l' variable to `map_list'.
1218
49b84ce4
CF
12192003-02-07 Vaclav Haisman <V.Haisman@sh.cvut.cz>
1220 Christopher Faylor <cgf@redhat.com>
1221
1222 * exceptions.cc (try_to_debug): Set priority of current thread rather
1223 than the main thread. Make busy waiting loop less busy. Restore
1224 priority when function returns.
1225
bc5b63ed
CF
12262003-02-07 Christopher Faylor <cgf@redhat.com>
1227
1228 * malloc.cc (DEFAULT_MMAP_THRESHOLD): Set high to avoid mmaps.
1229
12302003-02-07 Christopher Faylor <cgf@redhat.com>
1231
1232 * pipe.cc (fhandler_pipe::close): Avoid extraneous this->.
1233
1de8d164
CF
12342003-02-06 Christopher Faylor <cgf@redhat.com>
1235
1236 * heap.cc (heap_init): Remove debugging code.
1237
565e8015
CV
12382003-02-06 Pierre Humblet <pierre.humblet@ieee.org>
1239
1240 * security.h: Introduce names UNKNOWN_UID and UNKNOWN_GID and delete
1de8d164 1241 declaration of is_grp_member.
565e8015
CV
1242 * uinfo.cc (internal_getlogin): Use UNKNOWN_GID.
1243 * passwd.cc (pwdgrp::read_passwd): Use UNKNOWN_UID.
1244 * grp.cc (pwdgrp::read_group): Change group name to provide better
1245 feedback.
1246 (getgrgid): Use gid16togid32.
1247 * sec_helper.cc (is_grp_member): Delete.
1248
d238c1b4
CF
12492003-02-05 Christopher Faylor <cgf@redhat.com>
1250
1251 * path.cc: Change 'to_posix_p' to 'to_posix' throughout.
1252 (conv_path_list_buf_size): Accommodate relative paths.
1253
b7f52fe8
CF
12542003-02-05 Christopher Faylor <cgf@redhat.com>
1255
1256 * path.cc (etc::dir_changed): Fix debug printf.
1257
62cd433e
CV
12582003-02-05 Corinna Vinschen <corinna@vinschen.de>
1259
1260 * sec_acl.cc (setacl): Move all permission settings to beginning of
1261 loop. Set default rights to same values as in alloc_sd(). Set DELETE
1262 for owner and default owner only if S_IWOTH is given.
1263
12642003-02-05 Pierre Humblet <pierre.humblet@ieee.org>
1265
1266 * sec_acl.cc: Change all __aclent16_t to __aclent32_t except in
1267 wrapper function definitions. Replace call to the aclXYZ functions by
1268 calls aclXYZ32.
1269 (searchace): Change type of third argument to __uid32_t and use
1270 ILLEGAL_UID instead of -1;
1271 (setacl): Remove some initializations. Only give STANDARD_RIGHTS_WRITE
1272 for S_IWOTH. Replace -1 by ILLEGAL_UID.
1273 (getacl): Change type of owner_sid, group_sid and ace_sid to cygpsid.
1274 In last else clause, suppress second call to ace_sid.get_id and use
1275 TRUE in first call. Replace EqualSid by ==.
1276 (acl_access): Call internal_getgroups in USER and GROUP cases.
1277 (acecmp: Define static.
1278 (acl32): Create from 16 bit type.
1279 (facl32): Ditto.
1280 (lacl32): Ditto.
1281 (aclcheck32): Ditto.
1282 (aclsort32): Ditto.
1283 (acltomode32): Ditto.
1284 (aclfrommode32): Ditto.
1285 (acltopbits32): Ditto.
1286 (aclfrompbits32): Ditto.
1287 (acltotext32): Ditto.
1288 (aclfromtext32): Ditto, and use strechr.
1289 (acl16to32): Create.
1290 (acl): Make it a wrapper function.
1291 (facl): Ditto.
1292 (lacl): Ditto.
1293 (aclcheck): Ditto.
1294 (aclsort): Ditto.
1295 (acltomode): Ditto.
1296 (aclfrommode): Ditto.
1297 (acltopbits): Ditto.
1298 (aclfrompbits): Ditto.
1299 (acltotext): Ditto.
1300 (aclfromtext): Ditto.
1301 * security.cc (write_sd): Call set_process_privilege and check
1302 ownership.
1303 (alloc_sd): Remove call to set_process_privilege and the owner check.
1304
cadd065b
CF
13052003-02-05 Christopher Faylor <cgf@redhat.com>
1306
1307 * include/sys/cygwin.h: Use C-style comments.
1308
0c8455c3
CV
13092003-02-05 Pierre Humblet <pierre.humblet@ieee.org>
1310
1311 * sec_helper.cc (get_sids_info): New function.
1312 * security.cc (extract_nt_dom_user): Simplify with strechr.
1313 (get_user_groups): Initialize glen to MAX_SID_LEN.
1314 (get_user_local_groups): Ditto.
1315 (get_attribute_from_acl): Define ace_sid as cygpsid.
1316 (get_nt_attribute): Define owner_sid and group_sid as cygpsid.
1317 Call get_sids_info instead of cygsid.get_{u,g}id and is_grp_member.
1318 (get_nt_object_attribute): Ditto.
1319 (alloc_sd): Define ace_sid as cygpsid.
1320
5ae9331a
TP
13212003-02-04 Thomas Pfaff <tpfaff@gmx.net>
1322
1323 * syscalls.cc (struct system_cleanup_args): New struct.
1324 (system_cleanup): New function.
1325 (system): Use pthread_cleanup_push and _pop to save and restore
1326 signal handlers and sigprocmask.
1327
3dbafd87
CV
13282003-02-04 Corinna Vinschen <corinna@vinschen.de>
1329
1330 * path.cc (symlink): Create security attributes so that only the
1331 user can modify the symlink.
1332 * security.cc (set_security_attribute): Remove symlink special
1333 handling.
1334
0daf2561
CV
13352003-02-04 Pierre Humblet <pierre.humblet@ieee.org>
1336
1337 * grp.cc (internal_getgroups): Do not return without closing
1338 the process handle.
1339
4a21c2d5
CV
13402003-02-04 Pierre Humblet <pierre.humblet@ieee.org>
1341
1342 * security.h (class cygpsid): New class.
1343 (class cygsid): Use cygpsid as base. Remove members psid, get_id,
1344 get_uid, get_gid, string, debug_printf and the == and != operators.
1345 (cygsidlist::clear_supp): Only do work if setgroups has been called.
1346 * sec_helper.cc: Define sid_auth NO_COPY.
1347 (cygpsid::operator==): New operator.
1348 (cygpsid::get_id): New function.
1349 (cygpsid::string): New function.
1350 (cygsid::string): Delete.
1351 (cygsid::get_id): Delete.
1352 * pwdgrp.h: Change arguments of internal_getpwsid,
1353 internal_getgrsid and internal_getgroups to cygpsid.
1354 * passwd.cc (internal_getpwsid): Change argument from cygsid to cygpsid.
d238c1b4 1355 * grp.cc (internal_getgrsid): Ditto.
4a21c2d5
CV
1356 (internal_getgroups): Ditto.
1357
335556d5
CF
13582003-02-03 Christopher Faylor <cgf@redhat.com>
1359
1360 Eliminate most unneeded this-> pointers throughout.
1361
153e83c6
CV
13622003-02-03 Pierre Humblet <pierre.humblet@ieee.org>
1363
1364 * security.h: Add third argument to set_process_privilege.
1365 * autoload.cc: Add OpenThreadToken.
1366 * sec_helper.cc (set_process_privilege): Add and use use_thread
1367 argument.
1368 * security.cc (alloc_sd): Modify call to set_process_privilege.
1369 Remember the result in each process. If failed and file owner is not
1370 the user, fail.
1371
f0f3ea68
CV
13722003-02-03 Corinna Vinschen <corinna@vinschen.de>
1373
1374 * fhandler_socket.cc (fhandler_socket::recvfrom): Return buffer
1375 length and don't set errno in case of WSAEMSGSIZE error.
1376 (fhandler_socket::recvmsg): Ditto.
1377
6688a061
CF
13782003-02-01 Christopher Faylor <cgf@redhat.com>
1379
1380 * grp.cc (getgrent32): Only refresh group entries when at beginning.
1381 (internal_getgrsid): Only refresh if uninitialized.
1382 (internal_getgrent): Ditto.
1383 * passwd.cc (getpwent): Only refresh passwd entries when at beginning.
1384 (pwdgrp::read_passwd): linebuf *cannot* be NO_COPY.
1385 (internal_getpwsid): Only refresh if uninitialized.
1386 (getpass): No need to refresh passwd data here.
1387 * pwdgrp.h (refresh): Eliminate default.
1388
a5a93a62
CF
13892003-01-31 Christopher Faylor <cgf@redhat.com>
1390
1391 * dlfcn.cc (dlerror): Only report load errors once per error.
1392
b0a82a85
CF
13932003-01-31 Christopher Faylor <cgf@redhat.com>
1394
1395 * fhandler_serial.cc (fhandler_serial::open): Avoid extraneous setting
1396 of res.
1397
1398 * termios.cc (tcsetattr): Correctly record errno after tcsetattr call.
1399
14002003-01-31 Troy Curtiss <troyc@usa.net>
1401
1402 * fhandler_serial.cc (fhandler_serial::tcsetattr): Add error-checking
1403 so that if any Win32 SetComm*() calls fail, errno gets set to EINVAL
1404 and tcsetattr() returns -1. Catch invalid bitrates, mostly. If baud
1405 rate setting is B0, just drop DTR and leave Win32 DCB bitrate as-is
1406 since 0 is not a valid Win32 setting.
1407 (fhandler_serial::tcgetattr): If DTR is low, populate the bitrate as
1408 B0, otherwise get it from the DCB.
1409
949c3da1
CF
14102003-01-31 Christopher Faylor <cgf@redhat.com>
1411
1412 * passwd.cc (pwdgrp::read_passwd): linebuf *must* be static (from
1413 Pierre Humblet).
1414 * pwdgrp.h (pwdgrp::refresh): Avoid calling read function if we already
1415 have lock since that means we are in the process of reading the file.
1416
485d85bf
CF
14172003-01-31 Jason Tishler <jason@tishler.net>
1418
1419 * shared.cc (shared_info::heap_chunk_size): Use correct variable when
1420 reading HKLM.
1421
704ce461
CF
14222003-01-30 Christopher Faylor <cgf@redhat.com>
1423
1424 * fhandler_registry.cc (fhandler_registry::exists): Fix off-by-one
1425 error when inspecting path.
1426
ba6e1083
CF
14272003-01-29 Christopher Faylor <cgf@redhat.com>
1428
1429 * lib/getopt.c: Allow environment variable control of POSIXLY_INCORRECT
1430 behavior.
1431
14322003-01-28 Corinna Vinschen <corinna@vinschen.de>
01e3c897
CV
1433
1434 * fhandler_socket.cc (fhandler_socket::accept): On successful execution
1435 set connection state of returned socket to CONNECTED.
1436
dfb366da
CF
14372003-01-27 Christopher Faylor <cgf@redhat.com>
1438
1439 * passwd.cc (pwdgrp::parse_passwd): Be more unforgiving about
1440 non-numeric fields.
1441
03dba1de
CF
14422003-01-26 Christopher Faylor <cgf@redhat.com>
1443
1444 * uinfo.cc (pwdgrp::next_num): Remove check for NULL since it is no
1445 longer a valid return from next_str.
1446 (pwdgrp::add_line): Duh. Revert to use strchr.
1447
fea48988
CF
14482003-01-26 Christopher Faylor <cgf@redhat.com>
1449
ca6018a0 1450 * string.h (strechr): New function.
fea48988
CF
1451 * uinfo.cc (pwdgrp::next_str): Search only for input char in string.
1452 Return EOS on failure. Don't check for NULL since it shouldn't be
1453 possible.
1454 (pwdgrp::add_line): Revert to replacing '\n' in input line with '\0'.
1455 (pwdgrp::next_num): Pass explicit separator character to next_str.
1456 * grp.cc (pwdgrp::parse_group): Ditto.
1457 * passwd.cc (pwdgrp::parse_passwd): Ditto. Revamp test for garbage
1458 input.
1459 * pwdgrp.h (pwdgrp::next_str): Don't use default parameter.
1460
9a751621
CF
14612003-01-26 Christopher Faylor <cgf@redhat.com>
1462
1463 * uinfo.cc (pwdgrp::load): Regularize strace output. Add warning for
1464 CreateFile failure.
1465
c9133395
CF
14662003-01-26 Christopher Faylor <cgf@redhat.com>
1467
bdbd7fb6
CF
1468 * passwd.cc (pwdgrp::parse_passwd): Eliminate use of memset. The
1469 structure should always be completely filled out.
1470 * grp.cc (pwdgrp::parse_group): Ditto.
1471
14722003-01-26 Christopher Faylor <cgf@redhat.com>
1473
1474 * grp.cc (pwdgrp::parse_group): Fix off-by-one problem in allocating
c9133395 1475 gr_mem.
65037056
CF
1476
14772003-01-26 Christopher Faylor <cgf@redhat.com>
1478
1479 * include/sys/strace.h (paranoid_printf): Define as not being part of
1480 "all" output.
1481
14822003-01-25 Christopher Faylor <cgf@redhat.com>
1483
1484 * pwdgrp.h (pwdgrp::next_num): Rename from next_int. Returns
1485 true/false if parse operation succeeded.
1486 (pwdgrp::reparse): Remove.
1487 (pwdgrp::raw_ptr): New function. Returns pointer in line.
1488 (pwdgrp::next_num): New functions for parsing other than unsigned long.
1489 * grp.cc (pwdgrp::parse_group): Reinstate previous parsing behavior.
1490 Don't fill in fields with NULL and assign empty gr_mem to known pointer
1491 rather than doing a pointless calloc. Streamline gr_mem parsing.
1492 Don't increment curr_lines here.
1493 * passwd.cc (pwdgrp::parse_passwd): Use new behavior of next_num.
1494 Don't increment curr_lines here.
1495 * uinfo.cc (pwdgrp::next_str): Keep returning EOL if out of data.
1496 (pwdgrp::reparse): Remove.
1497 (pwdgrp::next_num): Rename from next_int. Return bool indicating
1498 success of parse, argument returns value parsed.
1499 (pwdgrp::add_line): Increment curr_lines here on successful parse.
1500 (pwdgrp::load): (from Pierre Humblet) Don't return status. Just report
1501 it here.
1502
a53ddfe6
CF
15032003-01-25 Christopher Faylor <cgf@redhat.com>
1504
1505 * pwdgrp.cc (pwdgrp::reparse): Declare.
1506 * uinfo.cc (pwdgrp::reparse): Define.
c9b99d0d 1507 * grp.cc (pwdgrp::parse_group): Use reparse.
a53ddfe6 1508
4f7e12dd
CV
15092003-01-25 Pierre Humblet <pierre.humblet@ieee.org>
1510
1511 * syscalls.cc (seteuid32): On Win95 get the pw entry. If it exists
1512 update the euid and call cygheap->user.set_name. Remove special
1513 handling of ILLEGAL_UID.
ba6e1083 1514 (setgid32): Add a debug_printf. On Win95, always set the egid.
4f7e12dd
CV
1515 Remove special handling of ILLEGAL_GID. Do not compare gid and gr_gid.
1516 * child_info.h (class cygheap_exec_info): Remove uid.
1517 * spawn.cc (spawn_guts): Do not set ciresrv.moreinfo->uid.
1518 * dcrto.cc (dll_crt0_1): Always call uinfo_init.
1519 * uinfo.cc (uinfo_init): Reorganize and close handle if needed.
1520 (cygheap_user::ontherange): Do not call internal_getpwnam if pw is NULL.
1521
45dbfc26
CF
15222003-01-24 Christopher Faylor <cgf@redhat.com>
1523
1524 * fhandler_console.cc (fhandler_console::send_winch_maybe): Reset
1525 scroll region if size changes.
1526
7d33eefa
CV
15272003-01-24 Pierre Humblet <pierre.humblet@ieee.org>
1528 Jason Tishler <jason@tishler.net>
1529
1530 * cygwin.din: Export setreuid32, setreuid, setregid32, setregid.
1531 * syscalls.cc (setreuid32): New function.
1532 (setreuid): Ditto.
1533 (setregid32): Ditto.
1534 (setregid): Ditto.
1535 * include/cygwin/version.h: Bump API minor number.
1536
ac413374 15372003-01-23 Christopher Faylor <cgf@redhat.com>
69fae986 1538
ac413374 1539 * pwdrp.h (pwdgrp::refresh): Lock entire test prior to reading.
2037688a 1540
ac413374 15412003-01-23 Christopher Faylor <cgf@redhat.com>
09a88426
CF
1542
1543 * grp.cc (pwdgrp::parse_group): Eliminate arg and use class member
1544 instead. Use next_str and next_int to parse arguments.
1545 * passwd.cc (pwdgrp::parse_passwd): Ditto.
1546 (grab_string): Eliminate.
1547 (grab_int): Ditto.
1548 * pwdgrp.h (pwdgrp::parse): Eliminate input arg.
1549 (pwdgrp::parse_passwd): Reflect above change.
1550 (pwdgrp::parse_group): Reflect above change.
1551 (pwdgrp::next_str): New function.
1552 (pwdgrp::next_int): Ditto.
1553 (pwdgrp::gets): Eliminate.
1554 * uinfo.cc (pwdgrp::next_str): New function.
1555 (pwdgrp::next_int): Ditto.
1556 (pwdgrp::add_line): Subsume gets.
1557 (pwdgrp::gets): Eliminate.
1558 (pwdgrp::load): Just call add_line to parse input buffer.
1559
ac413374
CF
15602003-01-22 Thomas Pfaff <tpfaff@gmx.net>
1561
1562 * include/pthread.h (PTHREAD_MUTEX_RECURSIVE): Revert changes from
1563 2003-01-09 mutex patch.
1564 (PTHREAD_MUTEX_ERRORCHECK): Ditto.
1565
15662003-01-22 Corinna Vinschen <corinna@vinschen.de>
1567
1568 * cygrun.c: Move from here to ../testsuite.
1569 * Makefile.in: Remove cygrun.exe dependencies.
1570
15712003-01-21 Jason Tishler <jason@tishler.net>
1572
1573 * cygwin.din: Export nanosleep().
1574 * signal.cc (nanosleep): New function.
1575 (sleep): Move old functionality to nanosleep(). Call nanosleep().
1576 (usleep): Remove old functionality. Call nanosleep().
1577 * include/cygwin/version.h: Bump API minor number.
1578
57394495
CF
15792003-01-21 Christopher Faylor <cgf@redhat.com>
1580
1581 * grp.cc: Call gr.refresh() rather than doing isunitialized tests
1582 throughout.
1583 (gr): Use constructor (sigh).
1584 (pwdgrp::parse_group): Rename from parse_grp.
1585 (pwdgrp::read_group): Rename from read_etc_group. Just call gr.load
1586 with a single argument.
1587 * passwd.cc: Call pr.refresh() rather than doing isunitialized tests
1588 throughout.
1589 (pr): Use constructor (sigh).
1590 (pwdgrp::parse_passwd): Rename from "parse_pwd".
1591 (pwdgrp::read_passwd): Rename from read_etc_passwd. Just call pr.load
1592 with a single argument.
1593 * pwdgrp.h (pwdgrp_state): Eliminate.
1594 (pwdgrp): Reflect above renamings.
1595 (pwdgrp::etc_ix): Rename from pwd_ix.
1596 (pwdgrp::read): New element.
1597 (pwdgrp::lock): New element.
1598 (pwdgrp::refresh): New function.
1599 (pwdgrp::load): Eliminate variations which take buffer arguments.
1600 (pwdgrp::pwdgrp): New constructors. Initialize mutex here.
1601 * uinfo.cc (pwdgrp::load): Accommodate pwd_ix -> etc_ix renaming.
1602 (pwdgrp::load): Set initialized state to true rather than setting state
1603 to loaded.
1604
984864e9
CF
16052003-01-21 Christopher Faylor <cgf@redhat.com>
1606
89f7e8d1 1607 * include/cygwin/version.h: Bump DLL minor number.
984864e9 1608
d8cde3a3
CF
16092003-01-21 Pierre Humblet <pierre.humblet@ieee.org>
1610
1611 * path.h (etc::change_possible): Revert the type to bool.
1612 (etc::set_last_modified): Remove obsolete function.
1613 * path.cc (etc::change_possible): Revert type to bool.
1614 (etc::test_file_change): Do not test for negative values of
1615 change_possible and do not set it to -res.
1616 (etc::dir_changed): When the handle is NULL, call memset instead of
09a88426
CF
1617 test_file_changed. When the handle is invalid, return true. Detect
1618 filename change in /etc.
d8cde3a3 1619 (etc::file_changed): Remove unneeded check for !fn[n].
33de631b 1620 * uinfo.cc (pwdgrp::load): Eliminate spurious setting of fh to NULL.
b99b804b 1621 * pwdgrp.h (pwdgrp::operator =): Eliminate.
d8cde3a3 1622
7905c4f1
CF
16232003-01-19 Christopher Faylor <cgf@redhat.com>
1624
1625 * pwdgrp.h (etc): Move to path.h.
1626 (pwdgrp::max_lines): New field.
1627 (pwdgrp::curr_lines): New field.
1628 (pwdgrp::pwdgrp_buf): Ditto.
1629 (pwdgrp_buf_elem_size): Ditto.
1630 (pwdgrp_parse): Ditto.
1631 (pwdgrp::gets): Just declare here.
1632 (pwdgrp::load): Ditto. Just take one argument.
1633 (pwdgrp::load): Define overloaded function accepting passwd buf.
1634 (pwdgrp::load): Define overloaded function accepting group buf.
1635 * grp.cc: Use pwdgrp elements rather than standalone static variables
1636 throughout.
1637 (curr_lines): Eliminate.
1638 (max_lines): Ditto.
1639 (add_grp_line): Ditto.
1640 (parse_grp): Define as returning boolean. Accept void * arg and line
1641 count. Coerce first argument into __group32 buf reference. Increment
1642 curr_line as appropriate.
1643 (read_etc_group): Pass pwdgrp buffer to gr.load.
1644 * passwd.cc: Use pwdgrp elements rather than standalone static variables
1645 throughout.
1646 (curr_lines): Eliminate.
1647 (max_lines): Ditto.
1648 (add_grp_line): Ditto.
1649 (parse_passwd): Define as returning boolean. Accept void * arg and line
1650 count. Coerce first argument into passwd buf reference. Increment
1651 curr_line as appropriate.
1652 (read_etc_group): Pass pwdgrp buffer to pr.load.
1653 * path.cc (etc::fn): Extend buffer size to allow index by 1 rather than
1654 zero.
1655 (etc::last_modified): Ditto.
1656 (etc::change_possible): Ditto. Renamed from sawchange. Change to
1657 signed char since elements are now tri-state.
1658 (etc::init): Assume "handle" is 1 based rather than 0.
1659 (etc::test_file_change): New function. Sets change_possible based on
1660 file date comparison.
1661 (etc::dir_changed): Check file states immediately after changed_h is
1662 initialized to avoid a race.
1663 (etc::file_changed): Use test_file_change to detect if file needs to be
1664 updated.
1665 * path.h (etc): Move class here from pwdgrp.h.
7905c4f1
CF
1666 * uinfo.cc: Move etc:: functions to path.cc. Move pwdgrp functions
1667 here.
1668 (pwdgrp::gets): Eliminate buf checks. Just check eptr and set lptr.
1669 (pwdgrp::add_line): New function.
1670 (pwdgrp::load): Call generic add_line function which will call correct
1671 parser.
1672
4c6a3e50
CF
16732003-01-17 Christopher Faylor <cgf@redhat.com>
1674
1675 * cygheap.cc: Change most 'int's to 'unsigned's.
1676 (_cmalloc): Only check for size of malloced region when calculating
97d2bc79 1677 bucket. Add overhead when performing the sbrk. Previous change broke
4c6a3e50
CF
1678 _crealloc.
1679
e9152439
CF
16802003-01-17 Christopher Faylor <cgf@redhat.com>
1681
1682 * dcrt0.cc (initialize_env): Use colon for CYGWIN_DEBUG separator.
1683 * grp.cc: Change most statics to NO_COPY throughout.
1684 * passwd.cc: Ditto.
1685
16862003-01-17 Christopher Faylor <cgf@redhat.com>
1687
1688 * pwdgrp.h: Change some BOOLs to bools.
1689 (pwdgrp::pwdgrp): Remove unneeded constructor.
1690 * passwd.cc: Change BOOL to bool throughout.
1691
afa378e7
CV
16922003-01-17 Corinna Vinschen <corinna@vinschen.de>
1693
1694 * cygwin.din: Add strerror_r.
1695 * include/cygwin/version.h: Bump API minor number.
1696
1de6f431
CF
16972003-01-17 Christopher Faylor <cgf@redhat.com>
1698
1699 * uinfo.cc (etc::dir_changed): Don't print a warning if can't open
1700 /etc, unless debugging.
1701
d8cde3a3 17022003-01-17 Pierre Humblet <pierre.humblet@ieee.org>
14ea5029
CF
1703
1704 * grp.cc (read_etc_group): On NT, add a line for gid = -1. Change name
1705 "unknown" to "mkgroup".
1706 (internal_getgrgid): Do not return default in nontsec case.
1707 (internal_getgroups): Add argument srchsid and look for it in groups if
1708 not NULL.
1709 * passwd.cc (read_etc_passwd): On NT, add a line for uid = -1. Use
1710 same default uid for Win95 and NT. Call cygheap_user::ontherange to
1711 initialize HOME.
1712
14ea5029
CF
17132003-01-16 Christopher Faylor <cgf@redhat.com>
1714
1715 * cygheap.cc (init_cygheap::etc_changed): Move to uinfo.cc.
1716 * cygheap.h (init_cygheap::etc_changed_h): Remove.
1717 (init_cygheap::etc_changed): Ditto.
1718 * grp.cc (group_state): Remove. Use gr instead throughout.
1719 (gr): Define as class pwdgrp.
1720 (read_etc_group): Remove gr definition. Remove calls to
1721 set_last_modified and close. Pass add_grp to gr.load to load file.
1722 * passwd.cc (passwd_state): Remove. Use pr instead, throughout.
1723 (pr): Define as class pwdgrp.
1724 (read_etc_passwd): Remove pr definition. Remove calls to
1725 set_last_modified and close. Pass add_pwd_line to pr.load to load
1726 file.
1727 * pwdgrp.h (etc): New helper class for pwdgrp.
1728 (pwdgrp): Combine pwdgrp_check and pwdgrp_read into one class. Remove
1729 file_w32 and last_modified fields.
1730 (pwdgrp::set_last_modified): Remove.
1731 (pwdgrp::isinitializing): Remove FindFirstFile stuff. Move to
1732 etc::file_changed.
1733 (pwdgrp::load): Rename from 'open'. Call etc::init to initialize etc
1734 scanning. Close file handle after reading buffer into memory. Parse
1735 buffer by calling second argument.
1736 (pwdgrp::gets): Reorganize slightly to rely on eptr starting at
5304bcdf 1737 beginning of buffer.
14ea5029
CF
1738 (pwdgrp::close): Remove.
1739 * uinfo.cc (etc::dir_changed): New function.
1740 (etc::init): Ditto.
1741 (etc::file_changed): Ditto.
1742 (etc::set_last_modified): Ditto.
1743
41429bc9
CV
17442003-01-16 Jason Tishler <jason@tishler.net>
1745
1746 * mmap.cc (fixup_mmaps_after_fork): Add ERROR_NOACCESS to the list of
1747 ReadProcessMemory() error codes that trigger a retry with temporary
1748 PAGE_READONLY access. Note that this can occur on NT 4.0.
1749
18813254
CF
17502003-01-15 Christopher Faylor <cgf@redhat.com>
1751
1752 * path.cc (normalize_posix_path): Convert win32 path separators to
1753 slashes when full path is specified.
1754
77cb0c56
CF
17552003-01-15 Pierre Humblet <pierre.humblet@ieee.org>
1756
1757 * cmalloc.cc (_cmalloc): Fix memory leak.
1758
ce542f78
CV
17592003-01-15 Corinna Vinschen <corinna@vinschen.de>
1760
1761 * autoload.cc: Fix copyright date.
1762 * fhandler_dsp.cc: Ditto.
1763 * mmap.cc: Ditto.
1764 * net.cc: Ditto.
1765 * ntdll.h: Ditto.
1766 * signal.cc: Ditto.
1767 * syscalls.cc: Ditto.
1768 * uname.cc: Ditto.
1769 * wait.cc: Ditto.
1770
15996b6f
CV
17712003-01-14 Corinna Vinschen <corinna@vinschen.de>
1772
1773 * mmap.cc (fixup_mmaps_after_fork): Copy protection to child process.
1774 Change ambiguous debug output.
1775
857b65dd
CV
17762003-01-14 Corinna Vinschen <corinna@vinschen.de>
1777
1778 * mmap.cc (mmap_record::access): Change argument type to caddr_t
1779 for strictness.
1780 (mprotect): Protect against calling VirtualProtect() for shared
1781 pages on 9x/Me.
1782 (fixup_mmaps_after_fork): If ReadProcessMemory() fails, try to
1783 change protection of parent page to PAGE_READONLY, then try again.
1784 Revert protection afterwards.
1785
e14328f4
TP
17862003-01-14 Thomas Pfaff <tpfaff@gmx.net>
1787
1788 * syscalls.cc (system): Add pthread_testcancel call.
1789 * thread.cc: Update list of cancellation points.
1790
4a3584c8
TP
17912003-01-14 Thomas Pfaff <tpfaff@gmx.net>
1792
1793 * wait.cc: Include thread.h
1794 (wait4): Add pthread_testcancel call.
1795 Wait for child process and cancellation event.
1796 * thread.cc: Update list of cancellation points.
1797
7ec66a2c
TP
17982003-01-14 Thomas Pfaff <tpfaff@gmx.net>
1799
1800 * signal.cc (sleep): Add pthread_testcancel call.
1801 Wait for signal and cancellation event.
1802 (usleep): Ditto.
1803
18042003-01-14 Thomas Pfaff <tpfaff@gmx.net>
3457ce4d
TP
1805
1806 * exceptions.cc (handle_sigsuspend): Add pthread_testcancel call.
1807 Wait for signal and cancellation event.
1808 * thread.cc: Update list of cancellation points.
1809
2673d5f2
CF
18102003-01-14 David Huang <davehzhr@hotmail.com>
1811
1812 * fhandler_dsp.cc (fhandler_dsp::ioctl): Add limited support for
1813 SNDCTL_DSP_GETFMTS.
1814
9f0d3f37
CF
18152003-01-12 Christopher Faylor <cgf@redhat.com>
1816
1817 * ntdll.h: Fix typo.
1818
7f129d87
CV
18192003-01-12 Corinna Vinschen <corinna@vinschen.de>
1820
1821 * uname.cc (uname): Use cygwin_gethostname() to retrieve hostname.
1822
ab2dbccc
CV
18232003-01-12 Pierre Humblet <pierre.humblet@ieee.org>
1824
1825 * sec_acl.cc (search_ace): Use id == -1, instead of < 0, as wildcard.
1826 (setacl): Start the search for a matching default at the next entry.
1827 Invalidate the type of merged entries instead of clearing it.
1828 Use well_known_creator for default owner and owning group and do
1829 not try to merge non-default and default entries in these cases.
1830 (getacl): Recognize well_known_creator for default owner and group.
1831 (acl_worker): Improve errno settings and streamline the nontsec case.
1832 * security.cc (write_sd): Remove the call to set_process_privilege.
1833 (alloc_sd): If the owner changes, call set_process_privilege and return
1834 immediately on failure. Change inheritance rules: on new directories add
1835 inherit only allow ACEs for creator_owner, creator_group and everyone.
1836 Preserve all inheritances through chmod and chown calls. Introduce
1837 isownergroup to implement the uid == gid case, to keep the inheritance
1838 code simple. Do not initialize owner_sid and group_sid and stop using
1839 the variable psd.
1840
68115c74
CF
18412003-01-10 Christopher Faylor <cgf@redhat.com>
1842
1843 * net.cc: Use gethostname define from winsock2.h.
1844
e3abf986
CF
18452003-01-10 Christopher Faylor <cgf@redhat.com>
1846
1847 * path.cc: Unrevert below reversion except for
1848 mount_info::conv_to_posix_path part.
1849
df2caa88
CV
18502003-01-10 Corinna Vinschen <corinna@vinschen.de>
1851
1852 * path.cc: Revert patch from 2003-01-09 to normalize a windows path
1853 rather than converting to posix.
1854
dc8d11f5
CV
18552003-01-10 Corinna Vinschen <corinna@vinschen.de>
1856
1857 * autoload.cc (gethostname): Make call optional, return 1 if function
1858 can't get loaded.
1859 * net.cc (cygwin_gethostname): Call GetComputerName if return value
1860 of gethostname is non-zero.
1861
70d61f30
CV
18622003-01-10 Charles Wilson <cwilson@ece.gatech.edu>
1863
8735f49f 1864 * cygwin.din: Add asprintf and vasprintf, as well as the reentrant
70d61f30 1865 versions and underscore variants.
8735f49f 1866 * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR.
70d61f30 1867
a7711767
CV
18682003-01-10 Corinna Vinschen <corinna@vinschen.de>
1869
1870 * net.cc (cygwin_gethostname): Fix call to wsock function gethostname.
1871
d5223b2b
CF
18722003-01-09 Christopher Faylor <cgf@redhat.com>
1873
1874 * cygthread.cc (cygthread::cygthread): Be more noisy about odd
1875 condition.
1876 * miscfuncs.cc (low_priority_sleep): Sleep in regular priority if
1877 that's what we're currently running at.
1878
65f207e8
TP
18792003-01-09 Thomas Pfaff <tpfaff@gmx.net>
1880
1881 * include/semaphore.h: Modify typedef for sem_t.
1882 * include/cygwin/types.h: Modify typedefs for pthread_t,
1883 pthread_mutex_t, pthread_key_t, pthread_attr_t,
1884 pthread_mutexattr_t, pthread_condattr_t, pthread_cond_t,
1885 pthread_rwlock_t and pthread_rwlockattr_t.
1886
09cbb9d6
TP
18872003-01-09 Thomas Pfaff <tpfaff@gmx.net>
1888
1889 * thread.h (WAIT_CANCELED): New define.
1890 (pthread::cancelable_wait): New static method.
1891 * thread.cc (pthread::cancelable_wait): Implement.
1892 (semaphore::Wait): Wait on semaphore and thread cancellation.
1893 (pthread::join): Wait on joined thread and thread cancellation.
1894 (semaphore::wait): Add testcancel to check for thread
1895 cancellation even if the semaphore is available.
1896
5d68d1de
TP
18972003-01-09 Thomas Pfaff <tpfaff@gmx.net>
1898
1899 * include/pthread.h: Add define for errorchecking mutexes.
1900 Change default mutex type.
1901 * thread.cc (pthread_cond::TimedWait): Update mutex unlock
1902 calls.
1903 (pthread_mutex::pthread_mutex): New implement.
1904 (pthread_mutex::~pthread_mutex): Ditto.
1905 (pthread_mutex::Lock): Ditto.
1906 (pthread_mutex::TryLock): Ditto.
1907 (pthread_mutex::UnLock): Ditto.
1908 (pthread_mutex::Destroy): Implement new method.
1909 (pthread_mutex::SetOwner): Ditto.
1910 (pthread_mutex::LockRecursive): Ditto.
1911 (pthread_mutex::fixup_after_fork): Restore locking state after
1912 fork.
1913 (__pthread_mutex_lock): Return pthread_mutex::Lock errorcode.
1914 (__pthread_mutex_trylock): Return pthread_mutex::TryLock
1915 errorcode.
1916 (__pthread_mutex_unlock): Return pthread_mutex::UnLock
1917 errorcode.
1918 (__pthread_mutex_destroy): Call pthread_mutex::Destroy to
3457ce4d 1919 destroy mutex.
5d68d1de
TP
1920 (__pthread_mutexattr_settype): Allow errorchecking and recursive
1921 types.
1922 * thread.h (MUTEX_LOCK_COUNTER_INITIAL): New define.
1923 (pthread_mutex::criticalsection): Remove.
1924 (pthread_mutex::lock_counter): New member.
1925 (pthread_mutex::recursion_counter): Ditto.
1926 (pthread_mutex::owner): Ditto.
1927 (pthread_mutex::type): Ditto.
1928 (pthread_mutex::Destroy): New method.
1929 (pthread_mutex::SetOwner): Ditto.
1930 (pthread_mutex::LockRecursive): Ditto.
1931
ed9fe455
TP
19322003-01-09 Thomas Pfaff <tpfaff@gmx.net>
1933
1934 * pthread.cc (pthread_cond_init): Use new pthread_cond::init.
1935 * thread.cc: Some white spaces cleanups.
1936 Change __pthread_cond_init to pthread_cond::init throughout.
1937 (nativeMutex): Move class methods outside pthread_mutex.
1938 (MTinterface::Init): Initialize pthread_cond init lock.
1939 (pthread_cond::condInitializationLock): Instantiate.
1940 (pthread_cond::initMutex): New Method.
1941 (pthread_cond::isGoodInitializerOrBadObject): Ditto.
1942 * thread.h: Some white spaces cleanups.
1943 (nativeMutex): Move class declaration outside pthread_mutex.
1944 (pthread_cond::condInitializationLock): New static member.
1945 (pthread_cond::initMutex): New Method.
1946 (pthread_cond::isGoodInitializerOrBadObject): Ditto.
1947 (__pthread_cond_init): Remove prototype.
1948
93353aee
CV
19492003-01-09 Corinna Vinschen <corinna@vinschen.de>
1950
1951 * fhandler_disk_file.cc (num_entries): Return 2 as link count if
1952 directory unreadable.
1953
3eb27a4e
CV
19542003-01-09 Corinna Vinschen <corinna@vinschen.de>
1955
1956 * security.cc (get_nt_attribute): Always return -1 when read_sd()
1957 fails.
1958 (get_file_attribute): Set permissions to 0 and owner/group to -1
1959 if security descriptor is unreadable.
1960
85ba109d
CF
19612003-01-09 Christopher Faylor <cgf@redhat.com>
1962
1963 Use isdirsep rather than SLASH_P throughout.
1964 * path.cc (iscygdrive): Disallow /cygdrive\x.
1965 (normalize_posix_path): "Normalize" a windows path, if detected, rather
1966 than converting to posix.
1967
19682003-01-06 Troy Curtiss <troyc@usa.net>
1969
1970 * fhandler_serial.cc (fhandler_serial::tcsetattr): Add support and
1971 capability checking for B230400 bitrate.
1972 (fhandler_serial::tcgetattr): Add support for B230400 bitrate.
1973 * include/sys/termios.h: Add B230400 definition for Posix support of
1974 230.4Kbps.
1975
cbdbe9d7
CF
19762003-01-05 Christopher Faylor <cgf@redhat.com>
1977
1978 * pinfo.cc (_pinfo::commune_send): Use myself->lock rather than just
1979 lock when leaving.
1980
f3afe99b
CF
19812003-01-03 Christopher Faylor <cgf@redhat.com>
1982
1983 * dtable.h (dtable::in_vfork_cleanup): New function. True if vfork
1984 cleanup needed.
1985 * dtable.cc (dtable::vfork_parent_restore): Remove assertion.
1986 * pipe.cc (fhandler_pipe::close): Don't close read_state during
1987 fork_fixup since it wasn't inherited.
1988
2665fb15
CF
19892003-01-01 Christopher Faylor <cgf@redhat.com>
1990
1991 * passwd.cc (getpwuid_r32): Revert previous change.
1992
8619b42b
CF
19932003-01-01 Christopher Faylor <cgf@redhat.com>
1994
1995 * sysconf.cc (sysconf): Return arbitrary values for
1996 _SC_GETGR_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_GETPW_R_SIZE_MAX.
1997
1998 * passwd.cc (getpwuid_r32): Add uid/gid fields to size check
1999 calculation.
2000
This page took 0.245608 seconds and 5 git commands to generate.