]> sourceware.org Git - newlib-cygwin.git/blame - winsup/cygwin/ChangeLog
* path.cc (cygdrive_getmntent): Do not skip over drives of type
[newlib-cygwin.git] / winsup / cygwin / ChangeLog
CommitLineData
4423d924
CF
12003-08-05 Pavel Tsekov <ptsekov@gmx.net>
2
3 * path.cc (cygdrive_getmntent): Do not skip over drives of type
4 DRIVE_REMOVABLE.
5
62003-08-05 Christopher Faylor <cgf@redhat.com>
7
8 * fhandler.cc (fhandler_base::lseek): Be more paranoid when
9 constructing offsets from 64 bit value.
10 * syscalls.cc (logout): Avoid temp buffer memcpy since new scheme does
11 not require it.
12 (utmp_data): Rework as a macro which returns a pointer into a buffer.
13 (getutent): Use new buffer allocation mechanism to grab a utmp buffer.
14 (getutid): Ditto.
15 (pututline): Ditto.
16
3fea2e40
CF
172003-08-05 Pavel Tsekov <ptsekov@gmx.net>
18
19 * fhandler_disk_file.cc (fhandler_cygdrive::readdir): Do not change
20 'errno' if end of directory condition is encountered as per SUSv2.
21 * fhandler_proc.cc (fhandler_proc::readdir): Ditto.
22 * fhandler_process (fhandler_process::readdir): Ditto.
23 * fhandler_registry (fhandler_registry::readdir): Ditto.
24
b9621e8d
CF
252003-07-30 Christopher Faylor <cgf@redhat.com>
26
27 * dcrt0.cc (_dll_crt0): Move strace.microseconds initialization to
28 after pthread initialization.
29 (dll_crt0_1): i.e., here.
30
d2466c7a
CF
312003-07-28 Christopher Faylor <cgf@redhat.com>
32
33 * fhandler_base.cc (fhandler_base::readv): Rework to properly return
34 number of bytes from read.
35
8e2315f0
CF
362003-07-28 Christopher Faylor <cgf@redhat.com>
37
38 * include/cygwin/version.h: Bump DLL minor number to 2.
39
df04ae29
CF
402003-07-26 Christopher Faylor <cgf@redhat.com>
41
42 * exceptions.cc (ctrl_c_handler): Send SIGHUP when events occur only if
43 there is a tty associated with the process. Send SIGHUP on
44 CTRL_LOGOFF_EVENT.
45
46 * fhandler_tty.cc (fhandler_tty_slave::open): Adjust console open
47 handle counter regardless of whether this is a pty or tty.
48 (fhandler_tty_slave::open): Ditto.
49 (fhandler_tty_slave::dup): Ditto.
50 (fhandler_tty_common::set_close_on_exec): Ditto.
51 (fhandler_tty_master::init_console): Decrement console open handle
52 counter after init since it will now be handled by all tty open.
53 * syscalls.cc (setsid): Rework debugging output slightly.
54
ddb67621
CF
552003-07-25 Christopher Faylor <cgf@redhat.com>
56
57 * configure.in: Use 'install-sh -c'.
58 * configure: Regenerate.
59
7f4773b3
CF
602003-07-25 Christopher Faylor <cgf@redhat.com>
61
62 * configure.in: Always use install-sh.
63 * configure: Regenerate.
64
5d66faab
CF
652003-07-25 Christopher Faylor <cgf@redhat.com>
66
67 * include/cygwin/socket.h: Conditionalize [AP]F_INET6 define.
68
6f8c86ae
CF
692003-07-25 Christopher Faylor <cgf@redhat.com>
70
71 * Makefile.in (OBSOLETE_FUNCTION): Add fdopen.
72
86ed5c88
CF
732003-07-25 Christopher Faylor <cgf@redhat.com>
74
75 * cygwin.din: Export _fdopen64
76 * Makefile.in (NEW_FUNCTIONS): Add _fdopen64 -> fdopen translation.
77 * include/cygwin/version.h: Bump api minor number.
78
79 * ntdll.h: Remove (now) duplicate FILE_SYNCHRONOUS_IO_NONALERT
80 definition.
81
1fbeb827
CF
822003-07-24 Christopher Faylor <cgf@redhat.com>
83
84 * environ.cc (check_case_init): Use strncasematch.
85
86 * cygwin.din: Export __mempcpy.
87 * cygwin/version.h: Bump api minor number.
88
d432ac75
CV
892003-07-21 Pavel Tsekov <ptsekov@gmx.net>
90
91 * mmap.cc: Use proper format specifiers for _off64_t and size_t in
92 format strings passed to syscall_printf () and debug_printf ()
93 throughout.
94
b4ece40c
PH
952003-07-18 Pierre Humblet <pierre.humblet@ieee.org>
96
97 * security.cc (verify_token): Fix white space and style.
98 Use type bool instead of BOOL and char. Use alloca
df04ae29 99 instead of malloc and free for my_grps.
b4ece40c 100
fc2843ca
CV
1012003-07-17 Corinna Vinschen <corinna@vinschen.de>
102
103 * sysconf.cc (sysconf): Fix OPEN_MAX patch. Return page size on
104 _SC_PAGESIZE again.
105
ea3ba114
CV
1062003-07-14 Corinna Vinschen <corinna@vinschen.de>
107
108 * cygheap.h (class cygheap_user): Use INVALID_HANDLE_VALUE as invalid
109 value for tokens.
110 * syscalls.cc (seteuid32): Ditto. Set new_token to process token if
111 process token is suitable.
112 * uinfo.cc (uinfo_init): Initialize tokens in cygheap user info
113 to INVALID_HANDLE_VALUE.
114
1152003-07-14 Pierre Humblet <pierre.humblet@ieee.org>
116
117 * cygheap.h (enum impersonation): Delete.
118 (cygheap_user::impersonation_state): Delete.
119 (cygheap_user::current_token): New.
120 (cygheap_user::issetuid): Modify to use current_token.
121 (cygheap_user::token): Ditto.
122 (cygheap_user::deimpersonate): Ditto.
123 (cygheap_user::reimpersonate): Ditto.
124 (cygheap_user::has_impersonation_tokens): Ditto.
125 (cygheap_user::close_impersonation_tokens): Ditto.
126 * security.cc (cygwin_set_impersonation_token): Always set the token.
127 (verify_token): Change type of gsid to cygpsid.
128 (get_file_attribute): Use the effective ids.
129 * syscalls.cc (seteuid32): Modify to use cygheap_user::current_token.
130 * uinfo.cc (uinfo_init) Do not set cygheap->user.impersonation_state.
131
9e8ac0ae
CF
1322003-07-12 Christopher Faylor <cgf@redhat.com>
133
134 * pinfo.cc (_pinfo::commune_send): Fix bounds test so that poll of
135 communicating pid actually stops eventually.
136
e47d5648
CF
1372003-07-10 Christopher Faylor <cgf@redhat.com>
138
139 * path.cc (get_device_number): Remove special com? consideration.
140 (special_chars): Make static.
141 (special_introducers): New.
142 (special_char): Allow specified valid_chars args.
143 (fnunmunge): Handle aux-like filenames correctly.
144 (special_name): Add con, conin$, conout$.
145 (mount_item::fnmunge): Use __small_sprintf return value to calculate
146 increments.
147
30811232
CF
1482003-07-09 Christopher Faylor <cgf@redhat.com>
149
150 * include/cygwin/version.h: Bump DLL minor number to 1.
151
f1a4b6b5
CF
1522003-07-09 Christopher Faylor <cgf@redhat.com>
153
2f5cab7b
CF
154 * fhandler_proc.cc (format_proc_stat): Use correctly sized constants
155 for filling in zeros on 98.
f1a4b6b5 156
cf38615c
CF
1572003-07-09 Christopher Faylor <cgf@redhat.com>
158
159 * fhandler_proc.cc (fhandler_proc::fill_filebuf): Allocate more space
160 for stat buffer.
161 (format_proc_stat): Reorganize to accumulate and report on all cpus.
162
ab3dc80d
CF
1632003-07-09 Christopher Faylor <cgf@redhat.com>
164
165 * sysconf.cc (sysconf): Return processors online rather than bitmask
166 for _SC_NPROCESSORS_ONLN.
167
4d782b42
CF
1682003-07-08 Christopher Faylor <cgf@redhat.com>
169
170 * cygheap.cc (creturn): Set appropriate errno when out of memory.
171 (ccalloc): Only issue system_printf when debugging.
172 * dtable.cc (dtable::extend): Only allocate 100 * the incremental growth
173 size max. Set errno appropriately.
174 (dtable::build_fhandler): Check for error from set_name.
175 * fhandler.cc (fhandler_base::set_name): Set errno and return error on OOM.
176 * fhandler.h (fhandler_base::set_name): Change to bool.
177 * fhandler_process.cc (format_process_stat): Fix formatting.
178 * resource.cc (getrlimit): Return greater of OPEN_MAX or fd table size.
179 * sysconf.cc (sysconf): Ditto.
180
a711a5af
CF
1812003-07-07 Christopher Faylor <cgf@redhat.com>
182
183 * rmsym: Don't use ranlib.
184
c0a6fcd7
CF
1852003-07-07 Christopher Faylor <cgf@redhat.com>
186
187 * newsym: Reenable removal of tmp directory. Just use ar to generate
188 archive index.
a711a5af 189 * Makefile.in: Don't send ranlib to newsym or rmsym.
c0a6fcd7 190
0e5db0bf
CF
1912003-07-07 Christopher Faylor <cgf@redhat.com>
192
193 * newsym: Create objects that are closer to those created by dlltool so
194 as not to confuse --export-all-symbols.
195 * rmsym: Be a little more accepting of object filenames now that
196 dlltool can create different format files.
197
c522b907
CF
1982003-07-06 Christopher Faylor <cgf@redhat.com>
199
200 * newsym: Oops. Revert below change.
201
88a62816
CF
2022003-07-06 Christopher Faylor <cgf@redhat.com>
203
204 * newsym: Use correct prefix for generating imports.
205 * pinfo.cc (_pinfo::commune_send): Don't wait forever for a response
206 from another process.
207
b6717153
CF
2082003-07-06 Christopher Faylor <cgf@redhat.com>
209
210 * syscalls.cc (gethostid): Set thread affinity so that results are
211 predictable.
212
f2d3c47b
CV
2132003-07-05 Corinna Vinschen <corinna@vinschen.de>
214
215 * mmap.cc (list::match): Add parameters to return valid address and
216 length back to munmap(). Evaluate intersection between given
217 area and mapped area and return it, if any.
218 (mmap64): On regular files, don't allow mappings beginning beyond
219 EOF. Return with errno set to ENXIO instead.
220 (munmap): Rewrite SUSv3 conformant. Check if given memory area is
221 valid. Unmap all maps inside given memory area. Don't return error
222 if no mapping has been unmapped.
223
2242003-07-05 N Stephens <nigel@mips.com>
4b2cbaee
CV
225
226 * fhandler.h (fhandler_socket::get_connect_state): New method to
227 return socket connection state.
228 * fhandler_socket.cc (dup): Copy socket connect state to new file
229 handle.
230 * net.cc (cygwin_rcmd): Mark file handles of sockets returned by
231 rcmd() as CONNECTED state.
232 (cygwin_rexec): Similarly for rexec().
233 (socketpair): Mark both ends of a new socket pair as CONNECTED.
234
6694f305
CV
2352003-07-04 Corinna Vinschen <corinna@vinschen.de>
236
237 * mmap.cc (fhandler_disk_file::mmap): Fix address test.
238
d108f312
CF
2392003-07-03 Christopher Faylor <cgf@redhat.com>
240
241 * path.cc (fillout_mntent): Change "posix" to "managed".
242
3f214783
CF
2432003-07-02 Christopher Faylor <cgf@redhat.com>
244
245 * fhandler.h (FH_ENC): New enum.
246 (fhandler_base::get_encoded): New function.
247 (fhandler_base::set_encoded): Ditto.
248 * fhandler_disk_file.cc (fhandler_disk_file::opendir): Set encoded flag
249 in fhandler, as appropriate.
250 (fhandler_disk_file::readdir): Unmunge filename as appropriate based on
251 new encoding flag.
252 * path.cc (normalize_posix_path): Don't punt on files with colons.
253 (special_char): New function.
254 (mount_item::fnmunge): Ditto.
255 (fnunmunge): Ditto.
256 (special_name): Ditto.
257 (mount_item::build_win32): Avoid drive considerations when file is
258 encoded.
259 (mount_info::conv_to_win32_path): Handle encoded filenames.
260 (mount_info::conv_to_posix_path): Ditto.
261 (fillout_mntent): Add posix string when directory is encoded.
262 * path.h (fnunmunge): Declare.
263 (path_conv::is_encoded): Declare.
264
3d8a75bd
CF
2652003-07-03 Christopher Faylor <cgf@redhat.com>
266
267 * fhandler_tty.cc (fhandler_tty_slave::open): Conditionalize a little
268 more of the cygserver stuff so that ttys actually work.
269
65561780
CV
2702003-07-03 Corinna Vinschen <corinna@vinschen.de>
271
272 * mmap.cc (mmap64): Allow MAP_FIXED with pagesize granularity (4K).
273 If a non-zero addr is given, align it to the next lower 64K boundary.
274 (fhandler_disk_file::mmap): If a non-zero address is given, try
275 mapping using the given address first. If it fails and flags is not
276 MAP_FIXED, try again with NULL address.
277
2782003-07-01 Christopher Faylor <cgf@redhat.com>
279
280 * thread.cc: Remove _MT_SAFE conditional.
281
2822003-07-01 Christopher Faylor <cgf@redhat.com>
283
284 * configure.in: Fix --enable-server option.
285 * configure: Regenerate.
286
2872003-07-01 Christopher Faylor <cgf@redhat.com>
288
289 * Makefile.in: Remove cygserver stuff.
290 * acconfig.h: Add USE_CYGSERVER define.
291 * config.h.in: Regenerate.
292 * configure.in: Add --enable-server setting.
293 * configure: Regenerate.
294 * fhandler_tty.cc (fhandler_tty_slave::open): Conditionalize
295 compilation of cygserver stuff.
296 * fork.cc (fork_child): Ditto.
297 * shm.cc: Ditto.
298 * tty.cc (tty::common_init): Ditto.
299
300 * dcrt0.cc: Use bool rather than BOOL for CYGWIN environment variable
301 definitions.
302 * environ.cc: Ditto.
303 * ntea.cc: Ditto.
304 * security.cc: Ditto.
305 * security.h: Ditto.
306 * syscalls.cc (check_posix_perm): Remove externs that were already
307 declared in a header.
308 * winsup.h: Ditto. Declare _MT_SAFE here. Delete it someday since
309 cygwin should always be _MT_SAFE.
310
f3ff0ca9
CF
3112003-07-01 Christopher Faylor <cgf@redhat.com>
312
313 * thread.cc: Remove _MT_SAFE conditional.
314
8fb2df19
CF
3152003-07-01 Christopher Faylor <cgf@redhat.com>
316
317 * configure.in: Fix --enable-server option.
318 * configure: Regenerate.
319
3872e9a4
CF
3202003-07-01 Christopher Faylor <cgf@redhat.com>
321
322 * Makefile.in: Remove cygserver stuff.
323 * acconfig.h: Add USE_CYGSERVER define.
324 * config.h.in: Regenerate.
325 * configure.in: Add --enable-server setting.
326 * configure: Regenerate.
327 * fhandler_tty.cc (fhandler_tty_slave::open): Conditionalize
328 compilation of cygserver stuff.
329 * fork.cc (fork_child): Ditto.
330 * shm.cc: Ditto.
331 * tty.cc (tty::common_init): Ditto.
332
333 * dcrt0.cc: Use bool rather than BOOL for CYGWIN environment variable
334 definitions.
335 * environ.cc: Ditto.
336 * ntea.cc: Ditto.
337 * security.cc: Ditto.
338 * security.h: Ditto.
339 * syscalls.cc (check_posix_perm): Remove externs that were already
340 declared in a header.
341 * winsup.h: Ditto. Declare _MT_SAFE here. Delete it someday since
342 cygwin should always be _MT_SAFE.
343
70249d56
CV
3442003-06-30 Pierre Humblet <pierre.humblet@ieee.org>
345
346 * cygheap.h (enum impersonation): New enum.
347 (cygheap_user::token): Delete.
348 (cygheap_user::impersonated): Delete.
349 (cygheap_user::external_token): New member.
350 (cygheap_user::internal_token): New member.
351 (cygheap_user::impersonation_state): New member.
352 (cygheap_user::issetuid): Modify.
b6717153 353 (cygheap_user::token): New method.
70249d56
CV
354 (cygheap_user::deimpersonate): New method.
355 (cygheap_user::reimpersonate): New method.
356 (cygheap_user::has_impersonation_tokens): New method.
357 (cygheap_user::close_impersonation_tokens): New method.
358 * dtable.cc (dtable::vfork_child_dup): Use new cygheap_user methods.
359 * fhandler_socket.cc (fhandler_socket::dup): Ditto.
360 * fork.cc (fork_child): Ditto.
361 (fork_parent): Ditto.
362 * grp.cc (internal_getgroups): Ditto.
363 * security.cc (verify_token): Ditto.
364 (check_file_access): Ditto.
365 (cygwin_set_impersonation_token): Detect conflicts. Set
366 user.external_token.
367 * spawn.cc (spawn_guts): Use new cygheap_user methods.
368 * syscalls.cc (seteuid32): Rearrange to use the two tokens
369 in cygheap_user.
370 (setegid32): Use new cygheap_user methods.
371 * uinfo.cc: (internal_getlogin): Ditto.
372
b06d4a08
CF
3732003-06-25 Doru Carastan <doru.carastan@mvista.com>
374
375 * Makefile.in: Use INSTALL_PROGRAM to install the cygwin DLL.
376
e1e196a2
TP
3772003-06-24 Thomas Pfaff <tpfaff@gmx.net>
378
379 * thread.cc (MTinterface::fixup_after_fork): Fix thread list after
380 fork.
381 (pthread::threads): Instantiate.
382 (pthread::pthread): Initialize running and suspendend.
383 Initialize next with NULL.
384 Add thread to thread list if it is not the null_pthread.
385 (pthread::~pthread): Remove thread from thread list if it is
386 not the null_pthread.
387 (pthread::postcreate): Set running flag.
388 (pthread::exit): Reset running flag.
389 (pthread::cancel): Try to cancel thread only if still running.
390 (pthread::_fixup_after_fork): Implement.
391 (pthread::detach): Check if thread is still running before detach.
392 * thread.h (pthread::running): New member.
393 (pthread::next): Ditto.
394 (pthread::fixup_after_fork): New static method.
395 (pthread::threads): New static method.
396 (pthread::_fixup_after_fork): New method.
397
6c6f7094
CF
3982003-06-20 Christopher Faylor <cgf@redhat.com>
399
400 * pinfo.cc (_pinfo::commune_send): Don't attempt to communicate with a
401 pure windows process.
402
c9a5cfa0
PH
4032003-06-18 Pierre Humblet <pierre.humblet@ieee.org>
404
b6717153
CF
405 * autoload.cc (GetNetworkParams): Add.
406 * net.cc (getdomainname): Call GetNetworkParams and read the
407 DhcpDomain registry value if warranted.
c9a5cfa0 408
0d58ef9d
CF
4092003-06-17 Christopher Faylor <cgf@redhat.com>
410
411 * path.cc (mount): Do more strict checking on posix path arguments.
412
c433f461
CF
4132003-06-15 Christopher Faylor <cgf@redhat.com>
414
415 Throughout, remove "include <errno.h>" from files which already include
416 cygerrno.h.
417
4182003-06-15 Thomas Pfaff <tpfaff@gmx.net>
419
420 * include/cygwin/config.h (__DYNAMIC_REENT__): Define.
421 * include/cygwin/version.h: Bump API minor version.
422 * cygwin.din: Export __getreent
423 * cygerrno.h: Include errno.h. Fix places where _impure_ptr is used
424 directly to store the errno value.
425 * debug.cc (__set_errno): Ditto.
426 * errno.cc: Remove _RRENT_ONLY define to get errno.cc compiled.
427 * signal.cc: Rename _reent_clib to _REENT throughout.
428 * thread.h (reent_clib): Remove prototype.
429 * thread.cc (reent_clib): Rename reent_clib to __getreent. Return
430 _impure_ptr until MTinterface is initialized.
431 (reent_winsup): Fix a possible SEGV when _r == NULL. Return NULL
432 instead.
433 * MTinterface::fixup_after_fork: Switch reent back to _impure_ptr to
434 keep signal handling running when fork is called from a thread other
435 than the mainthread.
436
1c80421c
TP
4372003-06-12 Thomas Pfaff <tpfaff@gmx.net>
438
439 * thread.cc (pthread_attr_init): Revert change from 2003-06-11
440 to return 0 if attribute is already initialized back to EBUSY.
441 (pthread_condattr_init): Ditto.
442 (pthread_rwlockattr_init): Ditto.
443 (pthread_mutexattr_init): Ditto.
444
5bdb56f0
CV
4452003-06-12 Corinna Vinschen <corinna@vinschen.de>
446
447 * exceptions.cc (ctrl_c_handler): Don't send a signal on
448 CTRL_SHUTDOWN_EVENT. Add a comment to rationalize the patch.
449
00e6660b
TP
4502003-06-11 Thomas Pfaff <tpfaff@gmx.net>
451
452 * thread.cc (pthread_attr_init): Return 0 if attribute is already
453 initialized.
454 Fix return code if out of memory.
455 (pthread_condattr_init): Ditto.
456 (pthread_rwlockattr_init): Ditto.
457 (pthread_mutexattr_init): Return 0 if attribute is already
458 initialized.
459
271c1935
CV
4602003-06-09 Pierre Humblet <pierre.humblet@ieee.org>
461
462 * spawn.cc (spawn_guts): Call CreateProcess while impersonated,
463 when the real {u,g}ids and the groups are original.
464 Move RevertToSelf and ImpersonateLoggedOnUser to the main line.
465 * uinfo.cc (uinfo_init): Reorganize. If CreateProcess was called
466 while impersonated, preserve the uids and gids and call
467 ImpersonateLoggedOnUser. Preserve the uids and gids on Win9X.
468
469 * exceptions.cc (error_start_init): Quote the pgm in the command.
470
42a737d0
CF
4712003-06-07 Christopher Faylor <cgf@redhat.com>
472
473 * poll.cc: Define FD_SETSIZE to ridiculously large number so that there
32173f7e 474 will be no artificially small limits.
42a737d0 475
9501a0a1
CF
4762003-06-07 Christopher Faylor <cgf@redhat.com>
477
478 * fhandler_tty.cc (fhandler_tty_slave::close): Free the console when
479 last tty closes.
480
f496071c
TP
4812003-06-07 Thomas Pfaff <tpfaff@gmx.net>
482
483 * fhandler_socket.cc (fhandler_socket::connect): Change error
484 handling for nonblocking connects to return EALREADY when
485 connect is called more than once for the same socket.
486
54152c7e
CV
4872003-06-06 Corinna Vinschen <corinna@vinschen.de>
488
489 * cygwin.din: Add vsyslog.
490 * fhandler.cc (fhandler_base::write): Only make file sparse if the
491 seeked area is >= 128K.
492 * syslog.cc (vsyslog): New function, overtaking functionality from
493 syslog.
494 (syslog): Just call vsyslog.
495 * include/cygwin/version.h: Bump API minor.
496 * include/sys/syslog.h: Add vsyslog declaration.
497
979233a5
CF
4982003-06-05 Christopher Faylor <cgf@redhat.com>
499
500 * cygthread.cc (cygthread::terminate_thread): Change system_printf to
501 debug_printf.
502
f51e42ac
CF
5032003-06-04 Christopher Faylor <cgf@redhat.com>
504
505 * shared.cc (shared_info::heap_chunk_size): Be really defensive about
506 making sure that heap_chunk is set.
507
7b17543f
CF
5082003-06-04 Christopher Faylor <cgf@redhat.com>
509
510 * path.cc (conv_path_list): Use correct value when calculating length
511 to avoid a potential SEGV.
512
9f033c22
PH
5132003-06-03 Pierre Humblet <pierre.humblet@ieee.org>
514
271c1935
CV
515 * fhandler_disk_file.cc (fhandler_disk_file::fstat): Mark the pc
516 as non-executable if the file cannot be opened for read. Retry query
517 open only if errno is EACCES. Never change the mode, even if it is 000
518 when query open() fails.
9f033c22 519
1e61337c
CF
5202003-06-03 Christopher Faylor <cgf@redhat.com>
521
522 * configure.in: Allow any i?86 variant.
523 * configure: Regenerate.
524
fb6b1418
CV
5252003-06-03 Corinna Vinschen <corinna@vinschen.de>
526 Thomas Pfaff <tpfaff@gmx.net>
527
528 * fhandler_socket.cc (connect_thread): Remove.
529 (accept_thread): Remove.
530 (fhandler_socket::connect): Remove all special blocking handling.
531 (fhandler_socket::accept): Ditto.
532 * net.cc (cygwin_connect): Make blocking sockets temporarily
533 non-blocking and call cygwin_select on them to be interruptible.
534 (cygwin_accept): Ditto.
535
0c8fe172
CF
5362003-06-02 Christopher Faylor <cgf@redhat.com>
537
538 * spawn.cc (spawn_guts): Don't hang around if the parent doesn't exist.
539
3786526e
CF
5402003-06-02 Christopher Faylor <cgf@redhat.com>
541
542 * cygthread.h (cygthread::terminate_thread): Mark private.
543 * cygthread.cc (cygthread::terminate_thread): Deallocate free_range
544 thread stuff.
545
cbdc3d17
CV
5462003-06-02 Corinna Vinschen <corinna@vinschen.de>
547
548 * fhandler_socket.cc (fhandler_socket::accept): Rename `signalled'
549 to `interrupted' as used in fhandler_socket::connect.
550
dfe7d288
CV
5512003-06-02 Corinna Vinschen <corinna@vinschen.de>
552
553 * fhandler_socket.cc (fhandler_socket::connect): Simplify previous
554 patch.
555 (fhandler_socket::accept): Ditto.
556
8e13bd14
CV
5572003-06-02 Corinna Vinschen <corinna@vinschen.de>
558
559 * fhandler_socket.cc: Include cygthread.h.
560 (class sock_event): Remove.
561 (thread_connect): New function.
562 (thread_accept): Ditto.
563 (fhandler_socket::connect): Use cygthread instead of socket event
564 handling for blocking sockets.
565 (fhandler_socket::accept): Ditto.
566
418c6236
CF
5672003-06-02 Christopher Faylor <cgf@redhat.com>
568
569 * fhandler.cc (fhandler_base::write): Correct minor printf formatting
570 style glitch.
571
c17e8306
PH
5722003-06-01 Pierre Humblet <pierre.humblet@ieee.org>
573
8e13bd14
CV
574 * fhandler_disk_file.cc (fhandler_disk_file::fstat_by_name): Assume
575 an existing directory is a root if FindFirstFile fails.
c17e8306 576
e59c6ff4
CF
5772003-05-30 Christopher Faylor <cgf@redhat.com>
578
579 * path.cc (mount_info::conv_to_win32_path): gcc warning about chroot_ok
580 was actually valid. Fix it.
581
cbe53754
CF
5822003-05-30 Christopher Faylor <cgf@redhat.com>
583
584 * cygheap.cc (init_cheap): Temporarily remove inline that newer gcc's
585 have problems with.
586
587 * path.cc (path_conv::check): Rework has_acls logic slightly. Uncouple
588 exec tests away from filesystem tests.
589
4aa10069
CV
5902003-05-30 Corinna Vinschen <corinna@vinschen.de>
591
592 * include/sys/param.h: Add DEV_BSIZE.
593
4e2db52c
CV
5942003-05-29 Pierre Humblet <pierre.humblet@ieee.org>
595 Corinna Vinschen <corinna@vinschen.de>
596
597 * fhandler_socket.cc (fhandler_socket::dup): Rearrange. Fix
598 conditional.
599
b666c2eb
CF
6002003-05-28 Christopher Faylor <cgf@redhat.com>
601
602 * mkvers.sh: Avoid "-dontuse" tags.
603
604 * path.cc (path_conv::check): Set exec state based on known situations.
605
606 * path.cc (mount_item::fnmunge): New function.
607 (mount_item::build_win32): New function.
608 (mount_info::conv_to_win32_path): Use build_win32 to build windows
609 path.
610 * path.h (mount_item::fnmunge): Declare new function.
4e2db52c 611 (mount_item::build_win32): Ditto.
b666c2eb
CF
612 * sys/mount.h (MOUNT_ENC): Define.
613
72c1470d
CV
6142003-05-28 Corinna Vinschen <corinna@vinschen.de>
615
616 * fhandler_socket.cc (fhandler_socket::dup): If running impersonated,
617 revert to original account before calling fixup_before_fork_exec
618 and impersonate again afterwards. Change comment accordingly.
619 Clean up error handling and debug output.
620
a946fb03
TP
6212003-05-27 Thomas Pfaff <tpfaff@gmx.net>
622
623 * fhandler_socket.cc (sock_event::~sock_event): New method.
624 (sock_event::load): Change to void. Check if winsock2 is available.
625 (socke_event::wait): Return 0 if interruptible mode is not available.
626 (fhandler_socket::connect): Remove checks for winsock2 availability.
627 (fhandler_socket::accept): Ditto.
628
dae86e45
CV
6292003-05-27 Corinna Vinschen <corinna@vinschen.de>
630
631 * fhandler_socket.cc (fhandler_socket::dup): First try duplicating
632 using WSADuplicateSocket/WSASocket, if that fails, try DuplicateHandle.
633
2311f6b0
CV
6342003-05-27 Bill C. Riemers <cygwin@docbill.net>
635
636 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Filter
49806b9b 637 permissions through umask on FAT or if ntsec is off.
2311f6b0 638
ada0376f
CV
6392003-05-26 Pierre Humblet <pierre.humblet@ieee.org>
640
641 * syscalls.cc (statfs): Call GetDiskFreeSpaceEx before GetDiskFreeSpace.
642
0372ad9f
CV
6432003-05-26 Corinna Vinschen <corinna@vinschen.de>
644
645 * fhandler.cc (is_at_eof): Fix conditional. Use INVALID_FILE_SIZE
646 instead of numeric constant.
647
6852f6c0
CV
6482003-05-26 Corinna Vinschen <corinna@vinschen.de>
649
650 * fhandler_socket.cc (fhandler_socket::connect): Guard calls to
651 sock_event methods by a check for WinSock2 availability.
652 (fhandler_socket::accept): Ditto.
653
fac297d5
CV
6542003-05-26 Corinna Vinschen <corinna@vinschen.de>
655
656 * fhandler.h: Rename FH_W95LSBUG flag to FH_LSEEKED.
657 (fhandler_base::set_did_lseek): Rename from set_check_win95_lseek_bug.
658 (fhandler_base::get_did_lseek): Rename from get_check_win95_lseek_bug.
659 (fhandler_base::set_fs_flags): New method.
660 (fhandler_base::get_fs_flags): Ditto.
661 * fhandler.cc (fhandler_base::write): Make 64 bit clean. Convert file
662 to a "sparse" file when writing after a long lseek (>64K) beyond EOF.
663 (fhandler_base::lseek): Call set_did_lseek() instead of
664 set_check_win95_lseek_bug().
665 (fhandler_base::fhandler_base): Initialize fs_flags to 0.
b6717153 666 * fhandler_disk_file.cc (fhandler_disk_file::open): Don't create files
fac297d5
CV
667 as "sparse" unconditionally. Set fs_flags member.
668
a80229fd
CV
6692003-05-25 Pierre Humblet <pierre.humblet@ieee.org>
670
671 * autoload.cc (GetDiskFreeSpaceEx): Add.
672 * syscalls.cc (statfs): Call full_path.root_dir() instead of
673 rootdir(full_path). Use GetDiskFreeSpaceEx when available and
674 report space available in addition to free space.
675 * fhandler_disk_file.cc (fhandler_disk_file::fstat_by_name):
676 Do not call FindFirstFile for disk root directories.
677
c295ce6f
CV
6782003-05-24 Joe Buehler <jhpb@draco.hekimian.com>
679
a80229fd 680 * fhandler_process.cc (format_process_stat): Use PagefileUsage
c295ce6f
CV
681 instead of VirtualSize.
682 (get_mem_values): Ditto.
683
5c768c97
CV
6842003-05-21 Corinna Vinschen <corinna@vinschen.de>
685
686 * shared_info.h: Match shared_name declaration with below change.
687 * shared.cc (shared_name): Use incoming char * parameter instead of
688 local static buffer.
689 (open_shared): Accomodate new calling convention for shared_name.
690 * exceptions.cc (events_init): Ditto.
691 * sigproc.cc (getsem): Ditto.
692 * syscalls.cc (login): Ditto.
693 (logout): Ditto.
694 (pututline): Ditto.
695
44be8197
CV
6962003-05-20 Corinna Vinschen <corinna@vinschen.de>
697
698 * fhandler_socket.cc (secret_event_name): Return void. Use incoming
5c768c97 699 char * parameter instead of local static buffer.
44be8197
CV
700 (fhandler_socket::create_secret_event): Accomodate new calling
701 convention for secret_event_name.
702 (fhandler_socket::close_secret_event): Ditto.
703
d4f3ce31
CV
7042003-05-20 Corinna Vinschen <corinna@vinschen.de>
705
706 * fhandler_socket.cc (SECRET_EVENT_NAME): Remove.
707 (ENTROPY_SOURCE_NAME): Ditto.
708 (secret_event_name): New static function. Create shared event name
709 with "Global\" prefix on systems supporting terminal services.
710 (fhandler_socket::set_connect_secret): Fix conditional.
711 (fhandler_socket::create_secret_event): Create secret event using
712 secret_event_name().
713 (fhandler_socket::close_secret_event): Ditto.
714 * shared.cc (shared_name): Create shared object name with "Global\"
715 prefix on systems supporting terminal services.
716 * wincap.cc: Set has_terminal_services capability throughout.
717 (wincap_2003): New global object representing Windows 2003 Server
718 capabilities.
719 (wincapc::init): Accomodate Windows 2003 Server.
720 * wincap.h (struct wincaps): Add has_terminal_services capability.
721
10bada05
CV
7222003-05-20 Charles Wilson <cygwin@cwilson.fastmail.fm>
723
724 * winsup/cygwin/include/cygwin/version.h: Bump API minor version.
725 * winsup/cygwin/include/cygwin/types.h: Define key_t as long long.
726 * winsup/cygwin/cygwin.din: Add ftok, _ftok.
727 * winsup/cygwin/ipc.cc (ftok): Rework implementation.
728
d8ee8ca5
CF
7292003-05-18 Joe Buehler <jhpb@hekimian.com>
730
10bada05 731 * spawn.cc (spawn_guts): Show more of command line in strace output.
d8ee8ca5 732
c8fa3426
TP
7332003-05-15 Thomas Pfaff <tpfaff@gmx.net>
734
735 * thread.h (pthread::init_mainthread): Remove function parameter.
736 (MTinterface::Init): Ditto.
737 * thread.cc (MTinterface::Init): Remove function parameter.
738 Always initialize reent_key.
739 (pthread::init_mainthread): Remove function parameter.
740 (MTinterface::fixup_after_fork): Fix pthread::init_mainthread call.
741 * dcrt0.cc (dll_crt_0_1) Fix calls to MTinterface::Init and
742 pthread::init_mainthread.
743 Call pthread::init_mainthread only when not forked.
b6717153 744
f2669f5d
CV
7452003-05-15 Corinna Vinschen <corinna@vinschen.de>
746
747 * fhandler_proc.cc (format_proc_meminfo): Make swap memory output
748 Linux style values.
749
5d575f7d
CV
7502003-05-13 Corinna Vinschen <corinna@vinschen.de>
751
752 * include/cygwin/config.h: Define __USE_INTERNAL_STAT64 appropriately.
753
194d9eb3
CV
7542003-05-12 Corinna Vinschen <corinna@vinschen.de>
755
756 * Makefile.in (CYGWIN_START): Define as crt0.o. Add to TARGET_LIBS.
757 * fhandler.h (fhandler_virtual::fstat): Remove useless declaration.
758 * fhandler_virtual.cc: Remove _COMPILING_NEWLIB define.
759 * ipc.cc (ftok): Use stat64.
760 * syscalls.cc (_fstat64): Remove alias.
761 (_fstat): Ditto.
762 (_stat): Ditto.
763 (_fstat64_r): New function.
764 (_fstat_r): Ditto.
765 (_stat64_r): Ditto.
766 (stat_r): Ditto.
767 * crt0.o: New file, moved from newlib.
768 * include/sys/param.h: Ditto.
769 * include/sys/utime.h: Ditto.
770 * include/sys/utmp.h: Ditto.
771 * include/sys/dirent.h: Ditto. Expose different struct dirent,
772 dependening of the environment.
773
cc95baad
CV
7742003-05-11 Corinna Vinschen <corinna@vinschen.de>
775
776 Replace ino_t by __ino64_t throughout.
777
aee70853
CV
7782003-05-11 Corinna Vinschen <corinna@vinschen.de>
779
780 * include/cygwin/types.h: Add key_t typedef.
781
066ca06f
CF
7822003-05-10 Christopher Faylor <cgf@redhat.com>
783
784 * dir.cc (readdir): Fill out new old_d_ino field.
785 * fhandler.h (fhandler_base::namehash): Define as ino_t.
786 (fhandler_base::get_namehash): Ditto.
787 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Accommodate
788 new 64 bit st_ino.
789 * fhandler_socket.cc (fhandler_socket::fstat): Ditto.
790 * path.cc (hash_path_name): Return ino_t.
791 * syscalls.cc (stat64_to_stat32): Convert 64 bit inode to 32 bit.
792 * winsup.h (hash_path_name): Declare as returning ino_t.
793 * include/cygwin/stat.h (__stat32): Use 32 bit st_ino.
794 (__stat64): Use 64 bit st_ino.
795 * include/cygwin/types.h (__ino64_t): Define.
796 (__ino32_t): Ditto.
797 (ino_t): Define appropriately.
798
3e66a81c
CV
7992003-05-10 Corinna Vinschen <corinna@vinschen.de>
800
801 * Makefile.in (NEW_FUNCTIONS): All 32/64 from 0.79 API get
802 leading underscore.
803 * cygwin.din: Ditto.
804 * include/cygwin/version.h: Bump API minor number.
805
d3b450f3
CV
8062003-05-09 Corinna Vinschen <corinna@vinschen.de>
807
808 * include/cygwin/config.h: New file.
809
9508ebc5
CF
8102003-05-09 Christopher Faylor <cgf@redhat.com>
811
812 * cygthread.cc (cygthread::detach): Prioritize waiting for I/O
813 completion over waiting for signal delivery.
814
0bb7254f
TP
8152003-05-06 Thomas Pfaff <tpfaff@gmx.net>
816
817 * signal.cc (nanosleep): Do not wait twice for signal arrival.
818
a6d745f5
CV
8192003-05-03 Corinna Vinschen <corinna@vinschen.de>
820
821 * include/cygwin/types.h: Fix erroneous definition of ino_t from
822 2003-04-28.
823
40d3c804
CV
8242003-05-03 Corinna Vinschen <corinna@vinschen.de>
825
826 * syscalls.cc (chown_worker): Allow chown'ing of socket files.
827
2238537c
TP
8282003-04-30 Thomas Pfaff <tpfaff@gmx.net>
829
830 * Makefile.in: Revert patch from 2003-04-17.
831
6ef342e4
CF
8322003-04-28 Brian Ford <ford@vss.fsi.com>
833
834 * profil.h (PROFADDR): Prevent overflow when text segments are larger
835 than 256k.
836 * profil.c (profthr_func): Raise thread priority for more accurate
837 sampling.
838
8392003-04-26 Christopher Faylor <cgf@redhat.com>
840
841 * path.cc (hash_path_name): Use ino_t as type.
842
7d6d38aa
CF
8432003-04-26 Christopher Faylor <cgf@redhat.com>
844
845 * errno.cc (_sys_nerr): Fix compile error erroneously checked in on
846 2003-04-23.
847
f615d74b
CV
8482003-04-25 Corinna Vinschen <corinna@vinschen.de>
849
850 * include/netinet/ip.h: Include netinet/in_systm.h and netinet/in.h
851 to allow standalone usage (autoconf).
852
5d9a7c87
CF
8532003-04-23 Christopher Faylor <cgf@redhat.com>
854
855 * fork.cc: Change SLOW_PID_REUSE to NO_SLOW_PID_REUSE and invert ifdef
856 sense throughout.
857
0eaf24fe
CF
8582003-04-22 Christopher Faylor <cgf@redhat.com>
859
860 * select.cc (fhandler_pipe::ready_for_read): Assure that get_guard is
861 called for successful non-blocking pipe reads.
862
e8a57b4f
CV
8632003-04-22 Corinna Vinschen <corinna@vinschen.de>
864
865 * include/inttypes.h: New file.
866 * include/stdint.h: New file.
867 * include/cygwin/in.h: Include stdint.h instead of sys/types.h.
868 * include/cygwin/types.h: Include stdint.h. Remove typedefs for
869 intN_t and uintN_t since these are defined in stdint.h now.
870
99b1a40d
CF
8712003-04-21 Christopher Faylor <cgf@redhat.com>
872
650dc784 873 * include/cygwin/version.h: Bump DLL major number to 1005. Change DLL
99b1a40d
CF
874 minor number to 0. Bump API minor number.
875
beb54085
CV
8762003-04-20 Corinna Vinschen <corinna@vinschen.de>
877
878 * autoload.cc (CreateWindowStationA): Add.
879 (SetProcessWindowStation): Add.
880
6b3bdf38
CF
8812003-04-19 Christopher Faylor <cgf@redhat.com>
882
883 * wincap.h (wincaps:pty_needs_alloc_console): New element.
884 (wincapc:pty_needs_alloc_console): New function.
885 * wincap.cc: Add pty_needs_alloc_console throughout.
886 * fhandler_tty.cc (fhandler_tty_slave::open): Open an "invisible"
887 console on first pty allocation.
888
afa18d8a
CF
8892003-04-18 Christopher Faylor <cgf@redhat.com>
890
891 * fhandler_tty.cc (fhandler_tty_slave::open): Allocate a console
892 whenever a pty is allocated.
893
4e0d8778
CF
8942003-04-18 Christopher Faylor <cgf@redhat.com>
895
896 * Makefile.in: Use ${nostdlib} variable.
897
8982003-04-18 Diego Biurrun <diego@biurrun.de>
899
900 * fhandler_proc.cc (format_proc_cpuinfo): Change /proc/cpuinfo "vendor
901 id" string to "vendor_id" to conform with Linux systems.
902
4e837e73
CF
9032003-04-17 Christopher Faylor <cgf@redhat.com>
904
905 * syscalls.cc (setsid): Don't call FreeConsole if ctty is already < 0.
906
f3c1c540
TP
9072003-04-17 Thomas Pfaff <tpfaff@gmx.net>
908
909 * Makefile.in: Add finline-functions optimization to CXXFLAGS.
910 * autoload.cc (LoadDLLprime): Rename std_dll_init to
911 _std_dll_init.
912 (std_dll_init): Remove name mangling prototype. Add attributes
913 used and noinline.
914 (wsock_init): Ditto.
915 Change wsock_init to _wsock_init in wsock32 and ws2_32
916 LoadDLLprime.
917 * exceptions.cc (unused_sig_wrapper): Remove prototype. Add
918 attributes used and noinline.
919 * pwdgrp.h ((pwdgrp (passwd *&)): Remove inline code.
920 (pwdgrp (__group32 *&)): Ditto.
921 * grp.cc (pwdgrp (passwd *&)): Outline constructor.
922 (pwdgrp (__group32 *&)): Ditto.
923
a4cea440
TP
9242003-04-17 Thomas Pfaff <tpfaff@gmx.net>
925
926 * thread.h (pthread::equal): New static method.
927 * thread.cc: Rename pthread_equal to pthread::equal throughout.
928 (pthread_equal): Use pthread::equal to compare threads ids.
929
c448f78f
CF
9302003-04-15 Christopher Faylor <cgf@redhat.com>
931
932 * termios.cc (setspeed): New function.
933 (cfsetospeed): Use setspeed to set speed.
934 (cfsetispeed): Use setspeed to set speed.
935
9362003-04-15 Chris January <chris@atomice.net>
937
938 * autoload.cc: Add load statement for UuidCreate, and
939 UuidCreateSequential.
940 * cpuid.h: New file.
941 * cygwin.din: Export gethostid.
942 * fhandler_proc.cc (cpuid): Move to cpuid.h.
943 (can_set_flag): Move to cpuid.h.
944 * syscalls.cc (gethostid): New function.
5f92bef8 945 * version.h: Bump api minor version number to 83.
c448f78f 946
ffb576fb
TP
9472003-04-15 Thomas Pfaff <tpfaff@gmx.net>
948
949 * thread.h (pthread_rwlock::release): New method.
c448f78f
CF
950 * thread.cc (pthread_rwlock::unlock): Use release to signal waiting
951 threads.
ffb576fb
TP
952 (pthread_rwlock::rdlock_cleanup): Signal waiting threads after a
953 cancelation.
954 (pthread_rwlock::wrlock_cleanup): Ditto.
955
b3acb772
CF
9562003-04-13 Pierre Humblet <pierre.humblet@ieee.org>
957
958 * mkvers.sh: Prefix day with 0 in date only when day < 10.
959
2e23862a
CV
9602003-04-11 Pierre Humblet <pierre.humblet@ieee.org>
961
962 * security.cc (get_info_from_sd): New function.
963 (get_nt_attribute): Only call read_sd and get_info_from_sd.
964 Return void.
965 (get_file_attribute): Move sd error handling to get_info_from_sd.
966 and symlink handling to fhandler_disk_file::fstat_helper.
967 (get_nt_object_attribute): Only call read_sd and get_info_from_sd.
968 Return void.
969 (get_object_attribute): Remove symlink handling and simply return -1
970 when ntsec is off.
971 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): For
972 symlinks set the attribute, call get_file_attribute to get the ids
973 and return. In the normal case call get_file_attribute with the
974 addresses of the buffer ids and do not recheck if the file is a socket.
975
73afb2ab
CF
9762003-04-10 Christopher Faylor <cgf@redhat.com>
977
978 * cygthread.cc (cygthread::stub): Initialize stack pointer earlier.
979 (cygthread::simplestub): Initialize stack pointer.
980 (cygthread::terminate_thread): Account for possibility that stack
981 pointer has not been set. Issue warnings for unusual conditions.
982
2a1e8e11
CV
9832003-04-10 Corinna Vinschen <corinna@vinschen.de>
984
985 * regex/regex.h: Define regoff_t as _off_t.
986 * regex/regex2.h: Ditto.
987
ac5ec961
CV
9882003-04-10 Corinna Vinschen <corinna@vinschen.de>
989
990 * cygwin.din: Export wcscoll, wcswidth and wcwidth.
991 * include/cygwin/version.h: Bump API minor number.
992
e5d6d535
CF
9932003-04-10 Christopher Faylor <cgf@redhat.com>
994
995 * cygthread.h: Change 'avail' cygthread element to 'inuse' throughout.
996 * cygthread.cc: Ditto.
997 (cygthread::stub): Don't initialize already initialized events.
998 (cygthread::freerange): Don't create thread here.
999 (cygthread::cygthread): Create thread here. Die if thread not created.
1000 (cygthread::operator new): Simplify. Just grab a thread structure from
1001 the pool. Don't try to start the thread.
1002 (cygthread::terminate_thread): Don't close event handles. Just reuse
d8ee8ca5 1003 them. Call MEM_RELEASE rather than MEM_DECOMMIT (from Joe uehler).
e5d6d535 1004
ca81cd60
CF
10052003-04-08 Bob Cassels <bcassels@abinitio.com>
1006
1007 * fhandler_console.cc (fhandler_console::read) Handle certain key up
1008 events, to allow pasting accented characters and typing them using the
1009 "alt + numerics" sequences.
1010
10112003-04-07 Christopher Faylor <cgf@redhat.com>
1012
1013 * include/limits.h (IOV_MAX): Set to a number which is small enough to
1014 use in an array.
1015
b410f168
CF
10162003-04-04 Christopher Faylor <cgf@redhat.com>
1017
9dbe3289
CF
1018 * cygthread.h (cygthread::avail): Make LONG for easier use with
1019 Interlocked* functions.
1020 * cygthread.cc (cygthread::init): Eliminate unneeded muto.
1021 (cygthread::operator new): Don't lock. Instead change use of avail
1022 variable into tri-state: available (1), not available (-1),
1023 uninitialized (0).
1024 (cygthread::terminate_thread): Set avail to uninitialized.
1025 (cygthread::detach): Eliminate local 'avail'. Always set avail to 1
1026 unless signalled.
1027
10282003-04-04 Christopher Faylor <cgf@redhat.com>
1029
1030 * cygthread.cc (cygthread::operator new): Be more defensive when messing with
b410f168
CF
1031 threads that are marked "unavailable".
1032
a61bf8c3
CF
10332003-04-03 Christopher Faylor <cgf@redhat.com>
1034
1035 * fhandler_console.cc (CONVERT_LIMIT): Use a size for the 21st century.
1036
d5292d66
CV
10372003-04-03 Corinna Vinschen <corinna@vinschen.de>
1038
1039 * external.cc (check_ntsec): Return general ntsec state on NULL
1040 filename. Check wincap.is_security() additionally.
1041
5a87c616
CF
10422003-04-02 Christopher Faylor <cgf@redhat.com>
1043
1044 * Makefile.in (EXTRA_OFILES): Remove debugging object.
1045
d99c6176
CF
10462003-04-02 Jason Tishler <jason@tishler.net>
1047 Christopher Faylor <cgf@redhat.com>
1048
1049 * external.cc (check_ntsec): New function.
1050 (cygwin_internal): Add CW_CHECK_NTSEC handling to call check_ntsec()
1051 from applications.
1052 * include/cygwin/version.h: Bump API minor number.
1053 * include/sys/cygwin.h (cygwin_getinfo_types): Add CW_CHECK_NTSEC.
1054
10552003-04-02 Christopher Faylor <cgf@redhat.com>
1056
1057 * cygthread.cc (cygthread::new): Add more defensive debugging.
1058
2d388e43 10592003-04-01 Pierre Humblet <pierre.humblet@ieee.org>
d99c6176 1060
2d388e43
CV
1061 * fhandler.cc (fhandler_base::fstat): Set the uid and gid fields
1062 from the current effective ids.
1063 * fhandler_socket.cc (fhandler_socket::fstat): Keep the uid and gid set
1064 by fhandler_base::fstat.
1065 * security.cc (get_nt_attribute): Do not test wincap.has_security ().
1066 (get_nt_object_attribute): Ditto.
1067 (get_file_attribute): Add test for wincap.has_security ().
1068 (get_object_attribute): Ditto.
1069
1727fba0
CV
10702003-04-01 Corinna Vinschen <corinna@vinschen.de>
1071
1072 * dir.cc: Change __off32_t to _off_t and __off64_t to _off64_t
1073 throughout.
1074 * fhandler.cc: Ditto.
1075 * fhandler.h: Ditto.
1076 * fhandler_clipboard.cc: Ditto.
1077 * fhandler_disk_file.cc: Ditto.
1078 * fhandler_dsp.cc: Ditto.
1079 * fhandler_floppy.cc: Ditto.
1080 * fhandler_mem.cc: Ditto.
1081 * fhandler_proc.cc: Ditto.
1082 * fhandler_process.cc: Ditto.
1083 * fhandler_random.cc: Ditto.
1084 * fhandler_registry.cc: Ditto.
1085 * fhandler_tape.cc: Ditto.
1086 * fhandler_termios.cc: Ditto.
1087 * fhandler_virtual.cc: Ditto.
1088 * fhandler_zero.cc: Ditto.
1089 * mmap.cc: Ditto.
1090 * pipe.cc: Ditto.
1091 * syscalls.cc: Ditto.
1092 * winsup.h: Ditto.
1093 * include/cygwin/stat.h: Ditto.
1094 * include/cygwin/types.h: Ditto. Remove definition of __off32_t
1095 and __off64_t.
1096
333879e7
CF
10972003-03-31 Christopher Faylor <cgf@redhat.com>
1098
1099 * exceptions.cc (setup_handler): Make sure winapi lock is released when
1100 exiting loop.
1101
a2105d93
CF
11022003-03-30 Christopher Faylor <cgf@redhat.com>
1103
1104 * include/cygwin/fs.h: Remove unneeded include.
1105 * include/cygwin/in.h: Include sys/types.h rather than cygwin/types.h.
1106
856a9750
CV
11072003-03-29 Corinna Vinschen <corinna@vinschen.de>
1108
1109 * syscalls.cc (login): Fix comment.
1110 (logout): Ditto.
1111
8304de2e
CV
11122003-03-29 Corinna Vinschen <corinna@vinschen.de>
1113
1114 * syscalls.cc: Slightly cleanup all utmp functions.
1115 (login): Use mutex to secure against concurrent access to wtmp file.
1116 (logout): Rewrite using POSIX calls.
1117 (utmp_fd): Initialized to -1 now. Any value < 0 is treated as closed
1118 in subsequent functions.
1119 (utmp_readonly): New variable, indicating utmp file open for reading
1120 only.
1121 (internal_setutent): New function implementing setutent().
1122 (setutent): Call internal_setutent now.
1123 (endutent): Reset utmp_readonly.
1124 (getutent): Return immediately if utmp file can't be opened.
1125 (getutid): Ditto.
1126 (getutline): Ditto.
1127 (pututline): Ditto. Use mutex to secure against concurrent access to
1128 utmp file.
1129
46c8214c
CF
11302003-03-28 Christopher Faylor <cgf@redhat.com>
1131
1132 * Makefile.in: Remove EXE_LDFLAGS. Fix fhandler_CFLAGS typo. Recognize .s suffix.
1133 * configure.in: Remove EXE_LDFLAGS.
1134 * configure: Regenerate.
1135
a7ab35c1
CF
11362003-03-28 Christopher Faylor <cgf@redhat.com>
1137
1138 * include/sys/cygwin.h: Declare cygwin_internal as unsigned long.
1139 * external.cc (cygwin_internal): Define as unsigned long.
1140
11412003-03-27 Christopher Faylor <cgf@redhat.com>
1142
1143 * include/sys/cygwin.h: Move cygwin_internal outside of WINVER
1144 conditional.
1145
eff6c00e
TP
11462003-03-27 Thomas Pfaff <tpfaff@gmx.net>
1147
1148 * thread.cc: Change 1==foo equations to foo==1 throughout.
1149
15648790
TP
11502003-03-27 Thomas Pfaff <tpfaff@gmx.net>
1151
1152 * thread.h: Change class names, methods, members and local vars
1153 according to the GNU coding style.
1154 * thread.cc: Ditto.
1155 * dcrt0.cc (dll_crt0_1): Rename pthread::initMainThread call to
1156 pthread::init_mainthread.
1157 * pthread.cc (pthead_getsequence_np): Rename pthread::isGoodObject
1158 call to pthread::is_good_object.
1159
98b36ec8
CV
11602003-03-27 Joe Buehler <jhpb@draco.hekimian.com>
1161
1ce82d24
CF
1162 * autoload.cc: Add RegGetKeySecurity().
1163 * security.cc (get_nt_object_attribute): Use RegGetKeySecurity() for
98b36ec8
CV
1164 performance.
1165
85738bf7
CF
11662003-03-25 Christopher Faylor <cgf@redhat.com>
1167 Joe Buehler <jhpb@draco.hekimian.com>
1168
1169 * fork.cc (fork_parent): Don't copy signals from parent to child here.
1170 * sigproc.cc (proc_subproc): Copy signals from parent to child pinfo
1171 here.
1172
9306ba2e
TP
11732003-03-23 Thomas Pfaff <tpfaff@gmx.net>
1174
85738bf7
CF
1175 * thread.h (class List): Move inline code inside class declaration.
1176 (List::forEach): Change callback parameter to template class member
1177 function pointer.
1178 (pthread_keys::fixup_before_fork): Change to inline. Use List::forEach
1179 to fixup keys.
9306ba2e
TP
1180 (pthread_keys::fixup_after_fork): Ditto.
1181 (pthread_keys::runAllDestructors): Ditto.
1182 (pthread_key::saveAKey): Remove.
1183 (pthread_key::restoreAKey): Ditto.
1184 (pthread_key::destroyAKey): Ditto.
1185 (pthread_key::run_destructor): Rename to runDestructor.
85738bf7
CF
1186 (pthread_mutex::fixup_after_fork): Change to inline. Use List::forEach
1187 to fixup mutexes after a fork.
9306ba2e
TP
1188 (pthread_mutex::FixupAfterFork): New method.
1189 (pthread_mutex::mutexes): New member.
85738bf7
CF
1190 (pthread_cond::fixup_after_fork): Change to inline. Use List::forEach
1191 to fixup conds after a fork.
9306ba2e
TP
1192 (pthread_cond::FixupAfterFork): New method.
1193 (pthread_cond::conds): New member.
85738bf7 1194 (pthread_rwlock::fixup_after_fork): Change to inline. Use
9306ba2e
TP
1195 List::forEach to fixup rwlocks after a fork.
1196 (pthread_rwlock::FixupAfterFork): New method.
1197 (pthread_rwlock::rwlocks): New member.
85738bf7
CF
1198 (semaphore::fixup_after_fork): Change to inline. Use List::forEach to
1199 fixup mutexes after a fork.
9306ba2e
TP
1200 (semaphore::FixupAfterFork): New method.
1201 (semaphore::semaphores): New member.
1202 (MTinterface::mutexs): Remove.
1203 (MTinterface::conds): Ditto.
1204 (MTinterface::rwlocks): Ditto.
1205 (MTinterface::semaphores): Ditto.
1206 (pthread_equal): Add extern "C".
1207 (pthread_mutex_lock): Ditto.
85738bf7
CF
1208
1209 * thread.cc (MTinterface::fixup_after_fork): Change fixup_after_fork
1210 calls for pthread objects.
9306ba2e 1211 (semaphore::conds): Instantiate.
85738bf7
CF
1212 (pthread_cond::pthread_cond): Use List::Insert rather than custom list
1213 code.
1214 (pthread_cond::~pthread_cond): Use List::Remove rather than custom list
1215 code.
9306ba2e
TP
1216 (pthread_cond::fixup_after_fork): Rename to FixupAfterFork.
1217 (pthread_rwlock::rwlocks): Instantiate.
85738bf7
CF
1218 (pthread_rwlock::pthread_crwlock): Use List::Insert rather than custom
1219 list code.
1220 (pthread_rwlock::~pthread_rwlock): Use List::Remove rather than custom
1221 list code.
9306ba2e
TP
1222 (pthread_rwlock::fixup_after_fork): Rename to FixupAfterFork.
1223 (pthread_key::saveAKey): Remove.
1224 (pthread_key::fixup_before_fork): Ditto.
1225 (pthread_key::restoreAKey): Ditto.
1226 (pthread_key::fixup_after_fork): Ditto.
1227 (pthread_key::destroyAKey): Ditto.
1228 (pthread_key::runAllDestructors): Ditto.
1229 (pthread_key::run_destructor): Rename to runDestructor.
1230 (pthread_mutex::mutexes): Instantiate.
85738bf7
CF
1231 (pthread_mutex::pthread_mutex): Use List::Insert rather than custom
1232 list code.
1233 (pthread_mutex::~pthread_mutex): Use List::Remove rather than custom
1234 list code.
9306ba2e
TP
1235 (pthread_mutex::fixup_after_fork): Rename to FixupAfterFork.
1236 (semaphore::conds): Instantiate.
85738bf7
CF
1237 (semaphore::semaphore): Use List::Insert rather than custom list code.
1238 (semaphores::~semaphore): Use List::Remove rather than custom list
9306ba2e 1239 code.
9306ba2e
TP
1240 (semaphore::fixup_after_fork): Rename to FixupAfterFork.
1241
ff3ef36d
CF
12422003-03-22 Christopher Faylor <cgf@redhat.com>
1243
1244 * pipe.cc (fhandler_pipe::dup): Don't dup input_handle if it doesn't
1245 exist.
1246
ca04f61f
CF
12472003-03-22 Christopher Faylor <cgf@redhat.com>
1248
1249 * syscalls.cc (unlink): Be more defensive when SetFileAttributes is
1250 called. Fix typo in debugging output.
1251
89e7a1ce
CF
12522003-03-21 Christopher Faylor <cgf@redhat.com>
1253
1254 * fork.cc: Conditionalize use of slow_pid_reuse throughout. It's not
1255 necessary for newer versions of bash.
1256
fa85038b
CV
12572003-03-20 Corinna Vinschen <corinna@vinschen.de>
1258
1259 * fhandler_socket.cc (fhandler_socket::sendto): Restrict EPIPE and
1260 SIGPIPE handling to connection oriented sockets. Add comment.
1261
4da34970
CF
12622003-03-19 Christopher Faylor <cgf@redhat.com>
1263
1264 * sigproc.h (signal_fixup_after_exec): Eliminate argument in declaration.
1265 * exceptions.cc (signal_fixup_after_exec): Eliminate argument in
1266 definition. Don't reset signal handlers after spawm. Just treat like
1267 fork/exec.
1268 * dcrt0.cc (dll_crt0_1): Don't pass PROC_SPAWN argument to
1269 signal_fixup_after_exec.
1270 * syscalls.cc (unlink): Don't change attributes of file if not readonly/system.
1271 Ditto for resetting of arguments.
1272
036ac6b3
CV
12732003-03-19 Corinna Vinschen <corinna@vinschen.de>
1274
1275 * glob.c: Eliminate __INSIDE_CYGWIN__ preprocessor conditionals
1276 throughout.
1277
b1897d27
CV
12782003-03-19 Corinna Vinschen <corinna@vinschen.de>
1279
1280 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Fix
1281 wrong usage of S_IFDIR.
1282 * security.cc (get_attribute_from_acl): Ditto.
1283 (get_file_attribute): Fix wrong usage of S_IFLNK.
1284 (get_object_attribute): Ditto.
1285 (alloc_sd): Fix wrong usage of S_IFDIR.
1286 * syscalls.cc (chmod): Allow chmod'ing of socket files.
1287
c16d0946
CV
12882003-03-19 Corinna Vinschen <corinna@vinschen.de>
1289
1290 * include/cygwin/version.h (CYGWIN_VERSION_CHECK_FOR_USING_BIG_TYPES):
1291 Define.
1292 * glob.c (g_lstat): Use CYGWIN_VERSION_CHECK_FOR_USING_BIG_TYPES
1293 instead of numerical constants.
1294 (g_stat): Ditto.
1295
6a80a133
TP
12962003-03-18 Thomas Pfaff <tpfaff@gmx.net>
1297
1298 * pthread.cc (pthread_attr_init): Remove
1299 (pthread_attr_destroy): Ditto.
1300 (pthread_attr_setdetachstate): Ditto.
1301 (pthread_attr_getdetachstate): Ditto.
1302 (pthread_attr_setstacksize): Ditto.
1303 (pthread_attr_getstacksize): Ditto.
1304 (pthread_attr_setinheritsched): Ditto.
1305 (pthread_attr_getinheritsched): Ditto.
1306 (pthread_attr_setschedparam): Ditto.
1307 (pthread_attr_getschedparam): Ditto.
1308 (pthread_attr_setschedpolicy): Ditto.
1309 (pthread_attr_getschedpolicy): Ditto.
1310 (pthread_attr_setscope): Ditto.
1311 (pthread_attr_getscope): Ditto.
1312 (pthread_attr_setstackaddr): Ditto.
1313 (pthread_attr_getstackaddr): Ditto.
1314 (pthread_key_create): Ditto.
1315 (pthread_key_delete): Ditto.
1316 (pthread_setspecific): Ditto.
1317 (pthread_getspecific): Ditto.
1318 (pthread_kill): Ditto.
1319 (pthread_sigmask): Ditto.
1320 (pthread_equal): Ditto.
1321 (pthread_mutex_lock): Ditto.
1322 (pthread_mutex_trylock): Ditto.
1323 (pthread_mutex_unlock): Ditto.
1324 (pthread_mutex_destroy): Ditto.
1325 (pthread_mutex_setprioceiling): Ditto.
1326 (pthread_mutex_getprioceiling): Ditto.
1327 (pthread_mutexattr_destroy): Ditto.
1328 (pthread_mutexattr_getprioceiling): Ditto.
1329 (pthread_mutexattr_getprotocol): Ditto.
1330 (pthread_mutexattr_getpshared): Ditto.
1331 (pthread_mutexattr_gettype): Ditto.
1332 (pthread_mutexattr_init): Ditto.
1333 (pthread_mutexattr_setprioceiling): Ditto.
1334 (pthread_mutexattr_setprotocol): Ditto.
1335 (pthread_mutexattr_setpshared): Ditto.
1336 (pthread_mutexattr_settype): Ditto.
1337 (pthread_cond_destroy): Ditto.
1338 (pthread_cond_signal): Ditto.
1339 (pthread_cond_broadcast): Ditto.
1340 (pthread_condattr_init): Ditto.
1341 (pthread_condattr_destroy): Ditto.
1342 (pthread_condattr_getpshared): Ditto.
1343 (pthread_condattr_setpshared): Ditto.
1344 (pthread_rwlock_destroy): Ditto.
1345 (pthread_rwlock_rdlock): Ditto.
1346 (pthread_rwlock_tryrdlock): Ditto.
1347 (pthread_rwlock_wrlock): Ditto.
1348 (pthread_rwlock_trywrlock): Ditto.
1349 (pthread_rwlock_unlock): Ditto.
1350 (pthread_rwlockattr_init): Ditto.
1351 (pthread_rwlockattr_getpshared): Ditto.
1352 (pthread_rwlockattr_setpshared): Ditto.
1353 (pthread_rwlockattr_destroy): Ditto.
1354 (pthread_getconcurrency): Ditto.
1355 (pthread_setconcurrency): Ditto.
1356 (pthread_getschedparam): Ditto.
1357 (pthread_setschedparam): Ditto.
1358
1359 * thread.h (__pthread_attr_init): Remove prototype.
1360 (__pthread_attr_destroy): Ditto.
1361 (__pthread_attr_setdetachstate): Ditto.
1362 (__pthread_attr_getdetachstate): Ditto.
1363 (__pthread_attr_setstacksize): Ditto.
1364 (__pthread_attr_getstacksize): Ditto.
1365 (__pthread_attr_setinheritsched): Ditto.
1366 (__pthread_attr_getinheritsched): Ditto.
1367 (__pthread_attr_setschedparam): Ditto.
1368 (__pthread_attr_getschedparam): Ditto.
1369 (__pthread_attr_setschedpolicy): Ditto.
1370 (__pthread_attr_getschedpolicy): Ditto.
1371 (__pthread_attr_setscope): Ditto.
1372 (__pthread_attr_getscope): Ditto.
1373 (__pthread_attr_setstackaddr): Ditto.
1374 (__pthread_attr_getstackaddr): Ditto.
1375 (__pthread_key_create): Ditto.
1376 (__pthread_key_delete): Ditto.
1377 (__pthread_setspecific): Ditto.
1378 (__pthread_getspecific): Ditto.
1379 (__pthread_kill): Ditto.
1380 (__pthread_sigmask): Ditto.
1381 (__pthread_equal): Ditto.
1382 (__pthread_mutex_lock): Ditto.
1383 (__pthread_mutex_trylock): Ditto.
1384 (__pthread_mutex_unlock): Ditto.
1385 (__pthread_mutex_destroy): Ditto.
1386 (__pthread_mutex_setprioceiling): Ditto.
1387 (__pthread_mutex_getprioceiling): Ditto.
1388 (__pthread_mutexattr_destroy): Ditto.
1389 (__pthread_mutexattr_getprioceiling): Ditto.
1390 (__pthread_mutexattr_getprotocol): Ditto.
1391 (__pthread_mutexattr_getpshared): Ditto.
1392 (__pthread_mutexattr_gettype): Ditto.
1393 (__pthread_mutexattr_init): Ditto.
1394 (__pthread_mutexattr_setprioceiling): Ditto.
1395 (__pthread_mutexattr_setprotocol): Ditto.
1396 (__pthread_mutexattr_setpshared): Ditto.
1397 (__pthread_mutexattr_settype): Ditto.
1398 (__pthread_cond_destroy): Ditto.
1399 (__pthread_cond_signal): Ditto.
1400 (__pthread_cond_broadcast): Ditto.
1401 (__pthread_condattr_init): Ditto.
1402 (__pthread_condattr_destroy): Ditto.
1403 (__pthread_condattr_getpshared): Ditto.
1404 (__pthread_condattr_setpshared): Ditto.
1405 (__pthread_rwlock_destroy): Ditto.
1406 (__pthread_rwlock_rdlock): Ditto.
1407 (__pthread_rwlock_tryrdlock): Ditto.
1408 (__pthread_rwlock_wrlock): Ditto.
1409 (__pthread_rwlock_trywrlock): Ditto.
1410 (__pthread_rwlock_unlock): Ditto.
1411 (__pthread_rwlockattr_init): Ditto.
1412 (__pthread_rwlockattr_getpshared): Ditto.
1413 (__pthread_rwlockattr_setpshared): Ditto.
1414 (__pthread_rwlockattr_destroy): Ditto.
1415 (__pthread_getconcurrency): Ditto.
1416 (__pthread_setconcurrency): Ditto.
1417 (__pthread_getschedparam): Ditto.
1418 (__pthread_setschedparam): Ditto.
1419
1420 * thread.cc: Rename __pthread_equal to pthread_equal throughout.
1421 Change pthread_self parameter appropriate.
1422 (__pthread_attr_init): Remove __ prefix. Change to extern "C".
1423 (__pthread_attr_destroy): Ditto.
1424 (__pthread_attr_setdetachstate): Ditto.
1425 (__pthread_attr_getdetachstate): Ditto.
1426 (__pthread_attr_setstacksize): Ditto.
1427 (__pthread_attr_getstacksize): Ditto.
1428 (__pthread_attr_setinheritsched): Ditto.
1429 (__pthread_attr_getinheritsched): Ditto.
1430 (__pthread_attr_setschedparam): Ditto.
1431 (__pthread_attr_getschedparam): Ditto.
1432 (__pthread_attr_setschedpolicy): Ditto.
1433 (__pthread_attr_getschedpolicy): Ditto.
1434 (__pthread_attr_setscope): Ditto.
1435 (__pthread_attr_getscope): Ditto.
1436 (__pthread_attr_setstackaddr): Ditto.
1437 (__pthread_attr_getstackaddr): Ditto.
1438 (__pthread_key_create): Ditto.
1439 (__pthread_key_delete): Ditto.
1440 (__pthread_setspecific): Ditto.
1441 (__pthread_getspecific): Ditto.
1442 (__pthread_kill): Ditto.
1443 (__pthread_sigmask): Ditto.
1444 (__pthread_equal): Ditto.
1445 (__pthread_mutex_lock): Ditto.
1446 (__pthread_mutex_trylock): Ditto.
1447 (__pthread_mutex_unlock): Ditto.
1448 (__pthread_mutex_destroy): Ditto.
1449 (__pthread_mutex_setprioceiling): Ditto.
1450 (__pthread_mutex_getprioceiling): Ditto.
1451 (__pthread_mutexattr_destroy): Ditto.
1452 (__pthread_mutexattr_getprioceiling): Ditto.
1453 (__pthread_mutexattr_getprotocol): Ditto.
1454 (__pthread_mutexattr_getpshared): Ditto.
1455 (__pthread_mutexattr_gettype): Ditto.
1456 (__pthread_mutexattr_init): Ditto.
1457 (__pthread_mutexattr_setprioceiling): Ditto.
1458 (__pthread_mutexattr_setprotocol): Ditto.
1459 (__pthread_mutexattr_setpshared): Ditto.
1460 (__pthread_mutexattr_settype): Ditto.
1461 (__pthread_cond_destroy): Ditto.
1462 (__pthread_cond_signal): Ditto.
1463 (__pthread_cond_broadcast): Ditto.
1464 (__pthread_condattr_init): Ditto.
1465 (__pthread_condattr_destroy): Ditto.
1466 (__pthread_condattr_getpshared): Ditto.
1467 (__pthread_condattr_setpshared): Ditto.
1468 (__pthread_rwlock_destroy): Ditto.
1469 (__pthread_rwlock_rdlock): Ditto.
1470 (__pthread_rwlock_tryrdlock): Ditto.
1471 (__pthread_rwlock_wrlock): Ditto.
1472 (__pthread_rwlock_trywrlock): Ditto.
1473 (__pthread_rwlock_unlock): Ditto.
1474 (__pthread_rwlockattr_init): Ditto.
1475 (__pthread_rwlockattr_getpshared): Ditto.
1476 (__pthread_rwlockattr_setpshared): Ditto.
1477 (__pthread_rwlockattr_destroy): Ditto.
1478 (__pthread_getconcurrency): Ditto.
1479 (__pthread_setconcurrency): Ditto.
1480 (__pthread_getschedparam): Ditto.
1481 (__pthread_setschedparam): Ditto.
1482
00d296a3
TP
14832003-03-18 Thomas Pfaff <tpfaff@gmx.net>
1484
1485 * cygwin.din: Add pthread_rwlock_destroy, pthread_rwlock_init,
1486 pthread_rwlock_rdlock, pthread_rwlock_tryrdlock,
1487 pthread_rwlock_wrlock, pthread_rwlock_trywrlock,
1488 pthread_rwlock_unlock, pthread_rwlockattr_init,
1489 pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared,
1490 and pthread_rwlockattr_destroy.
1491 * include/cygwin/version.h: Bump API minor number.
1492 * include/pthread.h (PTHREAD_RWLOCK_INITIALIZER): Define a
1493 reasonable value.
1494 Add prototypes for pthread_rwlock_destroy, pthread_rwlock_init,
1495 pthread_rwlock_rdlock, pthread_rwlock_tryrdlock,
1496 pthread_rwlock_wrlock, pthread_rwlock_trywrlock,
1497 pthread_rwlock_unlock, pthread_rwlockattr_init,
1498 pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared,
1499 and pthread_rwlockattr_destroy.
1500 * thread.h (PTHREAD_ONCE_MAGIC): Remove superflous semicolon.
1501 (PTHREAD_RWLOCK_MAGIC): New define.
1502 (PTHREAD_RWLOCKATTR_MAGIC): Ditto.
1503 (pthread_rwlockattr): New class.
1504 (pthread_rwlock): Ditto.
1505 (MTinterface::rwlocks): New member.
1506 (MTinterface::MTinterface): Initialize rwlocks.
1507 Add prototypes for __pthread_rwlock_destroy,
1508 __pthread_rwlock_wrlock, __pthread_rwlock_trywrlock,
1509 __pthread_rwlock_unlock, __pthread_rwlockattr_init,
1510 __pthread_rwlockattr_getpshared, __pthread_rwlockattr_setpshared,
1511 and __pthread_rwlockattr_destroy.
1512 * thread.cc (MTinterface::Init): Initialize rwlock internal mutex.
1513 (MTinterface::fixup_after_fork): Fixup rwlocks after fork.
1514 (pthread_rwlockattr::isGoodObject): Implement.
1515 (pthread_rwlockattr::pthread_rwlockattr): Ditto.
1516 (pthread_rwlockattr::~pthread_rwlockattr): Ditto.
1517 (pthread_rwlock::initMutex): Ditto.
1518 (pthread_rwlock::pthread_rwlock): Ditto.
1519 (pthread_rwlock::~pthread_rwlock): Ditto.
1520 (pthread_rwlock::RdLock): Ditto.
1521 (pthread_rwlock::TryRdLock): Ditto.
1522 (pthread_rwlock::WrLock): Ditto.
1523 (pthread_rwlock::TryWrLock): Ditto.
1524 (pthread_rwlock::UnLock): Ditto.
1525 (pthread_rwlock::addReader): Ditto.
1526 (pthread_rwlock::removeReader): Ditto.
1527 (pthread_rwlock::lookupReader): Ditto.
1528 (pthread_rwlock::RdLockCleanup): Ditto.
1529 (pthread_rwlock::WrLockCleanup): Ditto.
1530 (pthread_rwlock::fixup_after_fork): Ditto.
1531 (pthread_rwlock::isGoodObject): Ditto.
1532 (pthread_rwlock::isGoodInitializer): Ditto.
1533 (pthread_rwlock::isGoodInitializerOrObject): Ditto.
1534 (pthread_rwlock::isGoodInitializerOrBadObject): Ditto.
1535 (__pthread_rwlock_destroy): Ditto.
1536 (pthread_rwlock::init): Ditto.
1537 (__pthread_rwlock_rdlock): Ditto.
1538 (__pthread_rwlock_tryrdlock): Ditto.
1539 (__pthread_rwlock_wrlock): Ditto.
1540 (__pthread_rwlock_trywrlock): Ditto.
1541
f592b05d
TP
15422003-03-18 Thomas Pfaff <tpfaff@gmx.net>
1543
1544 * thread.h (pthread_cond::ExitingWait): Remove.
1545 (pthread_cond::mutex): Ditto.
1546 (pthread_cond::cond_access): Ditto.
1547 (pthread_cond::win32_obj_id): Ditto.
1548 (pthread_cond::TimedWait): Ditto.
1549 (pthread_cond::BroadCast): Ditto.
1550 (pthread_cond::Signal): Ditto.
1551 (pthread_cond::waiting): Change type to unsigned long.
1552 (pthread_cond::pending): New member.
1553 (pthread_cond::semWait): Ditto.
1554 (pthread_cond::mtxIn): Ditto.
1555 (pthread_cond::mtxOut): Ditto.
1556 (pthread_cond::mtxCond): Ditto.
1557 (pthread_cond::UnBlock): New method.
1558 (pthread_cond::Wait): Ditto.
1559 * thread.cc: Update list of cancellation points.
1560 (pthread_cond::pthread_cond): Rewrite.
1561 (pthread_cond::~pthread_cond): Ditto.
1562 (pthread_cond::TimedWait): Remove.
1563 (pthread_cond::BroadCast): Ditto.
1564 (pthread_cond::Signal): Ditto.
1565 (pthread_cond::UnBlock): Implement.
1566 (pthread_cond::Wait): Ditto.
1567 (pthread_cond::fixup_after_fork): Rewrite.
1568 (pthread_mutex::fixup_after_fork): Remove DETECT_BAD_APP
1569 conditional.
1570 (__pthread_cond_broadcast): Just return 0 if the condition is
1571 not initialized. Call pthread_cond::UnBlock to release blocked
1572 threads.
1573 (__pthread_cond_signal): Ditto.
1574 (__pthread_cond__dowait): Rewrite.
1575 (pthread_cond_timedwait): Add pthread_testcancel call. Fix
1576 waitlength calculation.
1577 (pthread_cond_wait): Add pthread_testcancel call.
1578
2ff03dc2
TP
15792003-03-18 Thomas Pfaff <tpfaff@gmx.net>
1580
1581 * include/pthread.h (PTHREAD_MUTEX_NORMAL): New define.
1582 * thread.cc: Remove errno.h include.
1583 (pthread::precreate): Change internal mutex type to normal.
1584 (pthread_mutex::canBeUnlocked): Implement.
1585 (pthread_mutex::pthread_mutex): Initialize lock_counter with 0.
1586 (pthread_mutex::Lock): Rename to _Lock. Add self parameter.
1587 Change lock_counter logic. Update SetOwner call.
1588 (pthread_mutex::TryLock): Rename to _TryLock. Add self parameter.
1589 Change lock_counter logic. Update SetOwner call.
1590 (pthread_mutex::UnLock): Rename to _UnLock. Add self parameter.
1591 Change lock_counter logic.
1592 (pthread_mutex::Destroy): Rename to _Destroy. Update TryLock call.
1593 (pthread_mutex::SetOwner): Move to thread.h as inline.
1594 (pthread_mutex::LockRecursive): Ditto.
1595 (pthread_mutex::fixup_after_fork): Change lock_counter logic.
1596 (__pthread_mutexattr_settype): Add PTHREAD_MUTEX_NORMAL to valid
1597 types check.
1598 * thread.h: Include errno.h and limits.h.
1599 (MUTEX_LOCK_COUNTER_INITIAL): Remove.
1600 (MUTEX_OWNER_ANONYMOUS): New define.
1601 (pthread_mutex::canBeUnlocked): New static method.
1602 (pthread_mutex::lock_counter): Change type to unsigned long.
1603 (pthread_mutex::GetPthreadSelf): New method.
1604 (pthread_mutex::Lock): Call _Lock with pthread_self pointer.
1605 (pthread_mutex::TryLock): Call _TryLock with pthread_self pointer.
1606 (pthread_mutex::UnLock): Call _UnLock with pthread_self pointer.
1607 (pthread_mutex::Destroy): Call _Destroy with pthread_self pointer.
1608 (pthread_mutex::SetOwner): Moved from thread.cc as inline.
1609 (pthread_mutex::LockRecursive): Ditto.
1610 (pthread_mutex::_Lock): New method.
1611 (pthread_mutex::_TryLock): New method.
1612 (pthread_mutex::_UnLock): New method.
1613 (pthread_mutex::_Destroy): New method.
1614
dcd350f0
CV
16152003-03-18 Christopher January <chris@atomice.net>
1616
1617 * fhandler_proc.cc (format_proc_cpuinfo): Use IsProcessorFeaturePresent
1618 only on Windows NT. Read CPU Mhz value only on NT. Revert previous
1619 change so cpuid instruction is called even on non-NT systems.
1620
c51dc9c2
CV
16212003-03-17 Corinna Vinschen <corinna@vinschen.de>
1622
a2105d93 1623 * glob.c (g_lstat): Change API minor test to match API minor number
c51dc9c2
CV
1624 change in previous patch.
1625 (g_stat): Ditto.
1626
f194ba1f
CF
16272003-03-17 Christopher Faylor <cgf@redhat.com>
1628
1629 * include/cygwin/version.h: Reorganize last two api versions so that
1630 btowc and trunc exports show up before previous bump since there has
1631 been no exported version of the DLL with the 64 bit changes yet but
1632 1.3.22 will have the btowc and trunc.
1633
3543669f
CF
16342003-03-17 Christopher Faylor <cgf@redhat.com>
1635
1636 * cygwin.din: Export btowc, trunc.
1637 * include/cygwin/version.h: Reflect new exports.
1638 * syscalls.cc (_stat): Rename to stat to avoid newlib wrapper.
1639 * syscalls.cc (_fstat): Ditto.
1640
16412003-03-16 Christopher Faylor <cgf@redhat.com>
1642
1643 * fhandler_console.cc (fhandler_console::close): Correct check for
1644 current tty. Add debugging output when console is freed.
1645 (set_console_state_for_spawn): Add debugging output.
1646 * fhandler_tty.cc (fhandler_tty_slave::open): Don't decrement console
1647 open flag when vforking.
1648 * sigproc.cc (sigproc_terminate): Fix debugging output.
1649 * spawn.cc (handle): Eliminate second argument.
1650 (spawn_guts): Reflect elimination of argument change to handle.
1651 * syscalls.cc (setsid): Add debugging output when console is freed.
1652
16532003-03-14 Christopher Faylor <cgf@redhat.com>
1654
1655 * syscalls.cc (rename): Revert assumption that DELETE_ON_CLOSE works on
1656 Win9x.
1657
41ffdfa5
CF
16582003-03-13 Christopher Faylor <cgf@redhat.com>
1659
1660 * include/cygwin/version.h: Bump DLL minor number to 23.
1661
5b186cd9
CV
16622003-03-13 Corinna Vinschen <corinna@vinschen.de>
1663
1664 * autoload.cc (IsProcessorFeaturePresent): Add.
1665 * fhandler_proc.cc (format_proc_cpuinfo): Add case for 9x systems.
1666
c58555c7
CV
16672003-03-13 Corinna Vinschen <corinna@vinschen.de>
1668
1669 * fhandler_proc.cc (format_proc_cpuinfo): Fix vendor id in cpuid case.
1670
49a0d53c
CV
16712003-03-13 Corinna Vinschen <corinna@vinschen.de>
1672
1673 * net.cc (cygwin_rcmd): Use correct file descriptor in call to fdsock.
1674 (cygwin_rexec): Ditto.
1675
6fcd5661
CF
16762003-03-13 Christopher Faylor <cgf@redhat.com>
1677
1678 * fhandler_tty.cc (fhandler_tty_slave::close): Fix typo in debug
1679 output.
1680
1681 * syscalls.cc (rename): Assume that DELETE_ON_CLOSE works on Win9x.
1682
aa39b7f7
CV
16832003-03-11 Corinna Vinschen <corinna@vinschen.de>
1684
1685 * fhandler_socket.cc (fhandler_socket::dup): Don't call
1686 fhandler_base::dup() but call DuplicateHandle directly instead to have
1687 control over socket inheritence.
1688
2afa7f58
CV
16892003-03-11 Corinna Vinschen <corinna@vinschen.de>
1690
1691 * fhandler_socket.cc (fhandler_socket::dup): On NT systems avoid
1692 using WinSock2 socket duplication methods. Add comment.
1693
16942003-03-11 Pierre Humblet <pierre.humblet@ieee.org>
1695
1696 * fhandler_socket.cc (fhandler_socket::fixup_after_fork):
1697 Set io_handle to INVALID_SOCKET in case of failure.
1698 (fhandler_socket::dup): Return 0 if the io_handle is valid.
1699
556ceaeb
CV
17002003-03-10 Corinna Vinschen <corinna@vinschen.de>
1701
1702 * sec_acl.cc (setacl): Don't handle DELETE flag specially.
1703 * security.cc (alloc_sd): Ditto.
1704
a201401c
CV
17052003-03-09 Corinna Vinschen <corinna@vinschen.de>
1706
6bbf711e 1707 * winver.rc: Change Copyright hint to include 2003.
a201401c 1708
b1aae492
CV
17092003-03-09 Corinna Vinschen <corinna@vinschen.de>
1710
1711 Switch to 32/64 datatypes:
1712 * Makefile.in (OBSOLETE_FUNCTIONS): Add open acl aclcheck aclfrommode
1713 aclfrompbits aclfromtext aclsort acltomode acltopbits acltotext chown
1714 facl fchown fgetpos fopen freopen fseeko fsetpos fstat ftello
1715 ftruncate getegid geteuid getgid getgrent getgrgid getgrnam getgroups
1716 getpwuid getpwuid_r getuid initgroups lchown lseek lstat mknod mmap
1717 seekdir setegid seteuid setgid setgroups setregid setreuid setuid stat
1718 telldir truncate.
1719 (NEW_FUNCTIONS): Add _open64 acl32 aclcheck32 aclfrommode32
1720 aclfrompbits32 aclfromtext32 aclsort32 acltomode32 acltopbits32
1721 acltotext32 chown32 facl32 fchown32 fgetpos64 fopen64 freopen64
1722 fseeko64 fsetpos64 fstat64 ftello64 ftruncate64 getegid32 geteuid32
1723 getgid32 getgrent32 getgrgid32 getgrnam32 getgroups32 getpwuid32
1724 getpwuid_r32 getuid32 initgroups32 lchown32 lseek64 lstat64 mknod32
1725 mmap64 seekdir64 setegid32 seteuid32 setgid32 setgroups32 setregid32
1726 setreuid32 setuid32 stat64 telldir64 truncate64 to substitute the
1727 above.
1728 * cygserver_shm.h (class client_request_shm): Change uid_t and gid_t
1729 members to __uid32_t and __gid32_t.
1730 * cygwin.din: Add symbols acl32 aclcheck32 aclfrommode32
1731 aclfrompbits32 aclfromtext32 aclsort32 acltomode32 acltopbits32
1732 acltotext32 facl32 fgetpos64 fopen64 freopen64 fseeko64 fsetpos64
1733 _fstat64 ftello64 _lseek64 mknod32 _open64.
1734 * glob.c: Include perprocess.h.
1735 (globtilde): Call getpwuid32 and getuid32 instead of getpwuid and
1736 getuid.
1737 (g_lstat): Check for applications API version to call the appropriate
1738 typed gl_lstat function.
1739 (g_stat): Ditto for gl_stat.
1740 * shm.cc (client_request_shm::client_request_shm): Call geteuid32
1741 and getegid32 instead of geteuid and getegid throughout.
1742 * syscalls.cc (_open64): New alias for open.
1743 (_lseek64): New alias for lseek64.
1744 (_fstat64): New alias for fseek64.
1745 (mknod32): New function.
1746 (mknod): Calls mknod32 now.
1747 * winsup.h: Make function declarations for getuid32, geteuid32,
1748 and getpwuid32 accessible for plain C sources. Add declarations
1749 for getegid32 and getpwnam.
1750 * include/cygwin/version.h: Bum API minor number to 78.
1751 * include/sys/cygwin.h: Guard C++ specific members of struct
1752 per_process against inclusion in plain C sources.
1753 * include/sys/mman.h (mman): Add guard to avoid type clash when
1754 compiling Cygwin.
1755
659fb3ff
CF
17562003-03-09 Christopher Faylor <cgf@redhat.com>
1757
d580d86c 1758 * include/cygwin/version.h: Bump DLL minor number to 22.
659fb3ff 1759
c367dfd0
CF
17602003-03-09 Christopher Faylor <cgf@redhat.com>
1761
1762 Do some minor reformatting of 'extern "C"' use throughout.
1763
17642003-03-06 Christopher January <chris@atomice.net>
1765
1766 * autoload.cc (GetSystemTimes): Define new autoload function.
1767 * fhandler_proc.cc (proc_listing): Add cpuinfo and partitions entries.
1768 (fhandler_proc::fill_filebuf): Add PROC_CPUINFO and PROC_PARTITIONS
1769 cases.
1770 (format_proc_uptime): Use GetSystemTimes if available.
1771 (read_value): New macro.
1772 (print): New macro.
1773 (cpuid): New function.
1774 (can_set_flag): New function.
1775 (format_proc_cpuinfo): New function.
1776 (format_proc_partitions): New function.
1777
36c4a441
CF
17782003-03-09 Christopher Faylor <cgf@redhat.com>
1779
1780 * syscalls.cc (unlink): Attempt to be more clever about setting
1781 attributes of file. Only open file in query mode to avoid having to
1782 mess with security stuff for reading.
1783
639ebe29
CV
17842003-03-09 Corinna Vinschen <corinna@vinschen.de>
1785
1786 * rmsym: Fix regular expression.
1787
3a1d827f
CF
17882003-03-09 Christopher Faylor <cgf@redhat.com>
1789
1790 * Makefile.in: Change from using new-* to cygwin0 for temporary
1791 targets.
1792
ca0e9071
CV
17932003-03-09 Corinna Vinschen <corinna@vinschen.de>
1794
1795 * include/cygwin/socket.h: Set SOMAXCONN to Winsock2 value.
1796
ed269cea
CF
17972003-03-08 Christopher Faylor <cgf@redhat.com>
1798
1799 * syscalls.cc (unlink): Always attempt to use FILE_FLAG_CLOSE_ON_DELETE
1800 to delete files since this allows us to preserve the protection of hard
1801 linked files.
1802 (link): Generate full path for potentially recalculated .lnk target.
1803
1114c3d0
CF
18042003-03-08 Christopher Faylor <cgf@redhat.com>
1805
1806 Revert below changes regarding _pinfo::cmdline.
1807
d66ac2bc
CV
18082003-03-08 Corinna Vinschen <corinna@vinschen.de>
1809
1810 * external.cc (cygwin_internal): Change n to __off64_t to match change
1811 of _pinfo::cmdline.
1812 * fhandler.h (class fhandler_virtual): Change filesize member to
1813 __off64_t.
1814 * fhandler_proc.cc (format_proc_meminfo): Change to return __off64_t.
1815 (format_proc_stat): Ditto.
1816 (format_proc_uptime): Ditto.
1817 * fhandler_process.cc (format_process_stat): Ditto.
1818 (format_process_status): Ditto.
1819 (format_process_statm): Ditto.
1820 * pinfo.cc (_pinfo::cmdline): Expect __off64_t parameter.
1821 * pinfo.h (class _pinfo): Change declaration of cmdline accordingly.
1822
762520f3
CF
18232003-03-07 Christopher Faylor <cgf@redhat.com>
1824
1825 * path.h (PATH_LNK): New enum val.
1826 (path_conv::is_lnk_symlink): New function. True if path represents
1827 .lnk style symlink.
1828 * path.cc (check_shortcut): Set PATH_LNK in pflags when appropriate.
1829 (symlink_info::check): Ditto. Remove PATH_LNK from pflags initially.
1830 * syscalls.cc (unlink): Always remove readonly attribute from a symlink
1831 regardless of type.
1832 (link): (from Corinna Vinschen) Allow links to symlinks. Reset
1833 attributes on a symlink after successful link creation.
1834 (chmod): Use is_lnk_symlink where appropriate.
1835 (rename): Ditto.
1836
18372003-03-07 Pierre Humblet <pierre.humblet@ieee.org>
1838
1839 * tty.cc (create_tty_master): Call GetComputerName instead of
1840 cygwin_gethostname. Set ut_id.
1841 * syscalls.cc (login): Call endutent.
1842 (setutent): Do not seek after a fresh open.
1843
6f8102cb
CV
18442003-03-07 Corinna Vinschen <corinna@vinschen.de>
1845
1846 * syscalls.cc (seteuid32): Fix formatting.
1847
88243328
TP
18482003-03-04 Thomas Pfaff <tpfaff@gmx.net>
1849
1850 * thread.cc (MTinterface::fixup_after_fork): Initialize mainthread
1851 prior to pthread objects.
762520f3 1852
12390bc4
CV
18532003-03-04 Jason Tishler <jason@tishler.net>
1854
1855 * fhandler_socket.cc (fhandler_socket::dup): Initialize type.
1856
c418817e
CF
18572003-03-03 Christopher Faylor <cgf@redhat.com>
1858
1859 * fhandler.h (fhandler_tty_slave::close): Declare new function.
1860 (fhandler_tty_slave::dup): Declare new function.
1861 (fhandler_tty_slave::fixup_after_function): Declare new function.
1862 * fhandler_tty.cc (fhandler_tty_slave_open): Only increment
1863 fhandler_console::open_fhs when associated with a pty.
1864 (fhandler_tty_slave::close): Define new function. Decrement
1865 fhandler_console::open_fhs when associated with a pty.
1866 (fhandler_tty_slave::dup): Define new function. Increment
1867 fhandler_console::open_fhs when associated with a pty.
1868 (fhandler_tty_slave::fixup_after_fork): Define new function. Increment
1869 fhandler_console::open_fhs when associated with a pty.
1870
e11fe31b
CF
18712003-03-03 Christopher Faylor <cgf@redhat.com>
1872
1873 * fhandler_tty.cc (fhandler_pty_slave::open): Grudgingly increment
1874 fhandler_console::open_fhs here.
1875 (fhandler_pty_slave::close): Ditto for close.
1876
cffdb4b1
CF
18772003-03-02 Christopher Faylor <cgf@redhat.com>
1878
1879 * lib/getopt.c: Refresh from NetBSD sources.
1880
d5d2ffee
CF
18812003-03-02 Christopher Faylor <cgf@redhat.com>
1882
1883 * fhandler_console.cc (fhandler_console::close): Don't decrement
1884 in use counter if in vfork fixup stage.
1885
c2c6b170
CF
18862003-03-02 Christopher Faylor <cgf@redhat.com>
1887
1888 * lib/getopt.c: Nuke use of unneeded BSDisms.
1889
8b19b43d
CF
18902003-03-02 Christopher Faylor <cgf@redhat.com>
1891
1892 * dll_init.cc (dll_list::load_after_fork): Don't revert to LoadLibrary
1893 if LoadLibraryEx fails.
1894 * dtable.cc (dtable::dec_console_fds): Eliminate.
1895 (dtable::release): Don't treat console specially.
1896 (dtable::build_fhandler): Ditto.
1897 * dtable.h (console_fds): Eliminate.
1898 (dtable::dec_console_fds): Eliminate.
1899 (dtable::inc_console_fds): Eliminate.
1900 * fhandler.h (fhandler_console::open_fhs): New static element.
1901 * fhandler_console.cc (fhandler_console::open): Increment open_fs.
1902 (fhandler_console::close): Call FreeConsole if no more open consoles
1903 and ctty is not associated with the console.
1904 * syscalls.cc (setsid): Simplify check for when to call FreeConsole.
1905 (check_pty_fds): Eliminate definition.
1906 * winsup.h (check_pty_fds): Eliminate declaration.
1907
3efc65f7
CF
19082003-03-02 Christopher Faylor <cgf@redhat.com>
1909
1910 * dll_init.cc (dll_list::load_after_fork): Fix typo where result of
1911 LoadLibrary was ignored.
1912
5a082e9e
CV
19132003-03-01 Corinna Vinschen <corinna@vinschen.de>
1914
1915 * fhandler_socket.cc (fhandler_socket::bind): Open and write socket
1916 file using Win32 calls.
1917
9d913f07
CV
19182003-03-01 Corinna Vinschen <corinna@vinschen.de>
1919
1920 * fhandler_socket.cc (get_inet_addr): Open and read socket file using
1921 Win32 calls.
1922
005c3065
CF
19232003-02-28 Christopher Faylor <cgf@redhat.com>
1924
1925 * cygwin.din: Wrap atexit and exit with cygwin, thread-safe functions.
1926 * dcrt0.cc (cygwin_atexit): New function.
1927 (cygwin_exit): Ditto.
1928
27b4082a
PH
19292003-02-28 Pierre Humblet <pierre.humblet@ieee.org>
1930
1931 * syscalls.cc (fstat64): Pass get_name () to pc.
005c3065 1932 (access): Pass fn to stat_worker.
27b4082a
PH
1933
19342003-03-27 Corinna Vinschen <corinna@vinschen.de>
5777b970
CV
1935
1936 * fhandler_socket.cc (class sock_event): New class managing Winsock
1937 events for interruptible socket calls.
1938 (fhandler_socket::connect): Move support for interruptible call to
1939 class sock_event. Use class object instead.
1940 (fhandler_socket::accept): Ditto. Remove useless casts.
1941
005c3065 19422003-03-27 Thomas Pfaff <tpfaff@gmx.net>
5777b970
CV
1943
1944 * fhandler_socket.cc (fhandler_socket::connect): Add support for
1945 an interruptable connect.
1946
7b2ce663
CV
19472003-02-27 Pierre Humblet <pierre.humblet@ieee.org>
1948
1949 * uinfo.cc (internal_getlogin): Only update user.groups.pgsid
1950 if the call to set the primary group succeeds.
1951
0e7a60fe
CF
19522003-02-27 Christopher Faylor <cgf@redhat.com>
1953
1954 * cygthread::detach: Improve error message.
1955
61a52599
CV
19562003-02-26 Pierre Humblet <pierre.humblet@ieee.org>
1957
1958 * sec_helper.cc (get_sids_info): debug_print owner_sid and group_sid.
1959
6b9a9ce6
CV
19602003-02-25 Corinna Vinschen <corinna@vinschen.de>
1961
1962 * mmap.cc (mmap64): Fix returned address by taking the granularity
1963 into account.
1964
1ffc44aa
PH
19652003-02-23 Pierre Humblet <pierre.humblet@ieee.org>
1966
1967 * syslog.cc (syslog): Do not unlock the file before closing it
1968 and remove debug_printf about stream errors.
1969
a066f364
CF
19702003-02-22 Christopher Faylor <cgf@redhat.com>
1971
1972 * cygmalloc.h: Remove MORECORE_CANNOT_TRIM. It's not true.
1973 # cygwin.din: Export mallinfo.
1974 # malloc_wrapper.cc (mallinfo): New function.
1975
878e60c5
CF
19762003-02-22 Pierre Humblet <pierre.humblet@ieee.org>
1977
1978 * syslog.cc (syslog): Do not print the Windows pid. Print the Cygwin
1979 pid as an unsigned decimal. On Win95 print a timestamp and attempt to
1980 lock the file up to four times in 3 ms.
1981
b1d1e50d
CV
19822003-02-21 Corinna Vinschen <corinna@vinschen.de>
1983
1984 * fhandler_socket.cc (fhandler_socket::fhandler_socket): Fix compiler
1985 warning.
1986 (fhandler_socket::fstat): Simplify. Set st_uid/st_gid to effective
1987 uid/gid of current process in case of open sockets.
1988
cf762b08
CV
19892003-02-21 Corinna Vinschen <corinna@vinschen.de>
1990
1991 * dtable.cc (dtable::build_fhandler_from_name): Set some fhandler
1992 data on sockets to evaluate AF_LOCAL sockets correctly.
1993 (dtable::build_fhandler): Set unit number on sockets.
1994 * fhandler.h (fhandler_socket): Add unit number.
1995 (fhandler_socket::get_unit): New method.
1996 * fhandler_socket.cc (fhandler_socket::fhandler_socket): Set unit
1997 number.
1998 (fhandler_socket::fstat): Reorganize to return more Linux-like
1999 values.
2000 * net.cc: include ctype.h.
2001 (fdsock): Set unit number when building fhandler.
2002 * path.cc (path_conv::check): Set device type to FH_SOCKET if file
2003 is a AF_UNIX socket.
2004 (get_devn): Evaluate unit for virtual socket devices.
2005 (win32_device_name): Set windows path for sockets to unix_path with
2006 just backslashes to keep the different names.
2007 * syscalls.cc (fstat64): Don't override st_ino, st_dev and st_rdev
2008 for sockets.
2009 (stat_worker): Ditto.
2010
20112003-02-21 Pierre Humblet <pierre.humblet@ieee.org>
2012
2013 * autoload.cc (AccessCheck): Add.
2014 (DuplicateToken): Add.
2015 * security.h (check_file_access): Declare.
2016 * syscalls.cc (access): Convert path to Windows, check existence
2017 and readonly attribute. Call check_file_access instead of acl_access.
2018 * security.cc (check_file_access): Create.
2019 * sec_acl (acl_access): Delete.
2020
5cd82412
CF
20212003-02-19 Christopher Faylor <cgf@redhat.com>
2022
2023 * fhandler.cc (fhandler_base::open): Move some filesystem specific
2024 stuff.
2025 (fhandler_disk_file::open): Accept some filesystem specific stuff.
2026 * sigproc.cc (wait_for_sigthread): Become slightly more thread safe.
2027 (sig_send): Don't assume that signal thread is ready.
2028
892d8962
CV
20292003-02-20 Corinna Vinschen <corinna@vinschen.de>
2030
2031 * wincap.h (wincap): Remove unnecessary definition of
2032 supports_sparse_files.
2033 * wincap.cc: Ditto.
2034
518f5d49
CV
20352003-02-20 Corinna Vinschen <corinna@vinschen.de>
2036
2037 * fhandler_disk_file.cc (fhandler_disk_file::opendir): Check descriptor
2038 created by cygheap_fdnew constructor.
2039 * fhandler_virtual.cc (fhandler_virtual::opendir): Ditto.
2040 * fhandler_socket.cc (fhandler_socket::accept): Ditto and move
2041 creation of file descriptor behind blocking OS call.
2042 * net.cc (cygwin_socket): Ditto.
2043 (cygwin_rcmd): Ditto.
2044 (cygwin_rresvport): Ditto.
2045 (cygwin_rexec): Ditto.
2046 (socketpair): Ditto.
2047
3a88cf1b
CV
20482003-02-20 Corinna Vinschen <corinna@vinschen.de>
2049
2050 * autoload.cc (GetCompressedFileSize): Add.
2051 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Compute
2052 st_blocks value from GetCompressedFileSize() if available.
2053
79207923
CV
20542003-02-18 Vaclav Haisman <V.Haisman@sh.cvut.cz>
2055
2056 * wincap.h (wincaps::supports_sparse_files): New flag.
2057 (wincapc::supports_sparse_files): New method.
2058 * wincap.cc (wincap_unknown): Define value for the new flag.
2059 (wincap_95): Ditto.
2060 (wincap_95osr2): Ditto.
2061 (wincap_98): Ditto.
2062 (wincap_98se): Ditto.
2063 (wincap_me): Ditto.
2064 (wincap_nt3): Ditto.
2065 (wincap_nt4): Ditto.
2066 (wincap_nt4sp4): Ditto.
2067 (wincap_2000): Ditto.
2068 (wincap_xp): Ditto.
2069 * path.h (path_conv::fs_flags): New method.
005c3065
CF
2070 * fhandler_disk_file.cc: Include winioctl.h for DeviceIoControl.
2071 (fhandler_disk_file::open): Set newly created and truncated files as
79207923
CV
2072 sparse on platforms that support it.
2073
afe13e84
CV
20742003-02-17 Pierre Humblet <pierre.humblet@ieee.org>
2075
2076 * grp.cc (internal_getgroups): Handle properly tokens with
2077 no groups. Fix bug introduced on 2003-02-04.
2078
8fc16812
CF
20792003-02-16 Christopher Faylor <cgf@redhat.com>
2080
408e9b2f 2081 * cygwin.din: Export all appropriate newlib libm functions. Sort.
8fc16812
CF
2082 * include/cygwin/version.h: Bump API minor number.
2083
f655eadf
CF
20842003-02-15 Christopher Faylor <cgf@redhat.com>
2085
8fc16812 2086 * cygwin.din: Export all appropriate newlib libc functions.
f655eadf
CF
2087 * include/cygwin/version.h: Bump API minor number.
2088
4d9ba012
CV
20892003-02-14 Jason Tishler <jason@tishler.net>
2090
2091 * mmap.cc (mprotect): Add missing break.
2092
dff01e3a
CF
20932003-02-13 Christopher Faylor <cgf@redhat.com>
2094
2095 * exceptions.cc (try_to_debug): Don't reset priority when returning
2096 from non-waitloop call.
d1d1797e
CF
2097
20982003-02-13 Vaclav Haisman <V.Haisman@sh.cvut.cz>
005c3065 2099 Christopher Faylor <cgf@redhat.com>
d1d1797e
CF
2100
2101 * fhandler_console.cc (fhandler_console::write_normal): Use MessageBeep
2102 for bell sound.
2103 * autoload.cc (MessageBeep): Add.
2104
97c61aeb
CF
21052003-02-13 Christopher Faylor <cgf@redhat.com>
2106
2107 * include/cygwin/types.h: Use correct ifdef guard for u_ definitions.
2108
a200c081
CF
21092003-02-13 Christopher Faylor <cgf@redhat.com>
2110
2111 * environ.cc (environ_init): Use strechr.
2112
2858de3a
CF
21132003-02-13 Christopher Faylor <cgf@redhat.com>
2114
2115 * include/cygwin/in.h (sockaddr_in): Fix typo.
2116
75c8a70c
CF
21172003-02-12 Christopher Faylor <cgf@redhat.com>
2118
2119 * path.h (path_conv): Reorganize slightly.
2120
939d19b0
CF
21212003-02-12 Christopher Faylor <cgf@redhat.com>
2122
2123 * fhandler_tty.cc (process_input): Add sanity check to ensure that
2124 console typeahead is cleared on signal.
2125
7a44ba05
CF
21262003-02-12 Christopher Faylor <cgf@redhat.com>
2127
2128 * spawn.cc (linebuf::~linebuf): Resurrect commented out (for
2129 debugging?) code.
2130
407b8df6
CF
21312003-02-10 Ralf Habacker <ralf.habacker@freenet.de>
2132
2133 * include/cygwin/in.h (in_attr_t): Define new type.
2134 * include/arpa/inet.h (inet_addr): Change return type to in_addr_t.
2135 (inet_lnaof): Ditto.
2136 (inet_netof): Ditto.
2137 (inet_network): Ditto.
2138
21392003-02-10 Christopher Faylor <cgf@redhat.com>
2140
2141 * include/cygwin/types.h: Move many *_t typedefs here. Protect them
2142 with ifdefs.
2143 * fhandler_disk_file.cc (fhandler_disk_file::fstat): Change ntsec_atts to mode_t.
2144 * security.cc (get_attribute_from_acl): Accept mode_t attribute.
2145 (get_nt_attribute): Ditto.
2146 (get_file_attribute): Ditto.
2147 (get_nt_object_attribute): Ditto.
2148 (get_object_attribute): Ditto.
2149 * security.h: Reflect above changes.
2150 * syscalls.cc (chown_worker): Change attrib to mode_t.
2151
ad80bc42
CF
21522003-02-08 Christopher Faylor <cgf@redhat.com>
2153
67c64e3b 2154 * include/cygwin/version.h: Bump DLL minor number to 21.
ad80bc42
CF
2155
21562003-02-07 Christopher Faylor <cgf@redhat.com>
2157
2158 * malloc.cc (DEFAULT_MMAP_THRESHOLD): Bump down to 16MB thanks to below
2159 changes.
2160
4136fdb1
CV
21612003-02-07 Corinna Vinschen <corinna@vinschen.de>
2162
2163 * mmap.cc (mmap_record::alloc_map): De-inline. Add offset and length
2164 parameter. Only protect pages actually unused currently. Do job
2165 of map_map() when initializing a map.
2166 (mmap_record::map_map): Reduce functionality for the reuse case
2167 of private anonymous mapping.
2168 (mmap_record::fixup_map): Format change.
2169 (list::add_record): Add offset and length parameter to call
2170 mmap_record::alloc_map() correctly.
2171 (mmap64): Rename `l' variable to `map_list'. Accomodate above changes.
2172 (munmap): Rename `l' variable to `map_list'.
2173 (msync): Ditto.
2174 (fhandler_disk_file::mmap): Streamline code.
2175 (mprotect): Ditto.
2176 (fixup_mmaps_after_fork): Rename `l' variable to `map_list'.
2177
49b84ce4
CF
21782003-02-07 Vaclav Haisman <V.Haisman@sh.cvut.cz>
2179 Christopher Faylor <cgf@redhat.com>
2180
2181 * exceptions.cc (try_to_debug): Set priority of current thread rather
2182 than the main thread. Make busy waiting loop less busy. Restore
2183 priority when function returns.
2184
bc5b63ed
CF
21852003-02-07 Christopher Faylor <cgf@redhat.com>
2186
2187 * malloc.cc (DEFAULT_MMAP_THRESHOLD): Set high to avoid mmaps.
2188
21892003-02-07 Christopher Faylor <cgf@redhat.com>
2190
2191 * pipe.cc (fhandler_pipe::close): Avoid extraneous this->.
2192
1de8d164
CF
21932003-02-06 Christopher Faylor <cgf@redhat.com>
2194
2195 * heap.cc (heap_init): Remove debugging code.
2196
565e8015
CV
21972003-02-06 Pierre Humblet <pierre.humblet@ieee.org>
2198
2199 * security.h: Introduce names UNKNOWN_UID and UNKNOWN_GID and delete
1de8d164 2200 declaration of is_grp_member.
565e8015
CV
2201 * uinfo.cc (internal_getlogin): Use UNKNOWN_GID.
2202 * passwd.cc (pwdgrp::read_passwd): Use UNKNOWN_UID.
2203 * grp.cc (pwdgrp::read_group): Change group name to provide better
2204 feedback.
2205 (getgrgid): Use gid16togid32.
2206 * sec_helper.cc (is_grp_member): Delete.
2207
d238c1b4
CF
22082003-02-05 Christopher Faylor <cgf@redhat.com>
2209
2210 * path.cc: Change 'to_posix_p' to 'to_posix' throughout.
2211 (conv_path_list_buf_size): Accommodate relative paths.
2212
b7f52fe8
CF
22132003-02-05 Christopher Faylor <cgf@redhat.com>
2214
2215 * path.cc (etc::dir_changed): Fix debug printf.
2216
62cd433e
CV
22172003-02-05 Corinna Vinschen <corinna@vinschen.de>
2218
2219 * sec_acl.cc (setacl): Move all permission settings to beginning of
2220 loop. Set default rights to same values as in alloc_sd(). Set DELETE
2221 for owner and default owner only if S_IWOTH is given.
2222
22232003-02-05 Pierre Humblet <pierre.humblet@ieee.org>
2224
2225 * sec_acl.cc: Change all __aclent16_t to __aclent32_t except in
2226 wrapper function definitions. Replace call to the aclXYZ functions by
2227 calls aclXYZ32.
2228 (searchace): Change type of third argument to __uid32_t and use
2229 ILLEGAL_UID instead of -1;
2230 (setacl): Remove some initializations. Only give STANDARD_RIGHTS_WRITE
2231 for S_IWOTH. Replace -1 by ILLEGAL_UID.
2232 (getacl): Change type of owner_sid, group_sid and ace_sid to cygpsid.
2233 In last else clause, suppress second call to ace_sid.get_id and use
2234 TRUE in first call. Replace EqualSid by ==.
2235 (acl_access): Call internal_getgroups in USER and GROUP cases.
2236 (acecmp: Define static.
2237 (acl32): Create from 16 bit type.
2238 (facl32): Ditto.
2239 (lacl32): Ditto.
2240 (aclcheck32): Ditto.
2241 (aclsort32): Ditto.
2242 (acltomode32): Ditto.
2243 (aclfrommode32): Ditto.
2244 (acltopbits32): Ditto.
2245 (aclfrompbits32): Ditto.
2246 (acltotext32): Ditto.
2247 (aclfromtext32): Ditto, and use strechr.
2248 (acl16to32): Create.
2249 (acl): Make it a wrapper function.
2250 (facl): Ditto.
2251 (lacl): Ditto.
2252 (aclcheck): Ditto.
2253 (aclsort): Ditto.
2254 (acltomode): Ditto.
2255 (aclfrommode): Ditto.
2256 (acltopbits): Ditto.
2257 (aclfrompbits): Ditto.
2258 (acltotext): Ditto.
2259 (aclfromtext): Ditto.
2260 * security.cc (write_sd): Call set_process_privilege and check
2261 ownership.
2262 (alloc_sd): Remove call to set_process_privilege and the owner check.
2263
cadd065b
CF
22642003-02-05 Christopher Faylor <cgf@redhat.com>
2265
2266 * include/sys/cygwin.h: Use C-style comments.
2267
0c8455c3
CV
22682003-02-05 Pierre Humblet <pierre.humblet@ieee.org>
2269
2270 * sec_helper.cc (get_sids_info): New function.
2271 * security.cc (extract_nt_dom_user): Simplify with strechr.
2272 (get_user_groups): Initialize glen to MAX_SID_LEN.
2273 (get_user_local_groups): Ditto.
2274 (get_attribute_from_acl): Define ace_sid as cygpsid.
2275 (get_nt_attribute): Define owner_sid and group_sid as cygpsid.
2276 Call get_sids_info instead of cygsid.get_{u,g}id and is_grp_member.
2277 (get_nt_object_attribute): Ditto.
2278 (alloc_sd): Define ace_sid as cygpsid.
2279
5ae9331a
TP
22802003-02-04 Thomas Pfaff <tpfaff@gmx.net>
2281
2282 * syscalls.cc (struct system_cleanup_args): New struct.
2283 (system_cleanup): New function.
2284 (system): Use pthread_cleanup_push and _pop to save and restore
2285 signal handlers and sigprocmask.
2286
3dbafd87
CV
22872003-02-04 Corinna Vinschen <corinna@vinschen.de>
2288
2289 * path.cc (symlink): Create security attributes so that only the
2290 user can modify the symlink.
2291 * security.cc (set_security_attribute): Remove symlink special
2292 handling.
2293
0daf2561
CV
22942003-02-04 Pierre Humblet <pierre.humblet@ieee.org>
2295
2296 * grp.cc (internal_getgroups): Do not return without closing
2297 the process handle.
2298
4a21c2d5
CV
22992003-02-04 Pierre Humblet <pierre.humblet@ieee.org>
2300
2301 * security.h (class cygpsid): New class.
2302 (class cygsid): Use cygpsid as base. Remove members psid, get_id,
2303 get_uid, get_gid, string, debug_printf and the == and != operators.
2304 (cygsidlist::clear_supp): Only do work if setgroups has been called.
2305 * sec_helper.cc: Define sid_auth NO_COPY.
2306 (cygpsid::operator==): New operator.
2307 (cygpsid::get_id): New function.
2308 (cygpsid::string): New function.
2309 (cygsid::string): Delete.
2310 (cygsid::get_id): Delete.
2311 * pwdgrp.h: Change arguments of internal_getpwsid,
2312 internal_getgrsid and internal_getgroups to cygpsid.
2313 * passwd.cc (internal_getpwsid): Change argument from cygsid to cygpsid.
d238c1b4 2314 * grp.cc (internal_getgrsid): Ditto.
4a21c2d5
CV
2315 (internal_getgroups): Ditto.
2316
335556d5
CF
23172003-02-03 Christopher Faylor <cgf@redhat.com>
2318
2319 Eliminate most unneeded this-> pointers throughout.
2320
153e83c6
CV
23212003-02-03 Pierre Humblet <pierre.humblet@ieee.org>
2322
2323 * security.h: Add third argument to set_process_privilege.
2324 * autoload.cc: Add OpenThreadToken.
2325 * sec_helper.cc (set_process_privilege): Add and use use_thread
2326 argument.
2327 * security.cc (alloc_sd): Modify call to set_process_privilege.
2328 Remember the result in each process. If failed and file owner is not
2329 the user, fail.
2330
f0f3ea68
CV
23312003-02-03 Corinna Vinschen <corinna@vinschen.de>
2332
2333 * fhandler_socket.cc (fhandler_socket::recvfrom): Return buffer
2334 length and don't set errno in case of WSAEMSGSIZE error.
2335 (fhandler_socket::recvmsg): Ditto.
2336
6688a061
CF
23372003-02-01 Christopher Faylor <cgf@redhat.com>
2338
2339 * grp.cc (getgrent32): Only refresh group entries when at beginning.
2340 (internal_getgrsid): Only refresh if uninitialized.
2341 (internal_getgrent): Ditto.
2342 * passwd.cc (getpwent): Only refresh passwd entries when at beginning.
2343 (pwdgrp::read_passwd): linebuf *cannot* be NO_COPY.
2344 (internal_getpwsid): Only refresh if uninitialized.
2345 (getpass): No need to refresh passwd data here.
2346 * pwdgrp.h (refresh): Eliminate default.
2347
a5a93a62
CF
23482003-01-31 Christopher Faylor <cgf@redhat.com>
2349
2350 * dlfcn.cc (dlerror): Only report load errors once per error.
2351
b0a82a85
CF
23522003-01-31 Christopher Faylor <cgf@redhat.com>
2353
2354 * fhandler_serial.cc (fhandler_serial::open): Avoid extraneous setting
2355 of res.
2356
2357 * termios.cc (tcsetattr): Correctly record errno after tcsetattr call.
2358
23592003-01-31 Troy Curtiss <troyc@usa.net>
2360
2361 * fhandler_serial.cc (fhandler_serial::tcsetattr): Add error-checking
2362 so that if any Win32 SetComm*() calls fail, errno gets set to EINVAL
2363 and tcsetattr() returns -1. Catch invalid bitrates, mostly. If baud
2364 rate setting is B0, just drop DTR and leave Win32 DCB bitrate as-is
2365 since 0 is not a valid Win32 setting.
2366 (fhandler_serial::tcgetattr): If DTR is low, populate the bitrate as
2367 B0, otherwise get it from the DCB.
2368
949c3da1
CF
23692003-01-31 Christopher Faylor <cgf@redhat.com>
2370
2371 * passwd.cc (pwdgrp::read_passwd): linebuf *must* be static (from
2372 Pierre Humblet).
2373 * pwdgrp.h (pwdgrp::refresh): Avoid calling read function if we already
2374 have lock since that means we are in the process of reading the file.
2375
485d85bf
CF
23762003-01-31 Jason Tishler <jason@tishler.net>
2377
2378 * shared.cc (shared_info::heap_chunk_size): Use correct variable when
2379 reading HKLM.
2380
704ce461
CF
23812003-01-30 Christopher Faylor <cgf@redhat.com>
2382
2383 * fhandler_registry.cc (fhandler_registry::exists): Fix off-by-one
2384 error when inspecting path.
2385
ba6e1083
CF
23862003-01-29 Christopher Faylor <cgf@redhat.com>
2387
2388 * lib/getopt.c: Allow environment variable control of POSIXLY_INCORRECT
2389 behavior.
2390
23912003-01-28 Corinna Vinschen <corinna@vinschen.de>
01e3c897
CV
2392
2393 * fhandler_socket.cc (fhandler_socket::accept): On successful execution
2394 set connection state of returned socket to CONNECTED.
2395
dfb366da
CF
23962003-01-27 Christopher Faylor <cgf@redhat.com>
2397
2398 * passwd.cc (pwdgrp::parse_passwd): Be more unforgiving about
2399 non-numeric fields.
2400
03dba1de
CF
24012003-01-26 Christopher Faylor <cgf@redhat.com>
2402
2403 * uinfo.cc (pwdgrp::next_num): Remove check for NULL since it is no
2404 longer a valid return from next_str.
2405 (pwdgrp::add_line): Duh. Revert to use strchr.
2406
fea48988
CF
24072003-01-26 Christopher Faylor <cgf@redhat.com>
2408
ca6018a0 2409 * string.h (strechr): New function.
fea48988
CF
2410 * uinfo.cc (pwdgrp::next_str): Search only for input char in string.
2411 Return EOS on failure. Don't check for NULL since it shouldn't be
2412 possible.
2413 (pwdgrp::add_line): Revert to replacing '\n' in input line with '\0'.
2414 (pwdgrp::next_num): Pass explicit separator character to next_str.
2415 * grp.cc (pwdgrp::parse_group): Ditto.
2416 * passwd.cc (pwdgrp::parse_passwd): Ditto. Revamp test for garbage
2417 input.
2418 * pwdgrp.h (pwdgrp::next_str): Don't use default parameter.
2419
9a751621
CF
24202003-01-26 Christopher Faylor <cgf@redhat.com>
2421
2422 * uinfo.cc (pwdgrp::load): Regularize strace output. Add warning for
2423 CreateFile failure.
2424
c9133395
CF
24252003-01-26 Christopher Faylor <cgf@redhat.com>
2426
bdbd7fb6
CF
2427 * passwd.cc (pwdgrp::parse_passwd): Eliminate use of memset. The
2428 structure should always be completely filled out.
2429 * grp.cc (pwdgrp::parse_group): Ditto.
2430
24312003-01-26 Christopher Faylor <cgf@redhat.com>
2432
2433 * grp.cc (pwdgrp::parse_group): Fix off-by-one problem in allocating
c9133395 2434 gr_mem.
65037056
CF
2435
24362003-01-26 Christopher Faylor <cgf@redhat.com>
2437
2438 * include/sys/strace.h (paranoid_printf): Define as not being part of
2439 "all" output.
2440
24412003-01-25 Christopher Faylor <cgf@redhat.com>
2442
2443 * pwdgrp.h (pwdgrp::next_num): Rename from next_int. Returns
2444 true/false if parse operation succeeded.
2445 (pwdgrp::reparse): Remove.
2446 (pwdgrp::raw_ptr): New function. Returns pointer in line.
2447 (pwdgrp::next_num): New functions for parsing other than unsigned long.
2448 * grp.cc (pwdgrp::parse_group): Reinstate previous parsing behavior.
2449 Don't fill in fields with NULL and assign empty gr_mem to known pointer
2450 rather than doing a pointless calloc. Streamline gr_mem parsing.
2451 Don't increment curr_lines here.
2452 * passwd.cc (pwdgrp::parse_passwd): Use new behavior of next_num.
2453 Don't increment curr_lines here.
2454 * uinfo.cc (pwdgrp::next_str): Keep returning EOL if out of data.
2455 (pwdgrp::reparse): Remove.
2456 (pwdgrp::next_num): Rename from next_int. Return bool indicating
2457 success of parse, argument returns value parsed.
2458 (pwdgrp::add_line): Increment curr_lines here on successful parse.
2459 (pwdgrp::load): (from Pierre Humblet) Don't return status. Just report
2460 it here.
2461
a53ddfe6
CF
24622003-01-25 Christopher Faylor <cgf@redhat.com>
2463
2464 * pwdgrp.cc (pwdgrp::reparse): Declare.
2465 * uinfo.cc (pwdgrp::reparse): Define.
c9b99d0d 2466 * grp.cc (pwdgrp::parse_group): Use reparse.
a53ddfe6 2467
4f7e12dd
CV
24682003-01-25 Pierre Humblet <pierre.humblet@ieee.org>
2469
2470 * syscalls.cc (seteuid32): On Win95 get the pw entry. If it exists
2471 update the euid and call cygheap->user.set_name. Remove special
2472 handling of ILLEGAL_UID.
ba6e1083 2473 (setgid32): Add a debug_printf. On Win95, always set the egid.
4f7e12dd
CV
2474 Remove special handling of ILLEGAL_GID. Do not compare gid and gr_gid.
2475 * child_info.h (class cygheap_exec_info): Remove uid.
2476 * spawn.cc (spawn_guts): Do not set ciresrv.moreinfo->uid.
2477 * dcrto.cc (dll_crt0_1): Always call uinfo_init.
2478 * uinfo.cc (uinfo_init): Reorganize and close handle if needed.
2479 (cygheap_user::ontherange): Do not call internal_getpwnam if pw is NULL.
2480
45dbfc26
CF
24812003-01-24 Christopher Faylor <cgf@redhat.com>
2482
2483 * fhandler_console.cc (fhandler_console::send_winch_maybe): Reset
2484 scroll region if size changes.
2485
7d33eefa
CV
24862003-01-24 Pierre Humblet <pierre.humblet@ieee.org>
2487 Jason Tishler <jason@tishler.net>
2488
2489 * cygwin.din: Export setreuid32, setreuid, setregid32, setregid.
2490 * syscalls.cc (setreuid32): New function.
2491 (setreuid): Ditto.
2492 (setregid32): Ditto.
2493 (setregid): Ditto.
2494 * include/cygwin/version.h: Bump API minor number.
2495
ac413374 24962003-01-23 Christopher Faylor <cgf@redhat.com>
69fae986 2497
ac413374 2498 * pwdrp.h (pwdgrp::refresh): Lock entire test prior to reading.
2037688a 2499
ac413374 25002003-01-23 Christopher Faylor <cgf@redhat.com>
09a88426
CF
2501
2502 * grp.cc (pwdgrp::parse_group): Eliminate arg and use class member
2503 instead. Use next_str and next_int to parse arguments.
2504 * passwd.cc (pwdgrp::parse_passwd): Ditto.
2505 (grab_string): Eliminate.
2506 (grab_int): Ditto.
2507 * pwdgrp.h (pwdgrp::parse): Eliminate input arg.
2508 (pwdgrp::parse_passwd): Reflect above change.
2509 (pwdgrp::parse_group): Reflect above change.
2510 (pwdgrp::next_str): New function.
2511 (pwdgrp::next_int): Ditto.
2512 (pwdgrp::gets): Eliminate.
2513 * uinfo.cc (pwdgrp::next_str): New function.
2514 (pwdgrp::next_int): Ditto.
2515 (pwdgrp::add_line): Subsume gets.
2516 (pwdgrp::gets): Eliminate.
2517 (pwdgrp::load): Just call add_line to parse input buffer.
2518
ac413374
CF
25192003-01-22 Thomas Pfaff <tpfaff@gmx.net>
2520
2521 * include/pthread.h (PTHREAD_MUTEX_RECURSIVE): Revert changes from
2522 2003-01-09 mutex patch.
2523 (PTHREAD_MUTEX_ERRORCHECK): Ditto.
2524
25252003-01-22 Corinna Vinschen <corinna@vinschen.de>
2526
2527 * cygrun.c: Move from here to ../testsuite.
2528 * Makefile.in: Remove cygrun.exe dependencies.
2529
25302003-01-21 Jason Tishler <jason@tishler.net>
2531
2532 * cygwin.din: Export nanosleep().
2533 * signal.cc (nanosleep): New function.
2534 (sleep): Move old functionality to nanosleep(). Call nanosleep().
2535 (usleep): Remove old functionality. Call nanosleep().
2536 * include/cygwin/version.h: Bump API minor number.
2537
57394495
CF
25382003-01-21 Christopher Faylor <cgf@redhat.com>
2539
2540 * grp.cc: Call gr.refresh() rather than doing isunitialized tests
2541 throughout.
2542 (gr): Use constructor (sigh).
2543 (pwdgrp::parse_group): Rename from parse_grp.
2544 (pwdgrp::read_group): Rename from read_etc_group. Just call gr.load
2545 with a single argument.
2546 * passwd.cc: Call pr.refresh() rather than doing isunitialized tests
2547 throughout.
2548 (pr): Use constructor (sigh).
2549 (pwdgrp::parse_passwd): Rename from "parse_pwd".
2550 (pwdgrp::read_passwd): Rename from read_etc_passwd. Just call pr.load
2551 with a single argument.
2552 * pwdgrp.h (pwdgrp_state): Eliminate.
2553 (pwdgrp): Reflect above renamings.
2554 (pwdgrp::etc_ix): Rename from pwd_ix.
2555 (pwdgrp::read): New element.
2556 (pwdgrp::lock): New element.
2557 (pwdgrp::refresh): New function.
2558 (pwdgrp::load): Eliminate variations which take buffer arguments.
2559 (pwdgrp::pwdgrp): New constructors. Initialize mutex here.
2560 * uinfo.cc (pwdgrp::load): Accommodate pwd_ix -> etc_ix renaming.
2561 (pwdgrp::load): Set initialized state to true rather than setting state
2562 to loaded.
2563
984864e9
CF
25642003-01-21 Christopher Faylor <cgf@redhat.com>
2565
89f7e8d1 2566 * include/cygwin/version.h: Bump DLL minor number.
984864e9 2567
d8cde3a3
CF
25682003-01-21 Pierre Humblet <pierre.humblet@ieee.org>
2569
2570 * path.h (etc::change_possible): Revert the type to bool.
2571 (etc::set_last_modified): Remove obsolete function.
2572 * path.cc (etc::change_possible): Revert type to bool.
2573 (etc::test_file_change): Do not test for negative values of
2574 change_possible and do not set it to -res.
2575 (etc::dir_changed): When the handle is NULL, call memset instead of
09a88426
CF
2576 test_file_changed. When the handle is invalid, return true. Detect
2577 filename change in /etc.
d8cde3a3 2578 (etc::file_changed): Remove unneeded check for !fn[n].
33de631b 2579 * uinfo.cc (pwdgrp::load): Eliminate spurious setting of fh to NULL.
b99b804b 2580 * pwdgrp.h (pwdgrp::operator =): Eliminate.
d8cde3a3 2581
7905c4f1
CF
25822003-01-19 Christopher Faylor <cgf@redhat.com>
2583
2584 * pwdgrp.h (etc): Move to path.h.
2585 (pwdgrp::max_lines): New field.
2586 (pwdgrp::curr_lines): New field.
2587 (pwdgrp::pwdgrp_buf): Ditto.
2588 (pwdgrp_buf_elem_size): Ditto.
2589 (pwdgrp_parse): Ditto.
2590 (pwdgrp::gets): Just declare here.
2591 (pwdgrp::load): Ditto. Just take one argument.
2592 (pwdgrp::load): Define overloaded function accepting passwd buf.
2593 (pwdgrp::load): Define overloaded function accepting group buf.
2594 * grp.cc: Use pwdgrp elements rather than standalone static variables
2595 throughout.
2596 (curr_lines): Eliminate.
2597 (max_lines): Ditto.
2598 (add_grp_line): Ditto.
2599 (parse_grp): Define as returning boolean. Accept void * arg and line
2600 count. Coerce first argument into __group32 buf reference. Increment
2601 curr_line as appropriate.
2602 (read_etc_group): Pass pwdgrp buffer to gr.load.
2603 * passwd.cc: Use pwdgrp elements rather than standalone static variables
2604 throughout.
2605 (curr_lines): Eliminate.
2606 (max_lines): Ditto.
2607 (add_grp_line): Ditto.
2608 (parse_passwd): Define as returning boolean. Accept void * arg and line
2609 count. Coerce first argument into passwd buf reference. Increment
2610 curr_line as appropriate.
2611 (read_etc_group): Pass pwdgrp buffer to pr.load.
2612 * path.cc (etc::fn): Extend buffer size to allow index by 1 rather than
2613 zero.
2614 (etc::last_modified): Ditto.
2615 (etc::change_possible): Ditto. Renamed from sawchange. Change to
2616 signed char since elements are now tri-state.
2617 (etc::init): Assume "handle" is 1 based rather than 0.
2618 (etc::test_file_change): New function. Sets change_possible based on
2619 file date comparison.
2620 (etc::dir_changed): Check file states immediately after changed_h is
2621 initialized to avoid a race.
2622 (etc::file_changed): Use test_file_change to detect if file needs to be
2623 updated.
2624 * path.h (etc): Move class here from pwdgrp.h.
7905c4f1
CF
2625 * uinfo.cc: Move etc:: functions to path.cc. Move pwdgrp functions
2626 here.
2627 (pwdgrp::gets): Eliminate buf checks. Just check eptr and set lptr.
2628 (pwdgrp::add_line): New function.
2629 (pwdgrp::load): Call generic add_line function which will call correct
2630 parser.
2631
4c6a3e50
CF
26322003-01-17 Christopher Faylor <cgf@redhat.com>
2633
2634 * cygheap.cc: Change most 'int's to 'unsigned's.
2635 (_cmalloc): Only check for size of malloced region when calculating
97d2bc79 2636 bucket. Add overhead when performing the sbrk. Previous change broke
4c6a3e50
CF
2637 _crealloc.
2638
e9152439
CF
26392003-01-17 Christopher Faylor <cgf@redhat.com>
2640
2641 * dcrt0.cc (initialize_env): Use colon for CYGWIN_DEBUG separator.
2642 * grp.cc: Change most statics to NO_COPY throughout.
2643 * passwd.cc: Ditto.
2644
26452003-01-17 Christopher Faylor <cgf@redhat.com>
2646
2647 * pwdgrp.h: Change some BOOLs to bools.
2648 (pwdgrp::pwdgrp): Remove unneeded constructor.
2649 * passwd.cc: Change BOOL to bool throughout.
2650
afa378e7
CV
26512003-01-17 Corinna Vinschen <corinna@vinschen.de>
2652
2653 * cygwin.din: Add strerror_r.
2654 * include/cygwin/version.h: Bump API minor number.
2655
1de6f431
CF
26562003-01-17 Christopher Faylor <cgf@redhat.com>
2657
2658 * uinfo.cc (etc::dir_changed): Don't print a warning if can't open
2659 /etc, unless debugging.
2660
d8cde3a3 26612003-01-17 Pierre Humblet <pierre.humblet@ieee.org>
14ea5029
CF
2662
2663 * grp.cc (read_etc_group): On NT, add a line for gid = -1. Change name
2664 "unknown" to "mkgroup".
2665 (internal_getgrgid): Do not return default in nontsec case.
2666 (internal_getgroups): Add argument srchsid and look for it in groups if
2667 not NULL.
2668 * passwd.cc (read_etc_passwd): On NT, add a line for uid = -1. Use
2669 same default uid for Win95 and NT. Call cygheap_user::ontherange to
2670 initialize HOME.
2671
14ea5029
CF
26722003-01-16 Christopher Faylor <cgf@redhat.com>
2673
2674 * cygheap.cc (init_cygheap::etc_changed): Move to uinfo.cc.
2675 * cygheap.h (init_cygheap::etc_changed_h): Remove.
2676 (init_cygheap::etc_changed): Ditto.
2677 * grp.cc (group_state): Remove. Use gr instead throughout.
2678 (gr): Define as class pwdgrp.
2679 (read_etc_group): Remove gr definition. Remove calls to
2680 set_last_modified and close. Pass add_grp to gr.load to load file.
2681 * passwd.cc (passwd_state): Remove. Use pr instead, throughout.
2682 (pr): Define as class pwdgrp.
2683 (read_etc_passwd): Remove pr definition. Remove calls to
2684 set_last_modified and close. Pass add_pwd_line to pr.load to load
2685 file.
2686 * pwdgrp.h (etc): New helper class for pwdgrp.
2687 (pwdgrp): Combine pwdgrp_check and pwdgrp_read into one class. Remove
2688 file_w32 and last_modified fields.
2689 (pwdgrp::set_last_modified): Remove.
2690 (pwdgrp::isinitializing): Remove FindFirstFile stuff. Move to
2691 etc::file_changed.
2692 (pwdgrp::load): Rename from 'open'. Call etc::init to initialize etc
2693 scanning. Close file handle after reading buffer into memory. Parse
2694 buffer by calling second argument.
2695 (pwdgrp::gets): Reorganize slightly to rely on eptr starting at
5304bcdf 2696 beginning of buffer.
14ea5029
CF
2697 (pwdgrp::close): Remove.
2698 * uinfo.cc (etc::dir_changed): New function.
2699 (etc::init): Ditto.
2700 (etc::file_changed): Ditto.
2701 (etc::set_last_modified): Ditto.
2702
41429bc9
CV
27032003-01-16 Jason Tishler <jason@tishler.net>
2704
2705 * mmap.cc (fixup_mmaps_after_fork): Add ERROR_NOACCESS to the list of
2706 ReadProcessMemory() error codes that trigger a retry with temporary
2707 PAGE_READONLY access. Note that this can occur on NT 4.0.
2708
18813254
CF
27092003-01-15 Christopher Faylor <cgf@redhat.com>
2710
2711 * path.cc (normalize_posix_path): Convert win32 path separators to
2712 slashes when full path is specified.
2713
77cb0c56
CF
27142003-01-15 Pierre Humblet <pierre.humblet@ieee.org>
2715
2716 * cmalloc.cc (_cmalloc): Fix memory leak.
2717
ce542f78
CV
27182003-01-15 Corinna Vinschen <corinna@vinschen.de>
2719
2720 * autoload.cc: Fix copyright date.
2721 * fhandler_dsp.cc: Ditto.
2722 * mmap.cc: Ditto.
2723 * net.cc: Ditto.
2724 * ntdll.h: Ditto.
2725 * signal.cc: Ditto.
2726 * syscalls.cc: Ditto.
2727 * uname.cc: Ditto.
2728 * wait.cc: Ditto.
2729
15996b6f
CV
27302003-01-14 Corinna Vinschen <corinna@vinschen.de>
2731
2732 * mmap.cc (fixup_mmaps_after_fork): Copy protection to child process.
2733 Change ambiguous debug output.
2734
857b65dd
CV
27352003-01-14 Corinna Vinschen <corinna@vinschen.de>
2736
2737 * mmap.cc (mmap_record::access): Change argument type to caddr_t
2738 for strictness.
2739 (mprotect): Protect against calling VirtualProtect() for shared
2740 pages on 9x/Me.
2741 (fixup_mmaps_after_fork): If ReadProcessMemory() fails, try to
2742 change protection of parent page to PAGE_READONLY, then try again.
2743 Revert protection afterwards.
2744
e14328f4
TP
27452003-01-14 Thomas Pfaff <tpfaff@gmx.net>
2746
2747 * syscalls.cc (system): Add pthread_testcancel call.
2748 * thread.cc: Update list of cancellation points.
2749
4a3584c8
TP
27502003-01-14 Thomas Pfaff <tpfaff@gmx.net>
2751
2752 * wait.cc: Include thread.h
2753 (wait4): Add pthread_testcancel call.
2754 Wait for child process and cancellation event.
2755 * thread.cc: Update list of cancellation points.
2756
7ec66a2c
TP
27572003-01-14 Thomas Pfaff <tpfaff@gmx.net>
2758
2759 * signal.cc (sleep): Add pthread_testcancel call.
2760 Wait for signal and cancellation event.
2761 (usleep): Ditto.
2762
27632003-01-14 Thomas Pfaff <tpfaff@gmx.net>
3457ce4d
TP
2764
2765 * exceptions.cc (handle_sigsuspend): Add pthread_testcancel call.
2766 Wait for signal and cancellation event.
2767 * thread.cc: Update list of cancellation points.
2768
2673d5f2
CF
27692003-01-14 David Huang <davehzhr@hotmail.com>
2770
2771 * fhandler_dsp.cc (fhandler_dsp::ioctl): Add limited support for
2772 SNDCTL_DSP_GETFMTS.
2773
9f0d3f37
CF
27742003-01-12 Christopher Faylor <cgf@redhat.com>
2775
2776 * ntdll.h: Fix typo.
2777
7f129d87
CV
27782003-01-12 Corinna Vinschen <corinna@vinschen.de>
2779
2780 * uname.cc (uname): Use cygwin_gethostname() to retrieve hostname.
2781
ab2dbccc
CV
27822003-01-12 Pierre Humblet <pierre.humblet@ieee.org>
2783
2784 * sec_acl.cc (search_ace): Use id == -1, instead of < 0, as wildcard.
2785 (setacl): Start the search for a matching default at the next entry.
2786 Invalidate the type of merged entries instead of clearing it.
2787 Use well_known_creator for default owner and owning group and do
2788 not try to merge non-default and default entries in these cases.
2789 (getacl): Recognize well_known_creator for default owner and group.
2790 (acl_worker): Improve errno settings and streamline the nontsec case.
2791 * security.cc (write_sd): Remove the call to set_process_privilege.
2792 (alloc_sd): If the owner changes, call set_process_privilege and return
2793 immediately on failure. Change inheritance rules: on new directories add
2794 inherit only allow ACEs for creator_owner, creator_group and everyone.
2795 Preserve all inheritances through chmod and chown calls. Introduce
2796 isownergroup to implement the uid == gid case, to keep the inheritance
2797 code simple. Do not initialize owner_sid and group_sid and stop using
2798 the variable psd.
2799
68115c74
CF
28002003-01-10 Christopher Faylor <cgf@redhat.com>
2801
2802 * net.cc: Use gethostname define from winsock2.h.
2803
e3abf986
CF
28042003-01-10 Christopher Faylor <cgf@redhat.com>
2805
2806 * path.cc: Unrevert below reversion except for
2807 mount_info::conv_to_posix_path part.
2808
df2caa88
CV
28092003-01-10 Corinna Vinschen <corinna@vinschen.de>
2810
2811 * path.cc: Revert patch from 2003-01-09 to normalize a windows path
2812 rather than converting to posix.
2813
dc8d11f5
CV
28142003-01-10 Corinna Vinschen <corinna@vinschen.de>
2815
2816 * autoload.cc (gethostname): Make call optional, return 1 if function
2817 can't get loaded.
2818 * net.cc (cygwin_gethostname): Call GetComputerName if return value
2819 of gethostname is non-zero.
2820
70d61f30
CV
28212003-01-10 Charles Wilson <cwilson@ece.gatech.edu>
2822
8735f49f 2823 * cygwin.din: Add asprintf and vasprintf, as well as the reentrant
70d61f30 2824 versions and underscore variants.
8735f49f 2825 * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR.
70d61f30 2826
a7711767
CV
28272003-01-10 Corinna Vinschen <corinna@vinschen.de>
2828
2829 * net.cc (cygwin_gethostname): Fix call to wsock function gethostname.
2830
d5223b2b
CF
28312003-01-09 Christopher Faylor <cgf@redhat.com>
2832
2833 * cygthread.cc (cygthread::cygthread): Be more noisy about odd
2834 condition.
2835 * miscfuncs.cc (low_priority_sleep): Sleep in regular priority if
2836 that's what we're currently running at.
2837
65f207e8
TP
28382003-01-09 Thomas Pfaff <tpfaff@gmx.net>
2839
2840 * include/semaphore.h: Modify typedef for sem_t.
2841 * include/cygwin/types.h: Modify typedefs for pthread_t,
2842 pthread_mutex_t, pthread_key_t, pthread_attr_t,
2843 pthread_mutexattr_t, pthread_condattr_t, pthread_cond_t,
2844 pthread_rwlock_t and pthread_rwlockattr_t.
2845
09cbb9d6
TP
28462003-01-09 Thomas Pfaff <tpfaff@gmx.net>
2847
2848 * thread.h (WAIT_CANCELED): New define.
2849 (pthread::cancelable_wait): New static method.
2850 * thread.cc (pthread::cancelable_wait): Implement.
2851 (semaphore::Wait): Wait on semaphore and thread cancellation.
2852 (pthread::join): Wait on joined thread and thread cancellation.
2853 (semaphore::wait): Add testcancel to check for thread
2854 cancellation even if the semaphore is available.
2855
5d68d1de
TP
28562003-01-09 Thomas Pfaff <tpfaff@gmx.net>
2857
2858 * include/pthread.h: Add define for errorchecking mutexes.
2859 Change default mutex type.
2860 * thread.cc (pthread_cond::TimedWait): Update mutex unlock
2861 calls.
2862 (pthread_mutex::pthread_mutex): New implement.
2863 (pthread_mutex::~pthread_mutex): Ditto.
2864 (pthread_mutex::Lock): Ditto.
2865 (pthread_mutex::TryLock): Ditto.
2866 (pthread_mutex::UnLock): Ditto.
2867 (pthread_mutex::Destroy): Implement new method.
2868 (pthread_mutex::SetOwner): Ditto.
2869 (pthread_mutex::LockRecursive): Ditto.
2870 (pthread_mutex::fixup_after_fork): Restore locking state after
2871 fork.
2872 (__pthread_mutex_lock): Return pthread_mutex::Lock errorcode.
2873 (__pthread_mutex_trylock): Return pthread_mutex::TryLock
2874 errorcode.
2875 (__pthread_mutex_unlock): Return pthread_mutex::UnLock
2876 errorcode.
2877 (__pthread_mutex_destroy): Call pthread_mutex::Destroy to
3457ce4d 2878 destroy mutex.
5d68d1de
TP
2879 (__pthread_mutexattr_settype): Allow errorchecking and recursive
2880 types.
2881 * thread.h (MUTEX_LOCK_COUNTER_INITIAL): New define.
2882 (pthread_mutex::criticalsection): Remove.
2883 (pthread_mutex::lock_counter): New member.
2884 (pthread_mutex::recursion_counter): Ditto.
2885 (pthread_mutex::owner): Ditto.
2886 (pthread_mutex::type): Ditto.
2887 (pthread_mutex::Destroy): New method.
2888 (pthread_mutex::SetOwner): Ditto.
2889 (pthread_mutex::LockRecursive): Ditto.
2890
ed9fe455
TP
28912003-01-09 Thomas Pfaff <tpfaff@gmx.net>
2892
2893 * pthread.cc (pthread_cond_init): Use new pthread_cond::init.
2894 * thread.cc: Some white spaces cleanups.
2895 Change __pthread_cond_init to pthread_cond::init throughout.
2896 (nativeMutex): Move class methods outside pthread_mutex.
2897 (MTinterface::Init): Initialize pthread_cond init lock.
2898 (pthread_cond::condInitializationLock): Instantiate.
2899 (pthread_cond::initMutex): New Method.
2900 (pthread_cond::isGoodInitializerOrBadObject): Ditto.
2901 * thread.h: Some white spaces cleanups.
2902 (nativeMutex): Move class declaration outside pthread_mutex.
2903 (pthread_cond::condInitializationLock): New static member.
2904 (pthread_cond::initMutex): New Method.
2905 (pthread_cond::isGoodInitializerOrBadObject): Ditto.
2906 (__pthread_cond_init): Remove prototype.
2907
93353aee
CV
29082003-01-09 Corinna Vinschen <corinna@vinschen.de>
2909
2910 * fhandler_disk_file.cc (num_entries): Return 2 as link count if
2911 directory unreadable.
2912
3eb27a4e
CV
29132003-01-09 Corinna Vinschen <corinna@vinschen.de>
2914
2915 * security.cc (get_nt_attribute): Always return -1 when read_sd()
2916 fails.
2917 (get_file_attribute): Set permissions to 0 and owner/group to -1
2918 if security descriptor is unreadable.
2919
85ba109d
CF
29202003-01-09 Christopher Faylor <cgf@redhat.com>
2921
2922 Use isdirsep rather than SLASH_P throughout.
2923 * path.cc (iscygdrive): Disallow /cygdrive\x.
2924 (normalize_posix_path): "Normalize" a windows path, if detected, rather
2925 than converting to posix.
2926
29272003-01-06 Troy Curtiss <troyc@usa.net>
2928
2929 * fhandler_serial.cc (fhandler_serial::tcsetattr): Add support and
2930 capability checking for B230400 bitrate.
2931 (fhandler_serial::tcgetattr): Add support for B230400 bitrate.
2932 * include/sys/termios.h: Add B230400 definition for Posix support of
2933 230.4Kbps.
2934
cbdbe9d7
CF
29352003-01-05 Christopher Faylor <cgf@redhat.com>
2936
2937 * pinfo.cc (_pinfo::commune_send): Use myself->lock rather than just
2938 lock when leaving.
2939
f3afe99b
CF
29402003-01-03 Christopher Faylor <cgf@redhat.com>
2941
2942 * dtable.h (dtable::in_vfork_cleanup): New function. True if vfork
2943 cleanup needed.
2944 * dtable.cc (dtable::vfork_parent_restore): Remove assertion.
2945 * pipe.cc (fhandler_pipe::close): Don't close read_state during
2946 fork_fixup since it wasn't inherited.
2947
2665fb15
CF
29482003-01-01 Christopher Faylor <cgf@redhat.com>
2949
2950 * passwd.cc (getpwuid_r32): Revert previous change.
2951
8619b42b
CF
29522003-01-01 Christopher Faylor <cgf@redhat.com>
2953
2954 * sysconf.cc (sysconf): Return arbitrary values for
2955 _SC_GETGR_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_GETPW_R_SIZE_MAX.
2956
2957 * passwd.cc (getpwuid_r32): Add uid/gid fields to size check
2958 calculation.
This page took 0.399707 seconds and 5 git commands to generate.