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