1 2003-02-03 Corinna Vinschen <corinna@vinschen.de>
3 * fhandler_socket.cc (fhandler_socket::recvfrom): Return buffer
4 length and don't set errno in case of WSAEMSGSIZE error.
5 (fhandler_socket::recvmsg): Ditto.
7 2003-02-01 Christopher Faylor <cgf@redhat.com>
9 * grp.cc (getgrent32): Only refresh group entries when at beginning.
10 (internal_getgrsid): Only refresh if uninitialized.
11 (internal_getgrent): Ditto.
12 * passwd.cc (getpwent): Only refresh passwd entries when at beginning.
13 (pwdgrp::read_passwd): linebuf *cannot* be NO_COPY.
14 (internal_getpwsid): Only refresh if uninitialized.
15 (getpass): No need to refresh passwd data here.
16 * pwdgrp.h (refresh): Eliminate default.
18 2003-01-31 Christopher Faylor <cgf@redhat.com>
20 * dlfcn.cc (dlerror): Only report load errors once per error.
22 2003-01-31 Christopher Faylor <cgf@redhat.com>
24 * fhandler_serial.cc (fhandler_serial::open): Avoid extraneous setting
27 * termios.cc (tcsetattr): Correctly record errno after tcsetattr call.
29 2003-01-31 Troy Curtiss <troyc@usa.net>
31 * fhandler_serial.cc (fhandler_serial::tcsetattr): Add error-checking
32 so that if any Win32 SetComm*() calls fail, errno gets set to EINVAL
33 and tcsetattr() returns -1. Catch invalid bitrates, mostly. If baud
34 rate setting is B0, just drop DTR and leave Win32 DCB bitrate as-is
35 since 0 is not a valid Win32 setting.
36 (fhandler_serial::tcgetattr): If DTR is low, populate the bitrate as
37 B0, otherwise get it from the DCB.
39 2003-01-31 Christopher Faylor <cgf@redhat.com>
41 * passwd.cc (pwdgrp::read_passwd): linebuf *must* be static (from
43 * pwdgrp.h (pwdgrp::refresh): Avoid calling read function if we already
44 have lock since that means we are in the process of reading the file.
46 2003-01-31 Jason Tishler <jason@tishler.net>
48 * shared.cc (shared_info::heap_chunk_size): Use correct variable when
51 2003-01-30 Christopher Faylor <cgf@redhat.com>
53 * fhandler_registry.cc (fhandler_registry::exists): Fix off-by-one
54 error when inspecting path.
56 2003-01-29 Christopher Faylor <cgf@redhat.com>
58 * lib/getopt.c: Allow environment variable control of POSIXLY_INCORRECT
61 2003-01-28 Corinna Vinschen <corinna@vinschen.de>
63 * fhandler_socket.cc (fhandler_socket::accept): On successful execution
64 set connection state of returned socket to CONNECTED.
66 2003-01-27 Christopher Faylor <cgf@redhat.com>
68 * passwd.cc (pwdgrp::parse_passwd): Be more unforgiving about
71 2003-01-26 Christopher Faylor <cgf@redhat.com>
73 * uinfo.cc (pwdgrp::next_num): Remove check for NULL since it is no
74 longer a valid return from next_str.
75 (pwdgrp::add_line): Duh. Revert to use strchr.
77 2003-01-26 Christopher Faylor <cgf@redhat.com>
79 * string.h (strechr): New function.
80 * uinfo.cc (pwdgrp::next_str): Search only for input char in string.
81 Return EOS on failure. Don't check for NULL since it shouldn't be
83 (pwdgrp::add_line): Revert to replacing '\n' in input line with '\0'.
84 (pwdgrp::next_num): Pass explicit separator character to next_str.
85 * grp.cc (pwdgrp::parse_group): Ditto.
86 * passwd.cc (pwdgrp::parse_passwd): Ditto. Revamp test for garbage
88 * pwdgrp.h (pwdgrp::next_str): Don't use default parameter.
90 2003-01-26 Christopher Faylor <cgf@redhat.com>
92 * uinfo.cc (pwdgrp::load): Regularize strace output. Add warning for
95 2003-01-26 Christopher Faylor <cgf@redhat.com>
97 * passwd.cc (pwdgrp::parse_passwd): Eliminate use of memset. The
98 structure should always be completely filled out.
99 * grp.cc (pwdgrp::parse_group): Ditto.
101 2003-01-26 Christopher Faylor <cgf@redhat.com>
103 * grp.cc (pwdgrp::parse_group): Fix off-by-one problem in allocating
106 2003-01-26 Christopher Faylor <cgf@redhat.com>
108 * include/sys/strace.h (paranoid_printf): Define as not being part of
111 2003-01-25 Christopher Faylor <cgf@redhat.com>
113 * pwdgrp.h (pwdgrp::next_num): Rename from next_int. Returns
114 true/false if parse operation succeeded.
115 (pwdgrp::reparse): Remove.
116 (pwdgrp::raw_ptr): New function. Returns pointer in line.
117 (pwdgrp::next_num): New functions for parsing other than unsigned long.
118 * grp.cc (pwdgrp::parse_group): Reinstate previous parsing behavior.
119 Don't fill in fields with NULL and assign empty gr_mem to known pointer
120 rather than doing a pointless calloc. Streamline gr_mem parsing.
121 Don't increment curr_lines here.
122 * passwd.cc (pwdgrp::parse_passwd): Use new behavior of next_num.
123 Don't increment curr_lines here.
124 * uinfo.cc (pwdgrp::next_str): Keep returning EOL if out of data.
125 (pwdgrp::reparse): Remove.
126 (pwdgrp::next_num): Rename from next_int. Return bool indicating
127 success of parse, argument returns value parsed.
128 (pwdgrp::add_line): Increment curr_lines here on successful parse.
129 (pwdgrp::load): (from Pierre Humblet) Don't return status. Just report
132 2003-01-25 Christopher Faylor <cgf@redhat.com>
134 * pwdgrp.cc (pwdgrp::reparse): Declare.
135 * uinfo.cc (pwdgrp::reparse): Define.
136 * grp.cc (pwdgrp::parse_group): Use reparse.
138 2003-01-25 Pierre Humblet <pierre.humblet@ieee.org>
140 * syscalls.cc (seteuid32): On Win95 get the pw entry. If it exists
141 update the euid and call cygheap->user.set_name. Remove special
142 handling of ILLEGAL_UID.
143 (setgid32): Add a debug_printf. On Win95, always set the egid.
144 Remove special handling of ILLEGAL_GID. Do not compare gid and gr_gid.
145 * child_info.h (class cygheap_exec_info): Remove uid.
146 * spawn.cc (spawn_guts): Do not set ciresrv.moreinfo->uid.
147 * dcrto.cc (dll_crt0_1): Always call uinfo_init.
148 * uinfo.cc (uinfo_init): Reorganize and close handle if needed.
149 (cygheap_user::ontherange): Do not call internal_getpwnam if pw is NULL.
151 2003-01-24 Christopher Faylor <cgf@redhat.com>
153 * fhandler_console.cc (fhandler_console::send_winch_maybe): Reset
154 scroll region if size changes.
156 2003-01-24 Pierre Humblet <pierre.humblet@ieee.org>
157 Jason Tishler <jason@tishler.net>
159 * cygwin.din: Export setreuid32, setreuid, setregid32, setregid.
160 * syscalls.cc (setreuid32): New function.
164 * include/cygwin/version.h: Bump API minor number.
166 2003-01-23 Christopher Faylor <cgf@redhat.com>
168 * pwdrp.h (pwdgrp::refresh): Lock entire test prior to reading.
170 2003-01-23 Christopher Faylor <cgf@redhat.com>
172 * grp.cc (pwdgrp::parse_group): Eliminate arg and use class member
173 instead. Use next_str and next_int to parse arguments.
174 * passwd.cc (pwdgrp::parse_passwd): Ditto.
175 (grab_string): Eliminate.
177 * pwdgrp.h (pwdgrp::parse): Eliminate input arg.
178 (pwdgrp::parse_passwd): Reflect above change.
179 (pwdgrp::parse_group): Reflect above change.
180 (pwdgrp::next_str): New function.
181 (pwdgrp::next_int): Ditto.
182 (pwdgrp::gets): Eliminate.
183 * uinfo.cc (pwdgrp::next_str): New function.
184 (pwdgrp::next_int): Ditto.
185 (pwdgrp::add_line): Subsume gets.
186 (pwdgrp::gets): Eliminate.
187 (pwdgrp::load): Just call add_line to parse input buffer.
189 2003-01-22 Thomas Pfaff <tpfaff@gmx.net>
191 * include/pthread.h (PTHREAD_MUTEX_RECURSIVE): Revert changes from
192 2003-01-09 mutex patch.
193 (PTHREAD_MUTEX_ERRORCHECK): Ditto.
195 2003-01-22 Corinna Vinschen <corinna@vinschen.de>
197 * cygrun.c: Move from here to ../testsuite.
198 * Makefile.in: Remove cygrun.exe dependencies.
200 2003-01-21 Jason Tishler <jason@tishler.net>
202 * cygwin.din: Export nanosleep().
203 * signal.cc (nanosleep): New function.
204 (sleep): Move old functionality to nanosleep(). Call nanosleep().
205 (usleep): Remove old functionality. Call nanosleep().
206 * include/cygwin/version.h: Bump API minor number.
208 2003-01-21 Christopher Faylor <cgf@redhat.com>
210 * grp.cc: Call gr.refresh() rather than doing isunitialized tests
212 (gr): Use constructor (sigh).
213 (pwdgrp::parse_group): Rename from parse_grp.
214 (pwdgrp::read_group): Rename from read_etc_group. Just call gr.load
215 with a single argument.
216 * passwd.cc: Call pr.refresh() rather than doing isunitialized tests
218 (pr): Use constructor (sigh).
219 (pwdgrp::parse_passwd): Rename from "parse_pwd".
220 (pwdgrp::read_passwd): Rename from read_etc_passwd. Just call pr.load
221 with a single argument.
222 * pwdgrp.h (pwdgrp_state): Eliminate.
223 (pwdgrp): Reflect above renamings.
224 (pwdgrp::etc_ix): Rename from pwd_ix.
225 (pwdgrp::read): New element.
226 (pwdgrp::lock): New element.
227 (pwdgrp::refresh): New function.
228 (pwdgrp::load): Eliminate variations which take buffer arguments.
229 (pwdgrp::pwdgrp): New constructors. Initialize mutex here.
230 * uinfo.cc (pwdgrp::load): Accommodate pwd_ix -> etc_ix renaming.
231 (pwdgrp::load): Set initialized state to true rather than setting state
234 2003-01-21 Christopher Faylor <cgf@redhat.com>
236 * include/cygwin/version.h: Bump DLL minor number.
238 2003-01-21 Pierre Humblet <pierre.humblet@ieee.org>
240 * path.h (etc::change_possible): Revert the type to bool.
241 (etc::set_last_modified): Remove obsolete function.
242 * path.cc (etc::change_possible): Revert type to bool.
243 (etc::test_file_change): Do not test for negative values of
244 change_possible and do not set it to -res.
245 (etc::dir_changed): When the handle is NULL, call memset instead of
246 test_file_changed. When the handle is invalid, return true. Detect
247 filename change in /etc.
248 (etc::file_changed): Remove unneeded check for !fn[n].
249 * uinfo.cc (pwdgrp::load): Eliminate spurious setting of fh to NULL.
250 * pwdgrp.h (pwdgrp::operator =): Eliminate.
252 2003-01-19 Christopher Faylor <cgf@redhat.com>
254 * pwdgrp.h (etc): Move to path.h.
255 (pwdgrp::max_lines): New field.
256 (pwdgrp::curr_lines): New field.
257 (pwdgrp::pwdgrp_buf): Ditto.
258 (pwdgrp_buf_elem_size): Ditto.
259 (pwdgrp_parse): Ditto.
260 (pwdgrp::gets): Just declare here.
261 (pwdgrp::load): Ditto. Just take one argument.
262 (pwdgrp::load): Define overloaded function accepting passwd buf.
263 (pwdgrp::load): Define overloaded function accepting group buf.
264 * grp.cc: Use pwdgrp elements rather than standalone static variables
266 (curr_lines): Eliminate.
268 (add_grp_line): Ditto.
269 (parse_grp): Define as returning boolean. Accept void * arg and line
270 count. Coerce first argument into __group32 buf reference. Increment
271 curr_line as appropriate.
272 (read_etc_group): Pass pwdgrp buffer to gr.load.
273 * passwd.cc: Use pwdgrp elements rather than standalone static variables
275 (curr_lines): Eliminate.
277 (add_grp_line): Ditto.
278 (parse_passwd): Define as returning boolean. Accept void * arg and line
279 count. Coerce first argument into passwd buf reference. Increment
280 curr_line as appropriate.
281 (read_etc_group): Pass pwdgrp buffer to pr.load.
282 * path.cc (etc::fn): Extend buffer size to allow index by 1 rather than
284 (etc::last_modified): Ditto.
285 (etc::change_possible): Ditto. Renamed from sawchange. Change to
286 signed char since elements are now tri-state.
287 (etc::init): Assume "handle" is 1 based rather than 0.
288 (etc::test_file_change): New function. Sets change_possible based on
289 file date comparison.
290 (etc::dir_changed): Check file states immediately after changed_h is
291 initialized to avoid a race.
292 (etc::file_changed): Use test_file_change to detect if file needs to be
294 * path.h (etc): Move class here from pwdgrp.h.
295 * uinfo.cc: Move etc:: functions to path.cc. Move pwdgrp functions
297 (pwdgrp::gets): Eliminate buf checks. Just check eptr and set lptr.
298 (pwdgrp::add_line): New function.
299 (pwdgrp::load): Call generic add_line function which will call correct
302 2003-01-17 Christopher Faylor <cgf@redhat.com>
304 * cygheap.cc: Change most 'int's to 'unsigned's.
305 (_cmalloc): Only check for size of malloced region when calculating
306 bucket. Add overhead when performing the sbrk. Previous change broke
309 2003-01-17 Christopher Faylor <cgf@redhat.com>
311 * dcrt0.cc (initialize_env): Use colon for CYGWIN_DEBUG separator.
312 * grp.cc: Change most statics to NO_COPY throughout.
315 2003-01-17 Christopher Faylor <cgf@redhat.com>
317 * pwdgrp.h: Change some BOOLs to bools.
318 (pwdgrp::pwdgrp): Remove unneeded constructor.
319 * passwd.cc: Change BOOL to bool throughout.
321 2003-01-17 Corinna Vinschen <corinna@vinschen.de>
323 * cygwin.din: Add strerror_r.
324 * include/cygwin/version.h: Bump API minor number.
326 2003-01-17 Christopher Faylor <cgf@redhat.com>
328 * uinfo.cc (etc::dir_changed): Don't print a warning if can't open
329 /etc, unless debugging.
331 2003-01-17 Pierre Humblet <pierre.humblet@ieee.org>
333 * grp.cc (read_etc_group): On NT, add a line for gid = -1. Change name
334 "unknown" to "mkgroup".
335 (internal_getgrgid): Do not return default in nontsec case.
336 (internal_getgroups): Add argument srchsid and look for it in groups if
338 * passwd.cc (read_etc_passwd): On NT, add a line for uid = -1. Use
339 same default uid for Win95 and NT. Call cygheap_user::ontherange to
342 2003-01-16 Christopher Faylor <cgf@redhat.com>
344 * cygheap.cc (init_cygheap::etc_changed): Move to uinfo.cc.
345 * cygheap.h (init_cygheap::etc_changed_h): Remove.
346 (init_cygheap::etc_changed): Ditto.
347 * grp.cc (group_state): Remove. Use gr instead throughout.
348 (gr): Define as class pwdgrp.
349 (read_etc_group): Remove gr definition. Remove calls to
350 set_last_modified and close. Pass add_grp to gr.load to load file.
351 * passwd.cc (passwd_state): Remove. Use pr instead, throughout.
352 (pr): Define as class pwdgrp.
353 (read_etc_passwd): Remove pr definition. Remove calls to
354 set_last_modified and close. Pass add_pwd_line to pr.load to load
356 * pwdgrp.h (etc): New helper class for pwdgrp.
357 (pwdgrp): Combine pwdgrp_check and pwdgrp_read into one class. Remove
358 file_w32 and last_modified fields.
359 (pwdgrp::set_last_modified): Remove.
360 (pwdgrp::isinitializing): Remove FindFirstFile stuff. Move to
362 (pwdgrp::load): Rename from 'open'. Call etc::init to initialize etc
363 scanning. Close file handle after reading buffer into memory. Parse
364 buffer by calling second argument.
365 (pwdgrp::gets): Reorganize slightly to rely on eptr starting at
367 (pwdgrp::close): Remove.
368 * uinfo.cc (etc::dir_changed): New function.
370 (etc::file_changed): Ditto.
371 (etc::set_last_modified): Ditto.
373 2003-01-16 Jason Tishler <jason@tishler.net>
375 * mmap.cc (fixup_mmaps_after_fork): Add ERROR_NOACCESS to the list of
376 ReadProcessMemory() error codes that trigger a retry with temporary
377 PAGE_READONLY access. Note that this can occur on NT 4.0.
379 2003-01-15 Christopher Faylor <cgf@redhat.com>
381 * path.cc (normalize_posix_path): Convert win32 path separators to
382 slashes when full path is specified.
384 2003-01-15 Pierre Humblet <pierre.humblet@ieee.org>
386 * cmalloc.cc (_cmalloc): Fix memory leak.
388 2003-01-15 Corinna Vinschen <corinna@vinschen.de>
390 * autoload.cc: Fix copyright date.
391 * fhandler_dsp.cc: Ditto.
396 * syscalls.cc: Ditto.
400 2003-01-14 Corinna Vinschen <corinna@vinschen.de>
402 * mmap.cc (fixup_mmaps_after_fork): Copy protection to child process.
403 Change ambiguous debug output.
405 2003-01-14 Corinna Vinschen <corinna@vinschen.de>
407 * mmap.cc (mmap_record::access): Change argument type to caddr_t
409 (mprotect): Protect against calling VirtualProtect() for shared
411 (fixup_mmaps_after_fork): If ReadProcessMemory() fails, try to
412 change protection of parent page to PAGE_READONLY, then try again.
413 Revert protection afterwards.
415 2003-01-14 Thomas Pfaff <tpfaff@gmx.net>
417 * syscalls.cc (system): Add pthread_testcancel call.
418 * thread.cc: Update list of cancellation points.
420 2003-01-14 Thomas Pfaff <tpfaff@gmx.net>
422 * wait.cc: Include thread.h
423 (wait4): Add pthread_testcancel call.
424 Wait for child process and cancellation event.
425 * thread.cc: Update list of cancellation points.
427 2003-01-14 Thomas Pfaff <tpfaff@gmx.net>
429 * signal.cc (sleep): Add pthread_testcancel call.
430 Wait for signal and cancellation event.
433 2003-01-14 Thomas Pfaff <tpfaff@gmx.net>
435 * exceptions.cc (handle_sigsuspend): Add pthread_testcancel call.
436 Wait for signal and cancellation event.
437 * thread.cc: Update list of cancellation points.
439 2003-01-14 David Huang <davehzhr@hotmail.com>
441 * fhandler_dsp.cc (fhandler_dsp::ioctl): Add limited support for
444 2003-01-12 Christopher Faylor <cgf@redhat.com>
448 2003-01-12 Corinna Vinschen <corinna@vinschen.de>
450 * uname.cc (uname): Use cygwin_gethostname() to retrieve hostname.
452 2003-01-12 Pierre Humblet <pierre.humblet@ieee.org>
454 * sec_acl.cc (search_ace): Use id == -1, instead of < 0, as wildcard.
455 (setacl): Start the search for a matching default at the next entry.
456 Invalidate the type of merged entries instead of clearing it.
457 Use well_known_creator for default owner and owning group and do
458 not try to merge non-default and default entries in these cases.
459 (getacl): Recognize well_known_creator for default owner and group.
460 (acl_worker): Improve errno settings and streamline the nontsec case.
461 * security.cc (write_sd): Remove the call to set_process_privilege.
462 (alloc_sd): If the owner changes, call set_process_privilege and return
463 immediately on failure. Change inheritance rules: on new directories add
464 inherit only allow ACEs for creator_owner, creator_group and everyone.
465 Preserve all inheritances through chmod and chown calls. Introduce
466 isownergroup to implement the uid == gid case, to keep the inheritance
467 code simple. Do not initialize owner_sid and group_sid and stop using
470 2003-01-10 Christopher Faylor <cgf@redhat.com>
472 * net.cc: Use gethostname define from winsock2.h.
474 2003-01-10 Christopher Faylor <cgf@redhat.com>
476 * path.cc: Unrevert below reversion except for
477 mount_info::conv_to_posix_path part.
479 2003-01-10 Corinna Vinschen <corinna@vinschen.de>
481 * path.cc: Revert patch from 2003-01-09 to normalize a windows path
482 rather than converting to posix.
484 2003-01-10 Corinna Vinschen <corinna@vinschen.de>
486 * autoload.cc (gethostname): Make call optional, return 1 if function
488 * net.cc (cygwin_gethostname): Call GetComputerName if return value
489 of gethostname is non-zero.
491 2003-01-10 Charles Wilson <cwilson@ece.gatech.edu>
493 * cygwin.din: Add asprintf and vasprintf, as well as the reentrant
494 versions and underscore variants.
495 * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR.
497 2003-01-10 Corinna Vinschen <corinna@vinschen.de>
499 * net.cc (cygwin_gethostname): Fix call to wsock function gethostname.
501 2003-01-09 Christopher Faylor <cgf@redhat.com>
503 * cygthread.cc (cygthread::cygthread): Be more noisy about odd
505 * miscfuncs.cc (low_priority_sleep): Sleep in regular priority if
506 that's what we're currently running at.
508 2003-01-09 Thomas Pfaff <tpfaff@gmx.net>
510 * include/semaphore.h: Modify typedef for sem_t.
511 * include/cygwin/types.h: Modify typedefs for pthread_t,
512 pthread_mutex_t, pthread_key_t, pthread_attr_t,
513 pthread_mutexattr_t, pthread_condattr_t, pthread_cond_t,
514 pthread_rwlock_t and pthread_rwlockattr_t.
516 2003-01-09 Thomas Pfaff <tpfaff@gmx.net>
518 * thread.h (WAIT_CANCELED): New define.
519 (pthread::cancelable_wait): New static method.
520 * thread.cc (pthread::cancelable_wait): Implement.
521 (semaphore::Wait): Wait on semaphore and thread cancellation.
522 (pthread::join): Wait on joined thread and thread cancellation.
523 (semaphore::wait): Add testcancel to check for thread
524 cancellation even if the semaphore is available.
526 2003-01-09 Thomas Pfaff <tpfaff@gmx.net>
528 * include/pthread.h: Add define for errorchecking mutexes.
529 Change default mutex type.
530 * thread.cc (pthread_cond::TimedWait): Update mutex unlock
532 (pthread_mutex::pthread_mutex): New implement.
533 (pthread_mutex::~pthread_mutex): Ditto.
534 (pthread_mutex::Lock): Ditto.
535 (pthread_mutex::TryLock): Ditto.
536 (pthread_mutex::UnLock): Ditto.
537 (pthread_mutex::Destroy): Implement new method.
538 (pthread_mutex::SetOwner): Ditto.
539 (pthread_mutex::LockRecursive): Ditto.
540 (pthread_mutex::fixup_after_fork): Restore locking state after
542 (__pthread_mutex_lock): Return pthread_mutex::Lock errorcode.
543 (__pthread_mutex_trylock): Return pthread_mutex::TryLock
545 (__pthread_mutex_unlock): Return pthread_mutex::UnLock
547 (__pthread_mutex_destroy): Call pthread_mutex::Destroy to
549 (__pthread_mutexattr_settype): Allow errorchecking and recursive
551 * thread.h (MUTEX_LOCK_COUNTER_INITIAL): New define.
552 (pthread_mutex::criticalsection): Remove.
553 (pthread_mutex::lock_counter): New member.
554 (pthread_mutex::recursion_counter): Ditto.
555 (pthread_mutex::owner): Ditto.
556 (pthread_mutex::type): Ditto.
557 (pthread_mutex::Destroy): New method.
558 (pthread_mutex::SetOwner): Ditto.
559 (pthread_mutex::LockRecursive): Ditto.
561 2003-01-09 Thomas Pfaff <tpfaff@gmx.net>
563 * pthread.cc (pthread_cond_init): Use new pthread_cond::init.
564 * thread.cc: Some white spaces cleanups.
565 Change __pthread_cond_init to pthread_cond::init throughout.
566 (nativeMutex): Move class methods outside pthread_mutex.
567 (MTinterface::Init): Initialize pthread_cond init lock.
568 (pthread_cond::condInitializationLock): Instantiate.
569 (pthread_cond::initMutex): New Method.
570 (pthread_cond::isGoodInitializerOrBadObject): Ditto.
571 * thread.h: Some white spaces cleanups.
572 (nativeMutex): Move class declaration outside pthread_mutex.
573 (pthread_cond::condInitializationLock): New static member.
574 (pthread_cond::initMutex): New Method.
575 (pthread_cond::isGoodInitializerOrBadObject): Ditto.
576 (__pthread_cond_init): Remove prototype.
578 2003-01-09 Corinna Vinschen <corinna@vinschen.de>
580 * fhandler_disk_file.cc (num_entries): Return 2 as link count if
581 directory unreadable.
583 2003-01-09 Corinna Vinschen <corinna@vinschen.de>
585 * security.cc (get_nt_attribute): Always return -1 when read_sd()
587 (get_file_attribute): Set permissions to 0 and owner/group to -1
588 if security descriptor is unreadable.
590 2003-01-09 Christopher Faylor <cgf@redhat.com>
592 Use isdirsep rather than SLASH_P throughout.
593 * path.cc (iscygdrive): Disallow /cygdrive\x.
594 (normalize_posix_path): "Normalize" a windows path, if detected, rather
595 than converting to posix.
597 2003-01-06 Troy Curtiss <troyc@usa.net>
599 * fhandler_serial.cc (fhandler_serial::tcsetattr): Add support and
600 capability checking for B230400 bitrate.
601 (fhandler_serial::tcgetattr): Add support for B230400 bitrate.
602 * include/sys/termios.h: Add B230400 definition for Posix support of
605 2003-01-05 Christopher Faylor <cgf@redhat.com>
607 * pinfo.cc (_pinfo::commune_send): Use myself->lock rather than just
610 2003-01-03 Christopher Faylor <cgf@redhat.com>
612 * dtable.h (dtable::in_vfork_cleanup): New function. True if vfork
614 * dtable.cc (dtable::vfork_parent_restore): Remove assertion.
615 * pipe.cc (fhandler_pipe::close): Don't close read_state during
616 fork_fixup since it wasn't inherited.
618 2003-01-01 Christopher Faylor <cgf@redhat.com>
620 * passwd.cc (getpwuid_r32): Revert previous change.
622 2003-01-01 Christopher Faylor <cgf@redhat.com>
624 * sysconf.cc (sysconf): Return arbitrary values for
625 _SC_GETGR_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_GETPW_R_SIZE_MAX.
627 * passwd.cc (getpwuid_r32): Add uid/gid fields to size check