]> sourceware.org Git - newlib-cygwin.git/blame - winsup/cygwin/ChangeLog
* miscfuncs.cc (low_priority_sleep): Sleep at same priority as main thread.
[newlib-cygwin.git] / winsup / cygwin / ChangeLog
CommitLineData
d688945c
CF
12003-08-20 Christopher Faylor <cgf@redhat.com>
2
3 * miscfuncs.cc (low_priority_sleep): Sleep at same priority as main
4 thread.
5 * sigproc.cc (wait_sig): Keep looping if there are more signals to
6 consider and we are flushing signals.
7 (sig_send): Put nonsync signals in the correct bucket.
8
0b10f795
CF
92003-08-20 Christopher Faylor <cgf@redhat.com>
10
11 * speclib: Fix created lib to avoid "File truncated" problems.
12
2bf794af
CF
132003-08-20 Pierre Humblet <pierre.humblet@ieee.org>
14
15 * exceptions.cc (interrupt_setup): Set sigsave.sig last to avoid a
16 race.
17
6f6d673c
CF
182003-08-20 Christopher Faylor <cgf@redhat.com>
19
20 * sigproc.cc (wait_sig): Ensure that myself->getsigtodo array is
21 flushed on a __SIGFLUSH.
22
232003-08-20 Pierre Humblet <pierre.humblet@ieee.org>
24 Christopher Faylor <cgf@redhat.com>
25
26 * exceptions.cc (_sigreturn): Handle nested signals without growing the
27 stack.
28
5f31e0f3
CF
292003-08-19 Christopher Faylor <cgf@redhat.com>
30
31 * exceptions.cc (pending_signals): Remove unneeded declaration.
32 * sigproc.cc (pending_signals): Make static.
33 (wait_sig): Use defined values rather than integers for rc. Never scan
34 both todo arrays as this could cause hangs if signals arrive from two
35 different sources. Rename saw_pending_signals to saw_failed_interrupt.
36 Exit loop when signal found. Enter low-priority sleep, if necessary,
37 after finished signalling completion. Set pending_signals when blocked
38 (from Pierre Humblet).
39
06bb4899
CF
402003-08-19 Christopher Faylor <cgf@redhat.com>
41
42 * signal.cc (sigpending): Move.
43 * sigproc.cc (sigpending): To here.
44 (getlocal_sigtodo): Return process-local signal array.
45 (sigpending): Accommodate new process-local signal array.
46 (sig_send): Ditto.
47 (sig_set_pending): Ditto.
48 (wait_sig): Ditto.
49
05cb7b17
CF
502003-08-19 Christopher Faylor <cgf@redhat.com>
51
52 Throughout, eliminate argument to sig_dispatch_pending.
53 * exceptions.cc (setup_handler): Move non-interruptible condition
6ac844b5 54 handling (back) to wait_sig.
05cb7b17
CF
55 (set_process_mask): Don't worry about calling sig_dispatch_pending from
56 sigthread since it is detected in the function anyway.
57 (sig_handle): Eliminate thisproc arg. Don't call sig_dispatch_pending
58 on SIGCONT since that should happen automatically.
59 * sigproc.cc (sig_dispatch_pending): Eliminate justwake argument. Just
60 return when called from sigthread.
61 (wait_sig): Change some variables to bool. Change inner while to an
62 if. Move uninterruptible signal handling here.
63 (sigproc_terminate): Don't call sig_dispatch_pending. Just increment
64 semaphore on exit.
65
66 * speclib: Use slightly different (but still flawed) method for
67 determining symbols to extract from libraries.
68
755f575f 692003-08-18 Christopher Faylor <cgf@redhat.com>
372cd2cb
CF
70
71 * exceptions.cc (sigdelayed): Fix race where signal handler could get
05cb7b17 72 the wrong mask (as suggested by Pierre Humblet).
372cd2cb 73
9d7f26ea
CF
742003-08-18 Christopher Faylor <cgf@redhat.com>
75
76 * path.cc (mount): Add null/empty check for input parameters.
77 (umount): Add null/empty check for input parameters.
78
981f9625
CV
792003-08-17 Pierre Humblet <pierre.humblet@ieee.org>
80
81 * grp.cc (read_group): Revert previous change.
82 * uinfo.cc (pwdgrp::load): Always reset curr_lines.
83
22d82f9f
CV
842003-08-17 Corinna Vinschen <corinna@vinschen.de>
85
86 * errno.cc (errmap): Map ERROR_INVALID_BLOCK_LENGTH to EIO.
87 * fhandler_raw.cc (fhandler_dev_raw::raw_read): Set more accurate
88 errnos instead of EACCES.
89 (fhandler_dev_raw::raw_write): Ditto.
90
293ce810
CF
912003-08-17 Christopher Faylor <cgf@redhat.com>
92
93 * path.cc (special_name): Accommodate all special names with
94 extensions.
95
92d897cd
CV
962003-08-15 Corinna Vinschen <corinna@vinschen.de>
97
98 * mmap.cc (mmap64): Avoid crash if file size is less than requested
99 map length.
100
6763d47b
CV
1012003-08-13 Igor Pechtchanski <pechtcha@cs.nyu.edu>
102
103 * path.cc (special_name): Add checks for some specials followed by
104 a "." and a FIXME comment.
105
ae89a496
CV
1062003-08-13 Corinna Vinschen <corinna@vinschen.de>
107
293ce810 108 * cygwin.din: Accommodate change from cygwin_lstat to lstat.
ae89a496
CV
109 * syscalls.cc: Add defines to avoid declaration issues when
110 renaming cygwin_lstat back to lstat.
111 (lstat): Reverted name change from cygwin_lstat.
112
c86c10b8
CV
1132003-08-12 Corinna Vinschen <corinna@vinschen.de>
114
115 * include/sys/param.h (NBBY): Define if not defined.
116
1172003-08-12 Nicholas Wourms <nwourms@netscape.net>
118
119 * include/sys/param.h (setbit): Add new bitmap related macro.
120 (clrbit): Likewise.
121 (isset): Likewise.
122 (isclr): Likewise.
123 (howmany): Add new counting/rounding macro.
124 (rounddown): Likewise.
125 (roundup): Likewise.
126 (roundup2): Likewise.
127 (powerof2): Likewise
128 (MIN): Add macro for calculating min.
129 (MAX): Add macro for calculating max.
130
9d77d536
CF
1312003-08-09 Christopher Faylor <cgf@redhat.com>
132
133 * include/cygwin/version.h: Bump DLL minor number to 3.
134
5c65fa02
CF
1352003-08-08 Gerrit P. Haase <gp@familiehaase.de>
136
137 * include/stdint.h: Correctly define INT32_MIN.
138
b344f187
CF
1392003-08-08 David Rothenberger <daveroth@acm.org>
140
141 * grp.cc (read_group): Set __group32.gr_mem pointer back to &null_ptr
142 after free() is called.
143
4b154cc1
CF
1442003-08-05 Christopher Faylor <cgf@redhat.com>
145
146 * Makefile.in: Rework to accommodate new speclib arguments.
147 * speclib: Rework to extract everything from libcygwin.a rather than
148 building things from existing object files.
149
4423d924
CF
1502003-08-05 Pavel Tsekov <ptsekov@gmx.net>
151
152 * path.cc (cygdrive_getmntent): Do not skip over drives of type
153 DRIVE_REMOVABLE.
154
1552003-08-05 Christopher Faylor <cgf@redhat.com>
156
157 * fhandler.cc (fhandler_base::lseek): Be more paranoid when
158 constructing offsets from 64 bit value.
159 * syscalls.cc (logout): Avoid temp buffer memcpy since new scheme does
160 not require it.
161 (utmp_data): Rework as a macro which returns a pointer into a buffer.
162 (getutent): Use new buffer allocation mechanism to grab a utmp buffer.
163 (getutid): Ditto.
164 (pututline): Ditto.
165
3fea2e40
CF
1662003-08-05 Pavel Tsekov <ptsekov@gmx.net>
167
168 * fhandler_disk_file.cc (fhandler_cygdrive::readdir): Do not change
169 'errno' if end of directory condition is encountered as per SUSv2.
170 * fhandler_proc.cc (fhandler_proc::readdir): Ditto.
171 * fhandler_process (fhandler_process::readdir): Ditto.
172 * fhandler_registry (fhandler_registry::readdir): Ditto.
173
b9621e8d
CF
1742003-07-30 Christopher Faylor <cgf@redhat.com>
175
176 * dcrt0.cc (_dll_crt0): Move strace.microseconds initialization to
177 after pthread initialization.
178 (dll_crt0_1): i.e., here.
179
d2466c7a
CF
1802003-07-28 Christopher Faylor <cgf@redhat.com>
181
182 * fhandler_base.cc (fhandler_base::readv): Rework to properly return
183 number of bytes from read.
184
8e2315f0
CF
1852003-07-28 Christopher Faylor <cgf@redhat.com>
186
187 * include/cygwin/version.h: Bump DLL minor number to 2.
188
df04ae29
CF
1892003-07-26 Christopher Faylor <cgf@redhat.com>
190
191 * exceptions.cc (ctrl_c_handler): Send SIGHUP when events occur only if
192 there is a tty associated with the process. Send SIGHUP on
193 CTRL_LOGOFF_EVENT.
194
195 * fhandler_tty.cc (fhandler_tty_slave::open): Adjust console open
196 handle counter regardless of whether this is a pty or tty.
197 (fhandler_tty_slave::open): Ditto.
198 (fhandler_tty_slave::dup): Ditto.
199 (fhandler_tty_common::set_close_on_exec): Ditto.
200 (fhandler_tty_master::init_console): Decrement console open handle
201 counter after init since it will now be handled by all tty open.
202 * syscalls.cc (setsid): Rework debugging output slightly.
203
ddb67621
CF
2042003-07-25 Christopher Faylor <cgf@redhat.com>
205
206 * configure.in: Use 'install-sh -c'.
207 * configure: Regenerate.
208
7f4773b3
CF
2092003-07-25 Christopher Faylor <cgf@redhat.com>
210
211 * configure.in: Always use install-sh.
212 * configure: Regenerate.
213
5d66faab
CF
2142003-07-25 Christopher Faylor <cgf@redhat.com>
215
216 * include/cygwin/socket.h: Conditionalize [AP]F_INET6 define.
217
6f8c86ae
CF
2182003-07-25 Christopher Faylor <cgf@redhat.com>
219
220 * Makefile.in (OBSOLETE_FUNCTION): Add fdopen.
221
86ed5c88
CF
2222003-07-25 Christopher Faylor <cgf@redhat.com>
223
224 * cygwin.din: Export _fdopen64
225 * Makefile.in (NEW_FUNCTIONS): Add _fdopen64 -> fdopen translation.
226 * include/cygwin/version.h: Bump api minor number.
227
228 * ntdll.h: Remove (now) duplicate FILE_SYNCHRONOUS_IO_NONALERT
229 definition.
230
1fbeb827
CF
2312003-07-24 Christopher Faylor <cgf@redhat.com>
232
233 * environ.cc (check_case_init): Use strncasematch.
234
235 * cygwin.din: Export __mempcpy.
236 * cygwin/version.h: Bump api minor number.
237
d432ac75
CV
2382003-07-21 Pavel Tsekov <ptsekov@gmx.net>
239
240 * mmap.cc: Use proper format specifiers for _off64_t and size_t in
241 format strings passed to syscall_printf () and debug_printf ()
242 throughout.
243
b4ece40c
PH
2442003-07-18 Pierre Humblet <pierre.humblet@ieee.org>
245
246 * security.cc (verify_token): Fix white space and style.
247 Use type bool instead of BOOL and char. Use alloca
df04ae29 248 instead of malloc and free for my_grps.
b4ece40c 249
fc2843ca
CV
2502003-07-17 Corinna Vinschen <corinna@vinschen.de>
251
252 * sysconf.cc (sysconf): Fix OPEN_MAX patch. Return page size on
253 _SC_PAGESIZE again.
254
ea3ba114
CV
2552003-07-14 Corinna Vinschen <corinna@vinschen.de>
256
257 * cygheap.h (class cygheap_user): Use INVALID_HANDLE_VALUE as invalid
258 value for tokens.
259 * syscalls.cc (seteuid32): Ditto. Set new_token to process token if
260 process token is suitable.
261 * uinfo.cc (uinfo_init): Initialize tokens in cygheap user info
262 to INVALID_HANDLE_VALUE.
263
2642003-07-14 Pierre Humblet <pierre.humblet@ieee.org>
265
266 * cygheap.h (enum impersonation): Delete.
267 (cygheap_user::impersonation_state): Delete.
268 (cygheap_user::current_token): New.
269 (cygheap_user::issetuid): Modify to use current_token.
270 (cygheap_user::token): Ditto.
271 (cygheap_user::deimpersonate): Ditto.
272 (cygheap_user::reimpersonate): Ditto.
273 (cygheap_user::has_impersonation_tokens): Ditto.
274 (cygheap_user::close_impersonation_tokens): Ditto.
275 * security.cc (cygwin_set_impersonation_token): Always set the token.
276 (verify_token): Change type of gsid to cygpsid.
277 (get_file_attribute): Use the effective ids.
278 * syscalls.cc (seteuid32): Modify to use cygheap_user::current_token.
279 * uinfo.cc (uinfo_init) Do not set cygheap->user.impersonation_state.
280
9e8ac0ae
CF
2812003-07-12 Christopher Faylor <cgf@redhat.com>
282
283 * pinfo.cc (_pinfo::commune_send): Fix bounds test so that poll of
284 communicating pid actually stops eventually.
285
e47d5648
CF
2862003-07-10 Christopher Faylor <cgf@redhat.com>
287
288 * path.cc (get_device_number): Remove special com? consideration.
289 (special_chars): Make static.
290 (special_introducers): New.
291 (special_char): Allow specified valid_chars args.
292 (fnunmunge): Handle aux-like filenames correctly.
293 (special_name): Add con, conin$, conout$.
294 (mount_item::fnmunge): Use __small_sprintf return value to calculate
295 increments.
296
30811232
CF
2972003-07-09 Christopher Faylor <cgf@redhat.com>
298
299 * include/cygwin/version.h: Bump DLL minor number to 1.
300
f1a4b6b5
CF
3012003-07-09 Christopher Faylor <cgf@redhat.com>
302
2f5cab7b
CF
303 * fhandler_proc.cc (format_proc_stat): Use correctly sized constants
304 for filling in zeros on 98.
f1a4b6b5 305
cf38615c
CF
3062003-07-09 Christopher Faylor <cgf@redhat.com>
307
308 * fhandler_proc.cc (fhandler_proc::fill_filebuf): Allocate more space
309 for stat buffer.
310 (format_proc_stat): Reorganize to accumulate and report on all cpus.
311
ab3dc80d
CF
3122003-07-09 Christopher Faylor <cgf@redhat.com>
313
314 * sysconf.cc (sysconf): Return processors online rather than bitmask
315 for _SC_NPROCESSORS_ONLN.
316
4d782b42
CF
3172003-07-08 Christopher Faylor <cgf@redhat.com>
318
319 * cygheap.cc (creturn): Set appropriate errno when out of memory.
320 (ccalloc): Only issue system_printf when debugging.
321 * dtable.cc (dtable::extend): Only allocate 100 * the incremental growth
322 size max. Set errno appropriately.
323 (dtable::build_fhandler): Check for error from set_name.
324 * fhandler.cc (fhandler_base::set_name): Set errno and return error on OOM.
325 * fhandler.h (fhandler_base::set_name): Change to bool.
326 * fhandler_process.cc (format_process_stat): Fix formatting.
327 * resource.cc (getrlimit): Return greater of OPEN_MAX or fd table size.
328 * sysconf.cc (sysconf): Ditto.
329
a711a5af
CF
3302003-07-07 Christopher Faylor <cgf@redhat.com>
331
332 * rmsym: Don't use ranlib.
333
c0a6fcd7
CF
3342003-07-07 Christopher Faylor <cgf@redhat.com>
335
336 * newsym: Reenable removal of tmp directory. Just use ar to generate
337 archive index.
a711a5af 338 * Makefile.in: Don't send ranlib to newsym or rmsym.
c0a6fcd7 339
0e5db0bf
CF
3402003-07-07 Christopher Faylor <cgf@redhat.com>
341
342 * newsym: Create objects that are closer to those created by dlltool so
343 as not to confuse --export-all-symbols.
344 * rmsym: Be a little more accepting of object filenames now that
345 dlltool can create different format files.
346
c522b907
CF
3472003-07-06 Christopher Faylor <cgf@redhat.com>
348
349 * newsym: Oops. Revert below change.
350
88a62816
CF
3512003-07-06 Christopher Faylor <cgf@redhat.com>
352
353 * newsym: Use correct prefix for generating imports.
354 * pinfo.cc (_pinfo::commune_send): Don't wait forever for a response
355 from another process.
356
b6717153
CF
3572003-07-06 Christopher Faylor <cgf@redhat.com>
358
359 * syscalls.cc (gethostid): Set thread affinity so that results are
360 predictable.
361
f2d3c47b
CV
3622003-07-05 Corinna Vinschen <corinna@vinschen.de>
363
364 * mmap.cc (list::match): Add parameters to return valid address and
365 length back to munmap(). Evaluate intersection between given
366 area and mapped area and return it, if any.
367 (mmap64): On regular files, don't allow mappings beginning beyond
368 EOF. Return with errno set to ENXIO instead.
369 (munmap): Rewrite SUSv3 conformant. Check if given memory area is
370 valid. Unmap all maps inside given memory area. Don't return error
371 if no mapping has been unmapped.
372
3732003-07-05 N Stephens <nigel@mips.com>
4b2cbaee
CV
374
375 * fhandler.h (fhandler_socket::get_connect_state): New method to
376 return socket connection state.
377 * fhandler_socket.cc (dup): Copy socket connect state to new file
378 handle.
379 * net.cc (cygwin_rcmd): Mark file handles of sockets returned by
380 rcmd() as CONNECTED state.
381 (cygwin_rexec): Similarly for rexec().
382 (socketpair): Mark both ends of a new socket pair as CONNECTED.
383
6694f305
CV
3842003-07-04 Corinna Vinschen <corinna@vinschen.de>
385
386 * mmap.cc (fhandler_disk_file::mmap): Fix address test.
387
d108f312
CF
3882003-07-03 Christopher Faylor <cgf@redhat.com>
389
390 * path.cc (fillout_mntent): Change "posix" to "managed".
391
3f214783
CF
3922003-07-02 Christopher Faylor <cgf@redhat.com>
393
394 * fhandler.h (FH_ENC): New enum.
395 (fhandler_base::get_encoded): New function.
396 (fhandler_base::set_encoded): Ditto.
397 * fhandler_disk_file.cc (fhandler_disk_file::opendir): Set encoded flag
398 in fhandler, as appropriate.
399 (fhandler_disk_file::readdir): Unmunge filename as appropriate based on
400 new encoding flag.
401 * path.cc (normalize_posix_path): Don't punt on files with colons.
402 (special_char): New function.
403 (mount_item::fnmunge): Ditto.
404 (fnunmunge): Ditto.
405 (special_name): Ditto.
406 (mount_item::build_win32): Avoid drive considerations when file is
407 encoded.
408 (mount_info::conv_to_win32_path): Handle encoded filenames.
409 (mount_info::conv_to_posix_path): Ditto.
410 (fillout_mntent): Add posix string when directory is encoded.
411 * path.h (fnunmunge): Declare.
412 (path_conv::is_encoded): Declare.
413
3d8a75bd
CF
4142003-07-03 Christopher Faylor <cgf@redhat.com>
415
416 * fhandler_tty.cc (fhandler_tty_slave::open): Conditionalize a little
417 more of the cygserver stuff so that ttys actually work.
418
65561780
CV
4192003-07-03 Corinna Vinschen <corinna@vinschen.de>
420
421 * mmap.cc (mmap64): Allow MAP_FIXED with pagesize granularity (4K).
422 If a non-zero addr is given, align it to the next lower 64K boundary.
423 (fhandler_disk_file::mmap): If a non-zero address is given, try
424 mapping using the given address first. If it fails and flags is not
425 MAP_FIXED, try again with NULL address.
426
4272003-07-01 Christopher Faylor <cgf@redhat.com>
428
429 * thread.cc: Remove _MT_SAFE conditional.
430
4312003-07-01 Christopher Faylor <cgf@redhat.com>
432
433 * configure.in: Fix --enable-server option.
434 * configure: Regenerate.
435
4362003-07-01 Christopher Faylor <cgf@redhat.com>
437
438 * Makefile.in: Remove cygserver stuff.
439 * acconfig.h: Add USE_CYGSERVER define.
440 * config.h.in: Regenerate.
441 * configure.in: Add --enable-server setting.
442 * configure: Regenerate.
443 * fhandler_tty.cc (fhandler_tty_slave::open): Conditionalize
444 compilation of cygserver stuff.
445 * fork.cc (fork_child): Ditto.
446 * shm.cc: Ditto.
447 * tty.cc (tty::common_init): Ditto.
448
449 * dcrt0.cc: Use bool rather than BOOL for CYGWIN environment variable
450 definitions.
451 * environ.cc: Ditto.
452 * ntea.cc: Ditto.
453 * security.cc: Ditto.
454 * security.h: Ditto.
455 * syscalls.cc (check_posix_perm): Remove externs that were already
456 declared in a header.
457 * winsup.h: Ditto. Declare _MT_SAFE here. Delete it someday since
458 cygwin should always be _MT_SAFE.
459
f3ff0ca9
CF
4602003-07-01 Christopher Faylor <cgf@redhat.com>
461
462 * thread.cc: Remove _MT_SAFE conditional.
463
8fb2df19
CF
4642003-07-01 Christopher Faylor <cgf@redhat.com>
465
466 * configure.in: Fix --enable-server option.
467 * configure: Regenerate.
468
3872e9a4
CF
4692003-07-01 Christopher Faylor <cgf@redhat.com>
470
471 * Makefile.in: Remove cygserver stuff.
472 * acconfig.h: Add USE_CYGSERVER define.
473 * config.h.in: Regenerate.
474 * configure.in: Add --enable-server setting.
475 * configure: Regenerate.
476 * fhandler_tty.cc (fhandler_tty_slave::open): Conditionalize
477 compilation of cygserver stuff.
478 * fork.cc (fork_child): Ditto.
479 * shm.cc: Ditto.
480 * tty.cc (tty::common_init): Ditto.
481
482 * dcrt0.cc: Use bool rather than BOOL for CYGWIN environment variable
483 definitions.
484 * environ.cc: Ditto.
485 * ntea.cc: Ditto.
486 * security.cc: Ditto.
487 * security.h: Ditto.
488 * syscalls.cc (check_posix_perm): Remove externs that were already
489 declared in a header.
490 * winsup.h: Ditto. Declare _MT_SAFE here. Delete it someday since
491 cygwin should always be _MT_SAFE.
492
70249d56
CV
4932003-06-30 Pierre Humblet <pierre.humblet@ieee.org>
494
495 * cygheap.h (enum impersonation): New enum.
496 (cygheap_user::token): Delete.
497 (cygheap_user::impersonated): Delete.
498 (cygheap_user::external_token): New member.
499 (cygheap_user::internal_token): New member.
500 (cygheap_user::impersonation_state): New member.
501 (cygheap_user::issetuid): Modify.
b6717153 502 (cygheap_user::token): New method.
70249d56
CV
503 (cygheap_user::deimpersonate): New method.
504 (cygheap_user::reimpersonate): New method.
505 (cygheap_user::has_impersonation_tokens): New method.
506 (cygheap_user::close_impersonation_tokens): New method.
507 * dtable.cc (dtable::vfork_child_dup): Use new cygheap_user methods.
508 * fhandler_socket.cc (fhandler_socket::dup): Ditto.
509 * fork.cc (fork_child): Ditto.
510 (fork_parent): Ditto.
511 * grp.cc (internal_getgroups): Ditto.
512 * security.cc (verify_token): Ditto.
513 (check_file_access): Ditto.
514 (cygwin_set_impersonation_token): Detect conflicts. Set
515 user.external_token.
516 * spawn.cc (spawn_guts): Use new cygheap_user methods.
517 * syscalls.cc (seteuid32): Rearrange to use the two tokens
518 in cygheap_user.
519 (setegid32): Use new cygheap_user methods.
520 * uinfo.cc: (internal_getlogin): Ditto.
521
b06d4a08
CF
5222003-06-25 Doru Carastan <doru.carastan@mvista.com>
523
524 * Makefile.in: Use INSTALL_PROGRAM to install the cygwin DLL.
525
e1e196a2
TP
5262003-06-24 Thomas Pfaff <tpfaff@gmx.net>
527
528 * thread.cc (MTinterface::fixup_after_fork): Fix thread list after
529 fork.
530 (pthread::threads): Instantiate.
531 (pthread::pthread): Initialize running and suspendend.
532 Initialize next with NULL.
533 Add thread to thread list if it is not the null_pthread.
534 (pthread::~pthread): Remove thread from thread list if it is
535 not the null_pthread.
536 (pthread::postcreate): Set running flag.
537 (pthread::exit): Reset running flag.
538 (pthread::cancel): Try to cancel thread only if still running.
539 (pthread::_fixup_after_fork): Implement.
540 (pthread::detach): Check if thread is still running before detach.
541 * thread.h (pthread::running): New member.
542 (pthread::next): Ditto.
543 (pthread::fixup_after_fork): New static method.
544 (pthread::threads): New static method.
545 (pthread::_fixup_after_fork): New method.
546
6c6f7094
CF
5472003-06-20 Christopher Faylor <cgf@redhat.com>
548
549 * pinfo.cc (_pinfo::commune_send): Don't attempt to communicate with a
550 pure windows process.
551
c9a5cfa0
PH
5522003-06-18 Pierre Humblet <pierre.humblet@ieee.org>
553
b6717153
CF
554 * autoload.cc (GetNetworkParams): Add.
555 * net.cc (getdomainname): Call GetNetworkParams and read the
556 DhcpDomain registry value if warranted.
c9a5cfa0 557
0d58ef9d
CF
5582003-06-17 Christopher Faylor <cgf@redhat.com>
559
560 * path.cc (mount): Do more strict checking on posix path arguments.
561
c433f461
CF
5622003-06-15 Christopher Faylor <cgf@redhat.com>
563
564 Throughout, remove "include <errno.h>" from files which already include
565 cygerrno.h.
566
5672003-06-15 Thomas Pfaff <tpfaff@gmx.net>
568
569 * include/cygwin/config.h (__DYNAMIC_REENT__): Define.
570 * include/cygwin/version.h: Bump API minor version.
571 * cygwin.din: Export __getreent
572 * cygerrno.h: Include errno.h. Fix places where _impure_ptr is used
573 directly to store the errno value.
574 * debug.cc (__set_errno): Ditto.
575 * errno.cc: Remove _RRENT_ONLY define to get errno.cc compiled.
576 * signal.cc: Rename _reent_clib to _REENT throughout.
577 * thread.h (reent_clib): Remove prototype.
578 * thread.cc (reent_clib): Rename reent_clib to __getreent. Return
579 _impure_ptr until MTinterface is initialized.
580 (reent_winsup): Fix a possible SEGV when _r == NULL. Return NULL
581 instead.
582 * MTinterface::fixup_after_fork: Switch reent back to _impure_ptr to
583 keep signal handling running when fork is called from a thread other
584 than the mainthread.
585
1c80421c
TP
5862003-06-12 Thomas Pfaff <tpfaff@gmx.net>
587
588 * thread.cc (pthread_attr_init): Revert change from 2003-06-11
589 to return 0 if attribute is already initialized back to EBUSY.
590 (pthread_condattr_init): Ditto.
591 (pthread_rwlockattr_init): Ditto.
592 (pthread_mutexattr_init): Ditto.
593
5bdb56f0
CV
5942003-06-12 Corinna Vinschen <corinna@vinschen.de>
595
596 * exceptions.cc (ctrl_c_handler): Don't send a signal on
597 CTRL_SHUTDOWN_EVENT. Add a comment to rationalize the patch.
598
00e6660b
TP
5992003-06-11 Thomas Pfaff <tpfaff@gmx.net>
600
601 * thread.cc (pthread_attr_init): Return 0 if attribute is already
602 initialized.
603 Fix return code if out of memory.
604 (pthread_condattr_init): Ditto.
605 (pthread_rwlockattr_init): Ditto.
606 (pthread_mutexattr_init): Return 0 if attribute is already
607 initialized.
608
271c1935
CV
6092003-06-09 Pierre Humblet <pierre.humblet@ieee.org>
610
611 * spawn.cc (spawn_guts): Call CreateProcess while impersonated,
612 when the real {u,g}ids and the groups are original.
613 Move RevertToSelf and ImpersonateLoggedOnUser to the main line.
614 * uinfo.cc (uinfo_init): Reorganize. If CreateProcess was called
615 while impersonated, preserve the uids and gids and call
616 ImpersonateLoggedOnUser. Preserve the uids and gids on Win9X.
617
618 * exceptions.cc (error_start_init): Quote the pgm in the command.
619
42a737d0
CF
6202003-06-07 Christopher Faylor <cgf@redhat.com>
621
622 * poll.cc: Define FD_SETSIZE to ridiculously large number so that there
32173f7e 623 will be no artificially small limits.
42a737d0 624
9501a0a1
CF
6252003-06-07 Christopher Faylor <cgf@redhat.com>
626
627 * fhandler_tty.cc (fhandler_tty_slave::close): Free the console when
628 last tty closes.
629
f496071c
TP
6302003-06-07 Thomas Pfaff <tpfaff@gmx.net>
631
632 * fhandler_socket.cc (fhandler_socket::connect): Change error
633 handling for nonblocking connects to return EALREADY when
634 connect is called more than once for the same socket.
635
54152c7e
CV
6362003-06-06 Corinna Vinschen <corinna@vinschen.de>
637
638 * cygwin.din: Add vsyslog.
639 * fhandler.cc (fhandler_base::write): Only make file sparse if the
640 seeked area is >= 128K.
641 * syslog.cc (vsyslog): New function, overtaking functionality from
642 syslog.
643 (syslog): Just call vsyslog.
644 * include/cygwin/version.h: Bump API minor.
645 * include/sys/syslog.h: Add vsyslog declaration.
646
979233a5
CF
6472003-06-05 Christopher Faylor <cgf@redhat.com>
648
649 * cygthread.cc (cygthread::terminate_thread): Change system_printf to
650 debug_printf.
651
f51e42ac
CF
6522003-06-04 Christopher Faylor <cgf@redhat.com>
653
654 * shared.cc (shared_info::heap_chunk_size): Be really defensive about
655 making sure that heap_chunk is set.
656
7b17543f
CF
6572003-06-04 Christopher Faylor <cgf@redhat.com>
658
659 * path.cc (conv_path_list): Use correct value when calculating length
660 to avoid a potential SEGV.
661
9f033c22
PH
6622003-06-03 Pierre Humblet <pierre.humblet@ieee.org>
663
271c1935
CV
664 * fhandler_disk_file.cc (fhandler_disk_file::fstat): Mark the pc
665 as non-executable if the file cannot be opened for read. Retry query
666 open only if errno is EACCES. Never change the mode, even if it is 000
667 when query open() fails.
9f033c22 668
1e61337c
CF
6692003-06-03 Christopher Faylor <cgf@redhat.com>
670
671 * configure.in: Allow any i?86 variant.
672 * configure: Regenerate.
673
fb6b1418
CV
6742003-06-03 Corinna Vinschen <corinna@vinschen.de>
675 Thomas Pfaff <tpfaff@gmx.net>
676
677 * fhandler_socket.cc (connect_thread): Remove.
678 (accept_thread): Remove.
679 (fhandler_socket::connect): Remove all special blocking handling.
680 (fhandler_socket::accept): Ditto.
681 * net.cc (cygwin_connect): Make blocking sockets temporarily
682 non-blocking and call cygwin_select on them to be interruptible.
683 (cygwin_accept): Ditto.
684
0c8fe172
CF
6852003-06-02 Christopher Faylor <cgf@redhat.com>
686
687 * spawn.cc (spawn_guts): Don't hang around if the parent doesn't exist.
688
3786526e
CF
6892003-06-02 Christopher Faylor <cgf@redhat.com>
690
691 * cygthread.h (cygthread::terminate_thread): Mark private.
692 * cygthread.cc (cygthread::terminate_thread): Deallocate free_range
693 thread stuff.
694
cbdc3d17
CV
6952003-06-02 Corinna Vinschen <corinna@vinschen.de>
696
697 * fhandler_socket.cc (fhandler_socket::accept): Rename `signalled'
698 to `interrupted' as used in fhandler_socket::connect.
699
dfe7d288
CV
7002003-06-02 Corinna Vinschen <corinna@vinschen.de>
701
702 * fhandler_socket.cc (fhandler_socket::connect): Simplify previous
703 patch.
704 (fhandler_socket::accept): Ditto.
705
8e13bd14
CV
7062003-06-02 Corinna Vinschen <corinna@vinschen.de>
707
708 * fhandler_socket.cc: Include cygthread.h.
709 (class sock_event): Remove.
710 (thread_connect): New function.
711 (thread_accept): Ditto.
712 (fhandler_socket::connect): Use cygthread instead of socket event
713 handling for blocking sockets.
714 (fhandler_socket::accept): Ditto.
715
418c6236
CF
7162003-06-02 Christopher Faylor <cgf@redhat.com>
717
718 * fhandler.cc (fhandler_base::write): Correct minor printf formatting
719 style glitch.
720
c17e8306
PH
7212003-06-01 Pierre Humblet <pierre.humblet@ieee.org>
722
8e13bd14
CV
723 * fhandler_disk_file.cc (fhandler_disk_file::fstat_by_name): Assume
724 an existing directory is a root if FindFirstFile fails.
c17e8306 725
e59c6ff4
CF
7262003-05-30 Christopher Faylor <cgf@redhat.com>
727
728 * path.cc (mount_info::conv_to_win32_path): gcc warning about chroot_ok
729 was actually valid. Fix it.
730
cbe53754
CF
7312003-05-30 Christopher Faylor <cgf@redhat.com>
732
733 * cygheap.cc (init_cheap): Temporarily remove inline that newer gcc's
734 have problems with.
735
736 * path.cc (path_conv::check): Rework has_acls logic slightly. Uncouple
737 exec tests away from filesystem tests.
738
4aa10069
CV
7392003-05-30 Corinna Vinschen <corinna@vinschen.de>
740
741 * include/sys/param.h: Add DEV_BSIZE.
742
4e2db52c
CV
7432003-05-29 Pierre Humblet <pierre.humblet@ieee.org>
744 Corinna Vinschen <corinna@vinschen.de>
745
746 * fhandler_socket.cc (fhandler_socket::dup): Rearrange. Fix
747 conditional.
748
b666c2eb
CF
7492003-05-28 Christopher Faylor <cgf@redhat.com>
750
751 * mkvers.sh: Avoid "-dontuse" tags.
752
753 * path.cc (path_conv::check): Set exec state based on known situations.
754
755 * path.cc (mount_item::fnmunge): New function.
756 (mount_item::build_win32): New function.
757 (mount_info::conv_to_win32_path): Use build_win32 to build windows
758 path.
759 * path.h (mount_item::fnmunge): Declare new function.
4e2db52c 760 (mount_item::build_win32): Ditto.
b666c2eb
CF
761 * sys/mount.h (MOUNT_ENC): Define.
762
72c1470d
CV
7632003-05-28 Corinna Vinschen <corinna@vinschen.de>
764
765 * fhandler_socket.cc (fhandler_socket::dup): If running impersonated,
766 revert to original account before calling fixup_before_fork_exec
767 and impersonate again afterwards. Change comment accordingly.
768 Clean up error handling and debug output.
769
a946fb03
TP
7702003-05-27 Thomas Pfaff <tpfaff@gmx.net>
771
772 * fhandler_socket.cc (sock_event::~sock_event): New method.
773 (sock_event::load): Change to void. Check if winsock2 is available.
774 (socke_event::wait): Return 0 if interruptible mode is not available.
775 (fhandler_socket::connect): Remove checks for winsock2 availability.
776 (fhandler_socket::accept): Ditto.
777
dae86e45
CV
7782003-05-27 Corinna Vinschen <corinna@vinschen.de>
779
780 * fhandler_socket.cc (fhandler_socket::dup): First try duplicating
781 using WSADuplicateSocket/WSASocket, if that fails, try DuplicateHandle.
782
2311f6b0
CV
7832003-05-27 Bill C. Riemers <cygwin@docbill.net>
784
785 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Filter
49806b9b 786 permissions through umask on FAT or if ntsec is off.
2311f6b0 787
ada0376f
CV
7882003-05-26 Pierre Humblet <pierre.humblet@ieee.org>
789
790 * syscalls.cc (statfs): Call GetDiskFreeSpaceEx before GetDiskFreeSpace.
791
0372ad9f
CV
7922003-05-26 Corinna Vinschen <corinna@vinschen.de>
793
794 * fhandler.cc (is_at_eof): Fix conditional. Use INVALID_FILE_SIZE
795 instead of numeric constant.
796
6852f6c0
CV
7972003-05-26 Corinna Vinschen <corinna@vinschen.de>
798
799 * fhandler_socket.cc (fhandler_socket::connect): Guard calls to
800 sock_event methods by a check for WinSock2 availability.
801 (fhandler_socket::accept): Ditto.
802
fac297d5
CV
8032003-05-26 Corinna Vinschen <corinna@vinschen.de>
804
805 * fhandler.h: Rename FH_W95LSBUG flag to FH_LSEEKED.
806 (fhandler_base::set_did_lseek): Rename from set_check_win95_lseek_bug.
807 (fhandler_base::get_did_lseek): Rename from get_check_win95_lseek_bug.
808 (fhandler_base::set_fs_flags): New method.
809 (fhandler_base::get_fs_flags): Ditto.
810 * fhandler.cc (fhandler_base::write): Make 64 bit clean. Convert file
811 to a "sparse" file when writing after a long lseek (>64K) beyond EOF.
812 (fhandler_base::lseek): Call set_did_lseek() instead of
813 set_check_win95_lseek_bug().
814 (fhandler_base::fhandler_base): Initialize fs_flags to 0.
b6717153 815 * fhandler_disk_file.cc (fhandler_disk_file::open): Don't create files
fac297d5
CV
816 as "sparse" unconditionally. Set fs_flags member.
817
a80229fd
CV
8182003-05-25 Pierre Humblet <pierre.humblet@ieee.org>
819
820 * autoload.cc (GetDiskFreeSpaceEx): Add.
821 * syscalls.cc (statfs): Call full_path.root_dir() instead of
822 rootdir(full_path). Use GetDiskFreeSpaceEx when available and
823 report space available in addition to free space.
824 * fhandler_disk_file.cc (fhandler_disk_file::fstat_by_name):
825 Do not call FindFirstFile for disk root directories.
826
c295ce6f
CV
8272003-05-24 Joe Buehler <jhpb@draco.hekimian.com>
828
a80229fd 829 * fhandler_process.cc (format_process_stat): Use PagefileUsage
c295ce6f
CV
830 instead of VirtualSize.
831 (get_mem_values): Ditto.
832
5c768c97
CV
8332003-05-21 Corinna Vinschen <corinna@vinschen.de>
834
835 * shared_info.h: Match shared_name declaration with below change.
836 * shared.cc (shared_name): Use incoming char * parameter instead of
837 local static buffer.
293ce810 838 (open_shared): Accommodate new calling convention for shared_name.
5c768c97
CV
839 * exceptions.cc (events_init): Ditto.
840 * sigproc.cc (getsem): Ditto.
841 * syscalls.cc (login): Ditto.
842 (logout): Ditto.
843 (pututline): Ditto.
844
44be8197
CV
8452003-05-20 Corinna Vinschen <corinna@vinschen.de>
846
847 * fhandler_socket.cc (secret_event_name): Return void. Use incoming
5c768c97 848 char * parameter instead of local static buffer.
293ce810 849 (fhandler_socket::create_secret_event): Accommodate new calling
44be8197
CV
850 convention for secret_event_name.
851 (fhandler_socket::close_secret_event): Ditto.
852
d4f3ce31
CV
8532003-05-20 Corinna Vinschen <corinna@vinschen.de>
854
855 * fhandler_socket.cc (SECRET_EVENT_NAME): Remove.
856 (ENTROPY_SOURCE_NAME): Ditto.
857 (secret_event_name): New static function. Create shared event name
858 with "Global\" prefix on systems supporting terminal services.
859 (fhandler_socket::set_connect_secret): Fix conditional.
860 (fhandler_socket::create_secret_event): Create secret event using
861 secret_event_name().
862 (fhandler_socket::close_secret_event): Ditto.
863 * shared.cc (shared_name): Create shared object name with "Global\"
864 prefix on systems supporting terminal services.
865 * wincap.cc: Set has_terminal_services capability throughout.
866 (wincap_2003): New global object representing Windows 2003 Server
867 capabilities.
293ce810 868 (wincapc::init): Accommodate Windows 2003 Server.
d4f3ce31
CV
869 * wincap.h (struct wincaps): Add has_terminal_services capability.
870
10bada05
CV
8712003-05-20 Charles Wilson <cygwin@cwilson.fastmail.fm>
872
873 * winsup/cygwin/include/cygwin/version.h: Bump API minor version.
874 * winsup/cygwin/include/cygwin/types.h: Define key_t as long long.
875 * winsup/cygwin/cygwin.din: Add ftok, _ftok.
876 * winsup/cygwin/ipc.cc (ftok): Rework implementation.
877
d8ee8ca5
CF
8782003-05-18 Joe Buehler <jhpb@hekimian.com>
879
10bada05 880 * spawn.cc (spawn_guts): Show more of command line in strace output.
d8ee8ca5 881
c8fa3426
TP
8822003-05-15 Thomas Pfaff <tpfaff@gmx.net>
883
884 * thread.h (pthread::init_mainthread): Remove function parameter.
885 (MTinterface::Init): Ditto.
886 * thread.cc (MTinterface::Init): Remove function parameter.
887 Always initialize reent_key.
888 (pthread::init_mainthread): Remove function parameter.
889 (MTinterface::fixup_after_fork): Fix pthread::init_mainthread call.
890 * dcrt0.cc (dll_crt_0_1) Fix calls to MTinterface::Init and
891 pthread::init_mainthread.
892 Call pthread::init_mainthread only when not forked.
b6717153 893
f2669f5d
CV
8942003-05-15 Corinna Vinschen <corinna@vinschen.de>
895
896 * fhandler_proc.cc (format_proc_meminfo): Make swap memory output
897 Linux style values.
898
5d575f7d
CV
8992003-05-13 Corinna Vinschen <corinna@vinschen.de>
900
901 * include/cygwin/config.h: Define __USE_INTERNAL_STAT64 appropriately.
902
194d9eb3
CV
9032003-05-12 Corinna Vinschen <corinna@vinschen.de>
904
905 * Makefile.in (CYGWIN_START): Define as crt0.o. Add to TARGET_LIBS.
906 * fhandler.h (fhandler_virtual::fstat): Remove useless declaration.
907 * fhandler_virtual.cc: Remove _COMPILING_NEWLIB define.
908 * ipc.cc (ftok): Use stat64.
909 * syscalls.cc (_fstat64): Remove alias.
910 (_fstat): Ditto.
911 (_stat): Ditto.
912 (_fstat64_r): New function.
913 (_fstat_r): Ditto.
914 (_stat64_r): Ditto.
915 (stat_r): Ditto.
916 * crt0.o: New file, moved from newlib.
917 * include/sys/param.h: Ditto.
918 * include/sys/utime.h: Ditto.
919 * include/sys/utmp.h: Ditto.
920 * include/sys/dirent.h: Ditto. Expose different struct dirent,
921 dependening of the environment.
922
cc95baad
CV
9232003-05-11 Corinna Vinschen <corinna@vinschen.de>
924
925 Replace ino_t by __ino64_t throughout.
926
aee70853
CV
9272003-05-11 Corinna Vinschen <corinna@vinschen.de>
928
929 * include/cygwin/types.h: Add key_t typedef.
930
066ca06f
CF
9312003-05-10 Christopher Faylor <cgf@redhat.com>
932
933 * dir.cc (readdir): Fill out new old_d_ino field.
934 * fhandler.h (fhandler_base::namehash): Define as ino_t.
935 (fhandler_base::get_namehash): Ditto.
936 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Accommodate
937 new 64 bit st_ino.
938 * fhandler_socket.cc (fhandler_socket::fstat): Ditto.
939 * path.cc (hash_path_name): Return ino_t.
940 * syscalls.cc (stat64_to_stat32): Convert 64 bit inode to 32 bit.
941 * winsup.h (hash_path_name): Declare as returning ino_t.
942 * include/cygwin/stat.h (__stat32): Use 32 bit st_ino.
943 (__stat64): Use 64 bit st_ino.
944 * include/cygwin/types.h (__ino64_t): Define.
945 (__ino32_t): Ditto.
946 (ino_t): Define appropriately.
947
3e66a81c
CV
9482003-05-10 Corinna Vinschen <corinna@vinschen.de>
949
950 * Makefile.in (NEW_FUNCTIONS): All 32/64 from 0.79 API get
951 leading underscore.
952 * cygwin.din: Ditto.
953 * include/cygwin/version.h: Bump API minor number.
954
d3b450f3
CV
9552003-05-09 Corinna Vinschen <corinna@vinschen.de>
956
957 * include/cygwin/config.h: New file.
958
9508ebc5
CF
9592003-05-09 Christopher Faylor <cgf@redhat.com>
960
961 * cygthread.cc (cygthread::detach): Prioritize waiting for I/O
962 completion over waiting for signal delivery.
963
0bb7254f
TP
9642003-05-06 Thomas Pfaff <tpfaff@gmx.net>
965
966 * signal.cc (nanosleep): Do not wait twice for signal arrival.
967
a6d745f5
CV
9682003-05-03 Corinna Vinschen <corinna@vinschen.de>
969
970 * include/cygwin/types.h: Fix erroneous definition of ino_t from
971 2003-04-28.
972
40d3c804
CV
9732003-05-03 Corinna Vinschen <corinna@vinschen.de>
974
975 * syscalls.cc (chown_worker): Allow chown'ing of socket files.
976
2238537c
TP
9772003-04-30 Thomas Pfaff <tpfaff@gmx.net>
978
979 * Makefile.in: Revert patch from 2003-04-17.
980
6ef342e4
CF
9812003-04-28 Brian Ford <ford@vss.fsi.com>
982
983 * profil.h (PROFADDR): Prevent overflow when text segments are larger
984 than 256k.
985 * profil.c (profthr_func): Raise thread priority for more accurate
986 sampling.
987
9882003-04-26 Christopher Faylor <cgf@redhat.com>
989
990 * path.cc (hash_path_name): Use ino_t as type.
991
7d6d38aa
CF
9922003-04-26 Christopher Faylor <cgf@redhat.com>
993
994 * errno.cc (_sys_nerr): Fix compile error erroneously checked in on
995 2003-04-23.
996
f615d74b
CV
9972003-04-25 Corinna Vinschen <corinna@vinschen.de>
998
999 * include/netinet/ip.h: Include netinet/in_systm.h and netinet/in.h
1000 to allow standalone usage (autoconf).
1001
5d9a7c87
CF
10022003-04-23 Christopher Faylor <cgf@redhat.com>
1003
1004 * fork.cc: Change SLOW_PID_REUSE to NO_SLOW_PID_REUSE and invert ifdef
1005 sense throughout.
1006
0eaf24fe
CF
10072003-04-22 Christopher Faylor <cgf@redhat.com>
1008
1009 * select.cc (fhandler_pipe::ready_for_read): Assure that get_guard is
1010 called for successful non-blocking pipe reads.
1011
e8a57b4f
CV
10122003-04-22 Corinna Vinschen <corinna@vinschen.de>
1013
1014 * include/inttypes.h: New file.
1015 * include/stdint.h: New file.
1016 * include/cygwin/in.h: Include stdint.h instead of sys/types.h.
1017 * include/cygwin/types.h: Include stdint.h. Remove typedefs for
1018 intN_t and uintN_t since these are defined in stdint.h now.
1019
99b1a40d
CF
10202003-04-21 Christopher Faylor <cgf@redhat.com>
1021
650dc784 1022 * include/cygwin/version.h: Bump DLL major number to 1005. Change DLL
99b1a40d
CF
1023 minor number to 0. Bump API minor number.
1024
beb54085
CV
10252003-04-20 Corinna Vinschen <corinna@vinschen.de>
1026
1027 * autoload.cc (CreateWindowStationA): Add.
1028 (SetProcessWindowStation): Add.
1029
6b3bdf38
CF
10302003-04-19 Christopher Faylor <cgf@redhat.com>
1031
1032 * wincap.h (wincaps:pty_needs_alloc_console): New element.
1033 (wincapc:pty_needs_alloc_console): New function.
1034 * wincap.cc: Add pty_needs_alloc_console throughout.
1035 * fhandler_tty.cc (fhandler_tty_slave::open): Open an "invisible"
1036 console on first pty allocation.
1037
afa18d8a
CF
10382003-04-18 Christopher Faylor <cgf@redhat.com>
1039
1040 * fhandler_tty.cc (fhandler_tty_slave::open): Allocate a console
1041 whenever a pty is allocated.
1042
4e0d8778
CF
10432003-04-18 Christopher Faylor <cgf@redhat.com>
1044
1045 * Makefile.in: Use ${nostdlib} variable.
1046
10472003-04-18 Diego Biurrun <diego@biurrun.de>
1048
1049 * fhandler_proc.cc (format_proc_cpuinfo): Change /proc/cpuinfo "vendor
1050 id" string to "vendor_id" to conform with Linux systems.
1051
4e837e73
CF
10522003-04-17 Christopher Faylor <cgf@redhat.com>
1053
1054 * syscalls.cc (setsid): Don't call FreeConsole if ctty is already < 0.
1055
f3c1c540
TP
10562003-04-17 Thomas Pfaff <tpfaff@gmx.net>
1057
1058 * Makefile.in: Add finline-functions optimization to CXXFLAGS.
1059 * autoload.cc (LoadDLLprime): Rename std_dll_init to
1060 _std_dll_init.
1061 (std_dll_init): Remove name mangling prototype. Add attributes
1062 used and noinline.
1063 (wsock_init): Ditto.
1064 Change wsock_init to _wsock_init in wsock32 and ws2_32
1065 LoadDLLprime.
1066 * exceptions.cc (unused_sig_wrapper): Remove prototype. Add
1067 attributes used and noinline.
1068 * pwdgrp.h ((pwdgrp (passwd *&)): Remove inline code.
1069 (pwdgrp (__group32 *&)): Ditto.
1070 * grp.cc (pwdgrp (passwd *&)): Outline constructor.
1071 (pwdgrp (__group32 *&)): Ditto.
1072
a4cea440
TP
10732003-04-17 Thomas Pfaff <tpfaff@gmx.net>
1074
1075 * thread.h (pthread::equal): New static method.
1076 * thread.cc: Rename pthread_equal to pthread::equal throughout.
1077 (pthread_equal): Use pthread::equal to compare threads ids.
1078
c448f78f
CF
10792003-04-15 Christopher Faylor <cgf@redhat.com>
1080
1081 * termios.cc (setspeed): New function.
1082 (cfsetospeed): Use setspeed to set speed.
1083 (cfsetispeed): Use setspeed to set speed.
1084
10852003-04-15 Chris January <chris@atomice.net>
1086
1087 * autoload.cc: Add load statement for UuidCreate, and
1088 UuidCreateSequential.
1089 * cpuid.h: New file.
1090 * cygwin.din: Export gethostid.
1091 * fhandler_proc.cc (cpuid): Move to cpuid.h.
1092 (can_set_flag): Move to cpuid.h.
1093 * syscalls.cc (gethostid): New function.
5f92bef8 1094 * version.h: Bump api minor version number to 83.
c448f78f 1095
ffb576fb
TP
10962003-04-15 Thomas Pfaff <tpfaff@gmx.net>
1097
1098 * thread.h (pthread_rwlock::release): New method.
c448f78f
CF
1099 * thread.cc (pthread_rwlock::unlock): Use release to signal waiting
1100 threads.
ffb576fb
TP
1101 (pthread_rwlock::rdlock_cleanup): Signal waiting threads after a
1102 cancelation.
1103 (pthread_rwlock::wrlock_cleanup): Ditto.
1104
b3acb772
CF
11052003-04-13 Pierre Humblet <pierre.humblet@ieee.org>
1106
1107 * mkvers.sh: Prefix day with 0 in date only when day < 10.
1108
2e23862a
CV
11092003-04-11 Pierre Humblet <pierre.humblet@ieee.org>
1110
1111 * security.cc (get_info_from_sd): New function.
1112 (get_nt_attribute): Only call read_sd and get_info_from_sd.
1113 Return void.
1114 (get_file_attribute): Move sd error handling to get_info_from_sd.
1115 and symlink handling to fhandler_disk_file::fstat_helper.
1116 (get_nt_object_attribute): Only call read_sd and get_info_from_sd.
1117 Return void.
1118 (get_object_attribute): Remove symlink handling and simply return -1
1119 when ntsec is off.
1120 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): For
1121 symlinks set the attribute, call get_file_attribute to get the ids
1122 and return. In the normal case call get_file_attribute with the
1123 addresses of the buffer ids and do not recheck if the file is a socket.
1124
73afb2ab
CF
11252003-04-10 Christopher Faylor <cgf@redhat.com>
1126
1127 * cygthread.cc (cygthread::stub): Initialize stack pointer earlier.
1128 (cygthread::simplestub): Initialize stack pointer.
1129 (cygthread::terminate_thread): Account for possibility that stack
1130 pointer has not been set. Issue warnings for unusual conditions.
1131
2a1e8e11
CV
11322003-04-10 Corinna Vinschen <corinna@vinschen.de>
1133
1134 * regex/regex.h: Define regoff_t as _off_t.
1135 * regex/regex2.h: Ditto.
1136
ac5ec961
CV
11372003-04-10 Corinna Vinschen <corinna@vinschen.de>
1138
1139 * cygwin.din: Export wcscoll, wcswidth and wcwidth.
1140 * include/cygwin/version.h: Bump API minor number.
1141
e5d6d535
CF
11422003-04-10 Christopher Faylor <cgf@redhat.com>
1143
1144 * cygthread.h: Change 'avail' cygthread element to 'inuse' throughout.
1145 * cygthread.cc: Ditto.
1146 (cygthread::stub): Don't initialize already initialized events.
1147 (cygthread::freerange): Don't create thread here.
1148 (cygthread::cygthread): Create thread here. Die if thread not created.
1149 (cygthread::operator new): Simplify. Just grab a thread structure from
1150 the pool. Don't try to start the thread.
1151 (cygthread::terminate_thread): Don't close event handles. Just reuse
d8ee8ca5 1152 them. Call MEM_RELEASE rather than MEM_DECOMMIT (from Joe uehler).
e5d6d535 1153
ca81cd60
CF
11542003-04-08 Bob Cassels <bcassels@abinitio.com>
1155
1156 * fhandler_console.cc (fhandler_console::read) Handle certain key up
1157 events, to allow pasting accented characters and typing them using the
1158 "alt + numerics" sequences.
1159
11602003-04-07 Christopher Faylor <cgf@redhat.com>
1161
1162 * include/limits.h (IOV_MAX): Set to a number which is small enough to
1163 use in an array.
1164
b410f168
CF
11652003-04-04 Christopher Faylor <cgf@redhat.com>
1166
9dbe3289
CF
1167 * cygthread.h (cygthread::avail): Make LONG for easier use with
1168 Interlocked* functions.
1169 * cygthread.cc (cygthread::init): Eliminate unneeded muto.
1170 (cygthread::operator new): Don't lock. Instead change use of avail
1171 variable into tri-state: available (1), not available (-1),
1172 uninitialized (0).
1173 (cygthread::terminate_thread): Set avail to uninitialized.
1174 (cygthread::detach): Eliminate local 'avail'. Always set avail to 1
1175 unless signalled.
1176
11772003-04-04 Christopher Faylor <cgf@redhat.com>
1178
1179 * cygthread.cc (cygthread::operator new): Be more defensive when messing with
b410f168
CF
1180 threads that are marked "unavailable".
1181
a61bf8c3
CF
11822003-04-03 Christopher Faylor <cgf@redhat.com>
1183
1184 * fhandler_console.cc (CONVERT_LIMIT): Use a size for the 21st century.
1185
d5292d66
CV
11862003-04-03 Corinna Vinschen <corinna@vinschen.de>
1187
1188 * external.cc (check_ntsec): Return general ntsec state on NULL
1189 filename. Check wincap.is_security() additionally.
1190
5a87c616
CF
11912003-04-02 Christopher Faylor <cgf@redhat.com>
1192
1193 * Makefile.in (EXTRA_OFILES): Remove debugging object.
1194
d99c6176
CF
11952003-04-02 Jason Tishler <jason@tishler.net>
1196 Christopher Faylor <cgf@redhat.com>
1197
1198 * external.cc (check_ntsec): New function.
1199 (cygwin_internal): Add CW_CHECK_NTSEC handling to call check_ntsec()
1200 from applications.
1201 * include/cygwin/version.h: Bump API minor number.
1202 * include/sys/cygwin.h (cygwin_getinfo_types): Add CW_CHECK_NTSEC.
1203
12042003-04-02 Christopher Faylor <cgf@redhat.com>
1205
1206 * cygthread.cc (cygthread::new): Add more defensive debugging.
1207
2d388e43 12082003-04-01 Pierre Humblet <pierre.humblet@ieee.org>
d99c6176 1209
2d388e43
CV
1210 * fhandler.cc (fhandler_base::fstat): Set the uid and gid fields
1211 from the current effective ids.
1212 * fhandler_socket.cc (fhandler_socket::fstat): Keep the uid and gid set
1213 by fhandler_base::fstat.
1214 * security.cc (get_nt_attribute): Do not test wincap.has_security ().
1215 (get_nt_object_attribute): Ditto.
1216 (get_file_attribute): Add test for wincap.has_security ().
1217 (get_object_attribute): Ditto.
1218
1727fba0
CV
12192003-04-01 Corinna Vinschen <corinna@vinschen.de>
1220
1221 * dir.cc: Change __off32_t to _off_t and __off64_t to _off64_t
1222 throughout.
1223 * fhandler.cc: Ditto.
1224 * fhandler.h: Ditto.
1225 * fhandler_clipboard.cc: Ditto.
1226 * fhandler_disk_file.cc: Ditto.
1227 * fhandler_dsp.cc: Ditto.
1228 * fhandler_floppy.cc: Ditto.
1229 * fhandler_mem.cc: Ditto.
1230 * fhandler_proc.cc: Ditto.
1231 * fhandler_process.cc: Ditto.
1232 * fhandler_random.cc: Ditto.
1233 * fhandler_registry.cc: Ditto.
1234 * fhandler_tape.cc: Ditto.
1235 * fhandler_termios.cc: Ditto.
1236 * fhandler_virtual.cc: Ditto.
1237 * fhandler_zero.cc: Ditto.
1238 * mmap.cc: Ditto.
1239 * pipe.cc: Ditto.
1240 * syscalls.cc: Ditto.
1241 * winsup.h: Ditto.
1242 * include/cygwin/stat.h: Ditto.
1243 * include/cygwin/types.h: Ditto. Remove definition of __off32_t
1244 and __off64_t.
1245
333879e7
CF
12462003-03-31 Christopher Faylor <cgf@redhat.com>
1247
1248 * exceptions.cc (setup_handler): Make sure winapi lock is released when
1249 exiting loop.
1250
a2105d93
CF
12512003-03-30 Christopher Faylor <cgf@redhat.com>
1252
1253 * include/cygwin/fs.h: Remove unneeded include.
1254 * include/cygwin/in.h: Include sys/types.h rather than cygwin/types.h.
1255
856a9750
CV
12562003-03-29 Corinna Vinschen <corinna@vinschen.de>
1257
1258 * syscalls.cc (login): Fix comment.
1259 (logout): Ditto.
1260
8304de2e
CV
12612003-03-29 Corinna Vinschen <corinna@vinschen.de>
1262
1263 * syscalls.cc: Slightly cleanup all utmp functions.
1264 (login): Use mutex to secure against concurrent access to wtmp file.
1265 (logout): Rewrite using POSIX calls.
1266 (utmp_fd): Initialized to -1 now. Any value < 0 is treated as closed
1267 in subsequent functions.
1268 (utmp_readonly): New variable, indicating utmp file open for reading
1269 only.
1270 (internal_setutent): New function implementing setutent().
1271 (setutent): Call internal_setutent now.
1272 (endutent): Reset utmp_readonly.
1273 (getutent): Return immediately if utmp file can't be opened.
1274 (getutid): Ditto.
1275 (getutline): Ditto.
1276 (pututline): Ditto. Use mutex to secure against concurrent access to
1277 utmp file.
1278
46c8214c
CF
12792003-03-28 Christopher Faylor <cgf@redhat.com>
1280
1281 * Makefile.in: Remove EXE_LDFLAGS. Fix fhandler_CFLAGS typo. Recognize .s suffix.
1282 * configure.in: Remove EXE_LDFLAGS.
1283 * configure: Regenerate.
1284
a7ab35c1
CF
12852003-03-28 Christopher Faylor <cgf@redhat.com>
1286
1287 * include/sys/cygwin.h: Declare cygwin_internal as unsigned long.
1288 * external.cc (cygwin_internal): Define as unsigned long.
1289
12902003-03-27 Christopher Faylor <cgf@redhat.com>
1291
1292 * include/sys/cygwin.h: Move cygwin_internal outside of WINVER
1293 conditional.
1294
eff6c00e
TP
12952003-03-27 Thomas Pfaff <tpfaff@gmx.net>
1296
1297 * thread.cc: Change 1==foo equations to foo==1 throughout.
1298
15648790
TP
12992003-03-27 Thomas Pfaff <tpfaff@gmx.net>
1300
1301 * thread.h: Change class names, methods, members and local vars
1302 according to the GNU coding style.
1303 * thread.cc: Ditto.
1304 * dcrt0.cc (dll_crt0_1): Rename pthread::initMainThread call to
1305 pthread::init_mainthread.
1306 * pthread.cc (pthead_getsequence_np): Rename pthread::isGoodObject
1307 call to pthread::is_good_object.
1308
98b36ec8
CV
13092003-03-27 Joe Buehler <jhpb@draco.hekimian.com>
1310
1ce82d24
CF
1311 * autoload.cc: Add RegGetKeySecurity().
1312 * security.cc (get_nt_object_attribute): Use RegGetKeySecurity() for
98b36ec8
CV
1313 performance.
1314
85738bf7
CF
13152003-03-25 Christopher Faylor <cgf@redhat.com>
1316 Joe Buehler <jhpb@draco.hekimian.com>
1317
1318 * fork.cc (fork_parent): Don't copy signals from parent to child here.
1319 * sigproc.cc (proc_subproc): Copy signals from parent to child pinfo
1320 here.
1321
9306ba2e
TP
13222003-03-23 Thomas Pfaff <tpfaff@gmx.net>
1323
85738bf7
CF
1324 * thread.h (class List): Move inline code inside class declaration.
1325 (List::forEach): Change callback parameter to template class member
1326 function pointer.
1327 (pthread_keys::fixup_before_fork): Change to inline. Use List::forEach
1328 to fixup keys.
9306ba2e
TP
1329 (pthread_keys::fixup_after_fork): Ditto.
1330 (pthread_keys::runAllDestructors): Ditto.
1331 (pthread_key::saveAKey): Remove.
1332 (pthread_key::restoreAKey): Ditto.
1333 (pthread_key::destroyAKey): Ditto.
1334 (pthread_key::run_destructor): Rename to runDestructor.
85738bf7
CF
1335 (pthread_mutex::fixup_after_fork): Change to inline. Use List::forEach
1336 to fixup mutexes after a fork.
9306ba2e
TP
1337 (pthread_mutex::FixupAfterFork): New method.
1338 (pthread_mutex::mutexes): New member.
85738bf7
CF
1339 (pthread_cond::fixup_after_fork): Change to inline. Use List::forEach
1340 to fixup conds after a fork.
9306ba2e
TP
1341 (pthread_cond::FixupAfterFork): New method.
1342 (pthread_cond::conds): New member.
85738bf7 1343 (pthread_rwlock::fixup_after_fork): Change to inline. Use
9306ba2e
TP
1344 List::forEach to fixup rwlocks after a fork.
1345 (pthread_rwlock::FixupAfterFork): New method.
1346 (pthread_rwlock::rwlocks): New member.
85738bf7
CF
1347 (semaphore::fixup_after_fork): Change to inline. Use List::forEach to
1348 fixup mutexes after a fork.
9306ba2e
TP
1349 (semaphore::FixupAfterFork): New method.
1350 (semaphore::semaphores): New member.
1351 (MTinterface::mutexs): Remove.
1352 (MTinterface::conds): Ditto.
1353 (MTinterface::rwlocks): Ditto.
1354 (MTinterface::semaphores): Ditto.
1355 (pthread_equal): Add extern "C".
1356 (pthread_mutex_lock): Ditto.
85738bf7
CF
1357
1358 * thread.cc (MTinterface::fixup_after_fork): Change fixup_after_fork
1359 calls for pthread objects.
9306ba2e 1360 (semaphore::conds): Instantiate.
85738bf7
CF
1361 (pthread_cond::pthread_cond): Use List::Insert rather than custom list
1362 code.
1363 (pthread_cond::~pthread_cond): Use List::Remove rather than custom list
1364 code.
9306ba2e
TP
1365 (pthread_cond::fixup_after_fork): Rename to FixupAfterFork.
1366 (pthread_rwlock::rwlocks): Instantiate.
85738bf7
CF
1367 (pthread_rwlock::pthread_crwlock): Use List::Insert rather than custom
1368 list code.
1369 (pthread_rwlock::~pthread_rwlock): Use List::Remove rather than custom
1370 list code.
9306ba2e
TP
1371 (pthread_rwlock::fixup_after_fork): Rename to FixupAfterFork.
1372 (pthread_key::saveAKey): Remove.
1373 (pthread_key::fixup_before_fork): Ditto.
1374 (pthread_key::restoreAKey): Ditto.
1375 (pthread_key::fixup_after_fork): Ditto.
1376 (pthread_key::destroyAKey): Ditto.
1377 (pthread_key::runAllDestructors): Ditto.
1378 (pthread_key::run_destructor): Rename to runDestructor.
1379 (pthread_mutex::mutexes): Instantiate.
85738bf7
CF
1380 (pthread_mutex::pthread_mutex): Use List::Insert rather than custom
1381 list code.
1382 (pthread_mutex::~pthread_mutex): Use List::Remove rather than custom
1383 list code.
9306ba2e
TP
1384 (pthread_mutex::fixup_after_fork): Rename to FixupAfterFork.
1385 (semaphore::conds): Instantiate.
85738bf7
CF
1386 (semaphore::semaphore): Use List::Insert rather than custom list code.
1387 (semaphores::~semaphore): Use List::Remove rather than custom list
9306ba2e 1388 code.
9306ba2e
TP
1389 (semaphore::fixup_after_fork): Rename to FixupAfterFork.
1390
ff3ef36d
CF
13912003-03-22 Christopher Faylor <cgf@redhat.com>
1392
1393 * pipe.cc (fhandler_pipe::dup): Don't dup input_handle if it doesn't
1394 exist.
1395
ca04f61f
CF
13962003-03-22 Christopher Faylor <cgf@redhat.com>
1397
1398 * syscalls.cc (unlink): Be more defensive when SetFileAttributes is
1399 called. Fix typo in debugging output.
1400
89e7a1ce
CF
14012003-03-21 Christopher Faylor <cgf@redhat.com>
1402
1403 * fork.cc: Conditionalize use of slow_pid_reuse throughout. It's not
1404 necessary for newer versions of bash.
1405
fa85038b
CV
14062003-03-20 Corinna Vinschen <corinna@vinschen.de>
1407
1408 * fhandler_socket.cc (fhandler_socket::sendto): Restrict EPIPE and
1409 SIGPIPE handling to connection oriented sockets. Add comment.
1410
4da34970
CF
14112003-03-19 Christopher Faylor <cgf@redhat.com>
1412
1413 * sigproc.h (signal_fixup_after_exec): Eliminate argument in declaration.
1414 * exceptions.cc (signal_fixup_after_exec): Eliminate argument in
1415 definition. Don't reset signal handlers after spawm. Just treat like
1416 fork/exec.
1417 * dcrt0.cc (dll_crt0_1): Don't pass PROC_SPAWN argument to
1418 signal_fixup_after_exec.
1419 * syscalls.cc (unlink): Don't change attributes of file if not readonly/system.
1420 Ditto for resetting of arguments.
1421
036ac6b3
CV
14222003-03-19 Corinna Vinschen <corinna@vinschen.de>
1423
1424 * glob.c: Eliminate __INSIDE_CYGWIN__ preprocessor conditionals
1425 throughout.
1426
b1897d27
CV
14272003-03-19 Corinna Vinschen <corinna@vinschen.de>
1428
1429 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Fix
1430 wrong usage of S_IFDIR.
1431 * security.cc (get_attribute_from_acl): Ditto.
1432 (get_file_attribute): Fix wrong usage of S_IFLNK.
1433 (get_object_attribute): Ditto.
1434 (alloc_sd): Fix wrong usage of S_IFDIR.
1435 * syscalls.cc (chmod): Allow chmod'ing of socket files.
1436
c16d0946
CV
14372003-03-19 Corinna Vinschen <corinna@vinschen.de>
1438
1439 * include/cygwin/version.h (CYGWIN_VERSION_CHECK_FOR_USING_BIG_TYPES):
1440 Define.
1441 * glob.c (g_lstat): Use CYGWIN_VERSION_CHECK_FOR_USING_BIG_TYPES
1442 instead of numerical constants.
1443 (g_stat): Ditto.
1444
6a80a133
TP
14452003-03-18 Thomas Pfaff <tpfaff@gmx.net>
1446
1447 * pthread.cc (pthread_attr_init): Remove
1448 (pthread_attr_destroy): Ditto.
1449 (pthread_attr_setdetachstate): Ditto.
1450 (pthread_attr_getdetachstate): Ditto.
1451 (pthread_attr_setstacksize): Ditto.
1452 (pthread_attr_getstacksize): Ditto.
1453 (pthread_attr_setinheritsched): Ditto.
1454 (pthread_attr_getinheritsched): Ditto.
1455 (pthread_attr_setschedparam): Ditto.
1456 (pthread_attr_getschedparam): Ditto.
1457 (pthread_attr_setschedpolicy): Ditto.
1458 (pthread_attr_getschedpolicy): Ditto.
1459 (pthread_attr_setscope): Ditto.
1460 (pthread_attr_getscope): Ditto.
1461 (pthread_attr_setstackaddr): Ditto.
1462 (pthread_attr_getstackaddr): Ditto.
1463 (pthread_key_create): Ditto.
1464 (pthread_key_delete): Ditto.
1465 (pthread_setspecific): Ditto.
1466 (pthread_getspecific): Ditto.
1467 (pthread_kill): Ditto.
1468 (pthread_sigmask): Ditto.
1469 (pthread_equal): Ditto.
1470 (pthread_mutex_lock): Ditto.
1471 (pthread_mutex_trylock): Ditto.
1472 (pthread_mutex_unlock): Ditto.
1473 (pthread_mutex_destroy): Ditto.
1474 (pthread_mutex_setprioceiling): Ditto.
1475 (pthread_mutex_getprioceiling): Ditto.
1476 (pthread_mutexattr_destroy): Ditto.
1477 (pthread_mutexattr_getprioceiling): Ditto.
1478 (pthread_mutexattr_getprotocol): Ditto.
1479 (pthread_mutexattr_getpshared): Ditto.
1480 (pthread_mutexattr_gettype): Ditto.
1481 (pthread_mutexattr_init): Ditto.
1482 (pthread_mutexattr_setprioceiling): Ditto.
1483 (pthread_mutexattr_setprotocol): Ditto.
1484 (pthread_mutexattr_setpshared): Ditto.
1485 (pthread_mutexattr_settype): Ditto.
1486 (pthread_cond_destroy): Ditto.
1487 (pthread_cond_signal): Ditto.
1488 (pthread_cond_broadcast): Ditto.
1489 (pthread_condattr_init): Ditto.
1490 (pthread_condattr_destroy): Ditto.
1491 (pthread_condattr_getpshared): Ditto.
1492 (pthread_condattr_setpshared): Ditto.
1493 (pthread_rwlock_destroy): Ditto.
1494 (pthread_rwlock_rdlock): Ditto.
1495 (pthread_rwlock_tryrdlock): Ditto.
1496 (pthread_rwlock_wrlock): Ditto.
1497 (pthread_rwlock_trywrlock): Ditto.
1498 (pthread_rwlock_unlock): Ditto.
1499 (pthread_rwlockattr_init): Ditto.
1500 (pthread_rwlockattr_getpshared): Ditto.
1501 (pthread_rwlockattr_setpshared): Ditto.
1502 (pthread_rwlockattr_destroy): Ditto.
1503 (pthread_getconcurrency): Ditto.
1504 (pthread_setconcurrency): Ditto.
1505 (pthread_getschedparam): Ditto.
1506 (pthread_setschedparam): Ditto.
1507
1508 * thread.h (__pthread_attr_init): Remove prototype.
1509 (__pthread_attr_destroy): Ditto.
1510 (__pthread_attr_setdetachstate): Ditto.
1511 (__pthread_attr_getdetachstate): Ditto.
1512 (__pthread_attr_setstacksize): Ditto.
1513 (__pthread_attr_getstacksize): Ditto.
1514 (__pthread_attr_setinheritsched): Ditto.
1515 (__pthread_attr_getinheritsched): Ditto.
1516 (__pthread_attr_setschedparam): Ditto.
1517 (__pthread_attr_getschedparam): Ditto.
1518 (__pthread_attr_setschedpolicy): Ditto.
1519 (__pthread_attr_getschedpolicy): Ditto.
1520 (__pthread_attr_setscope): Ditto.
1521 (__pthread_attr_getscope): Ditto.
1522 (__pthread_attr_setstackaddr): Ditto.
1523 (__pthread_attr_getstackaddr): Ditto.
1524 (__pthread_key_create): Ditto.
1525 (__pthread_key_delete): Ditto.
1526 (__pthread_setspecific): Ditto.
1527 (__pthread_getspecific): Ditto.
1528 (__pthread_kill): Ditto.
1529 (__pthread_sigmask): Ditto.
1530 (__pthread_equal): Ditto.
1531 (__pthread_mutex_lock): Ditto.
1532 (__pthread_mutex_trylock): Ditto.
1533 (__pthread_mutex_unlock): Ditto.
1534 (__pthread_mutex_destroy): Ditto.
1535 (__pthread_mutex_setprioceiling): Ditto.
1536 (__pthread_mutex_getprioceiling): Ditto.
1537 (__pthread_mutexattr_destroy): Ditto.
1538 (__pthread_mutexattr_getprioceiling): Ditto.
1539 (__pthread_mutexattr_getprotocol): Ditto.
1540 (__pthread_mutexattr_getpshared): Ditto.
1541 (__pthread_mutexattr_gettype): Ditto.
1542 (__pthread_mutexattr_init): Ditto.
1543 (__pthread_mutexattr_setprioceiling): Ditto.
1544 (__pthread_mutexattr_setprotocol): Ditto.
1545 (__pthread_mutexattr_setpshared): Ditto.
1546 (__pthread_mutexattr_settype): Ditto.
1547 (__pthread_cond_destroy): Ditto.
1548 (__pthread_cond_signal): Ditto.
1549 (__pthread_cond_broadcast): Ditto.
1550 (__pthread_condattr_init): Ditto.
1551 (__pthread_condattr_destroy): Ditto.
1552 (__pthread_condattr_getpshared): Ditto.
1553 (__pthread_condattr_setpshared): Ditto.
1554 (__pthread_rwlock_destroy): Ditto.
1555 (__pthread_rwlock_rdlock): Ditto.
1556 (__pthread_rwlock_tryrdlock): Ditto.
1557 (__pthread_rwlock_wrlock): Ditto.
1558 (__pthread_rwlock_trywrlock): Ditto.
1559 (__pthread_rwlock_unlock): Ditto.
1560 (__pthread_rwlockattr_init): Ditto.
1561 (__pthread_rwlockattr_getpshared): Ditto.
1562 (__pthread_rwlockattr_setpshared): Ditto.
1563 (__pthread_rwlockattr_destroy): Ditto.
1564 (__pthread_getconcurrency): Ditto.
1565 (__pthread_setconcurrency): Ditto.
1566 (__pthread_getschedparam): Ditto.
1567 (__pthread_setschedparam): Ditto.
1568
1569 * thread.cc: Rename __pthread_equal to pthread_equal throughout.
1570 Change pthread_self parameter appropriate.
1571 (__pthread_attr_init): Remove __ prefix. Change to extern "C".
1572 (__pthread_attr_destroy): Ditto.
1573 (__pthread_attr_setdetachstate): Ditto.
1574 (__pthread_attr_getdetachstate): Ditto.
1575 (__pthread_attr_setstacksize): Ditto.
1576 (__pthread_attr_getstacksize): Ditto.
1577 (__pthread_attr_setinheritsched): Ditto.
1578 (__pthread_attr_getinheritsched): Ditto.
1579 (__pthread_attr_setschedparam): Ditto.
1580 (__pthread_attr_getschedparam): Ditto.
1581 (__pthread_attr_setschedpolicy): Ditto.
1582 (__pthread_attr_getschedpolicy): Ditto.
1583 (__pthread_attr_setscope): Ditto.
1584 (__pthread_attr_getscope): Ditto.
1585 (__pthread_attr_setstackaddr): Ditto.
1586 (__pthread_attr_getstackaddr): Ditto.
1587 (__pthread_key_create): Ditto.
1588 (__pthread_key_delete): Ditto.
1589 (__pthread_setspecific): Ditto.
1590 (__pthread_getspecific): Ditto.
1591 (__pthread_kill): Ditto.
1592 (__pthread_sigmask): Ditto.
1593 (__pthread_equal): Ditto.
1594 (__pthread_mutex_lock): Ditto.
1595 (__pthread_mutex_trylock): Ditto.
1596 (__pthread_mutex_unlock): Ditto.
1597 (__pthread_mutex_destroy): Ditto.
1598 (__pthread_mutex_setprioceiling): Ditto.
1599 (__pthread_mutex_getprioceiling): Ditto.
1600 (__pthread_mutexattr_destroy): Ditto.
1601 (__pthread_mutexattr_getprioceiling): Ditto.
1602 (__pthread_mutexattr_getprotocol): Ditto.
1603 (__pthread_mutexattr_getpshared): Ditto.
1604 (__pthread_mutexattr_gettype): Ditto.
1605 (__pthread_mutexattr_init): Ditto.
1606 (__pthread_mutexattr_setprioceiling): Ditto.
1607 (__pthread_mutexattr_setprotocol): Ditto.
1608 (__pthread_mutexattr_setpshared): Ditto.
1609 (__pthread_mutexattr_settype): Ditto.
1610 (__pthread_cond_destroy): Ditto.
1611 (__pthread_cond_signal): Ditto.
1612 (__pthread_cond_broadcast): Ditto.
1613 (__pthread_condattr_init): Ditto.
1614 (__pthread_condattr_destroy): Ditto.
1615 (__pthread_condattr_getpshared): Ditto.
1616 (__pthread_condattr_setpshared): Ditto.
1617 (__pthread_rwlock_destroy): Ditto.
1618 (__pthread_rwlock_rdlock): Ditto.
1619 (__pthread_rwlock_tryrdlock): Ditto.
1620 (__pthread_rwlock_wrlock): Ditto.
1621 (__pthread_rwlock_trywrlock): Ditto.
1622 (__pthread_rwlock_unlock): Ditto.
1623 (__pthread_rwlockattr_init): Ditto.
1624 (__pthread_rwlockattr_getpshared): Ditto.
1625 (__pthread_rwlockattr_setpshared): Ditto.
1626 (__pthread_rwlockattr_destroy): Ditto.
1627 (__pthread_getconcurrency): Ditto.
1628 (__pthread_setconcurrency): Ditto.
1629 (__pthread_getschedparam): Ditto.
1630 (__pthread_setschedparam): Ditto.
1631
00d296a3
TP
16322003-03-18 Thomas Pfaff <tpfaff@gmx.net>
1633
1634 * cygwin.din: Add pthread_rwlock_destroy, pthread_rwlock_init,
1635 pthread_rwlock_rdlock, pthread_rwlock_tryrdlock,
1636 pthread_rwlock_wrlock, pthread_rwlock_trywrlock,
1637 pthread_rwlock_unlock, pthread_rwlockattr_init,
1638 pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared,
1639 and pthread_rwlockattr_destroy.
1640 * include/cygwin/version.h: Bump API minor number.
1641 * include/pthread.h (PTHREAD_RWLOCK_INITIALIZER): Define a
1642 reasonable value.
1643 Add prototypes for pthread_rwlock_destroy, pthread_rwlock_init,
1644 pthread_rwlock_rdlock, pthread_rwlock_tryrdlock,
1645 pthread_rwlock_wrlock, pthread_rwlock_trywrlock,
1646 pthread_rwlock_unlock, pthread_rwlockattr_init,
1647 pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared,
1648 and pthread_rwlockattr_destroy.
1649 * thread.h (PTHREAD_ONCE_MAGIC): Remove superflous semicolon.
1650 (PTHREAD_RWLOCK_MAGIC): New define.
1651 (PTHREAD_RWLOCKATTR_MAGIC): Ditto.
1652 (pthread_rwlockattr): New class.
1653 (pthread_rwlock): Ditto.
1654 (MTinterface::rwlocks): New member.
1655 (MTinterface::MTinterface): Initialize rwlocks.
1656 Add prototypes for __pthread_rwlock_destroy,
1657 __pthread_rwlock_wrlock, __pthread_rwlock_trywrlock,
1658 __pthread_rwlock_unlock, __pthread_rwlockattr_init,
1659 __pthread_rwlockattr_getpshared, __pthread_rwlockattr_setpshared,
1660 and __pthread_rwlockattr_destroy.
1661 * thread.cc (MTinterface::Init): Initialize rwlock internal mutex.
1662 (MTinterface::fixup_after_fork): Fixup rwlocks after fork.
1663 (pthread_rwlockattr::isGoodObject): Implement.
1664 (pthread_rwlockattr::pthread_rwlockattr): Ditto.
1665 (pthread_rwlockattr::~pthread_rwlockattr): Ditto.
1666 (pthread_rwlock::initMutex): Ditto.
1667 (pthread_rwlock::pthread_rwlock): Ditto.
1668 (pthread_rwlock::~pthread_rwlock): Ditto.
1669 (pthread_rwlock::RdLock): Ditto.
1670 (pthread_rwlock::TryRdLock): Ditto.
1671 (pthread_rwlock::WrLock): Ditto.
1672 (pthread_rwlock::TryWrLock): Ditto.
1673 (pthread_rwlock::UnLock): Ditto.
1674 (pthread_rwlock::addReader): Ditto.
1675 (pthread_rwlock::removeReader): Ditto.
1676 (pthread_rwlock::lookupReader): Ditto.
1677 (pthread_rwlock::RdLockCleanup): Ditto.
1678 (pthread_rwlock::WrLockCleanup): Ditto.
1679 (pthread_rwlock::fixup_after_fork): Ditto.
1680 (pthread_rwlock::isGoodObject): Ditto.
1681 (pthread_rwlock::isGoodInitializer): Ditto.
1682 (pthread_rwlock::isGoodInitializerOrObject): Ditto.
1683 (pthread_rwlock::isGoodInitializerOrBadObject): Ditto.
1684 (__pthread_rwlock_destroy): Ditto.
1685 (pthread_rwlock::init): Ditto.
1686 (__pthread_rwlock_rdlock): Ditto.
1687 (__pthread_rwlock_tryrdlock): Ditto.
1688 (__pthread_rwlock_wrlock): Ditto.
1689 (__pthread_rwlock_trywrlock): Ditto.
1690
f592b05d
TP
16912003-03-18 Thomas Pfaff <tpfaff@gmx.net>
1692
1693 * thread.h (pthread_cond::ExitingWait): Remove.
1694 (pthread_cond::mutex): Ditto.
1695 (pthread_cond::cond_access): Ditto.
1696 (pthread_cond::win32_obj_id): Ditto.
1697 (pthread_cond::TimedWait): Ditto.
1698 (pthread_cond::BroadCast): Ditto.
1699 (pthread_cond::Signal): Ditto.
1700 (pthread_cond::waiting): Change type to unsigned long.
1701 (pthread_cond::pending): New member.
1702 (pthread_cond::semWait): Ditto.
1703 (pthread_cond::mtxIn): Ditto.
1704 (pthread_cond::mtxOut): Ditto.
1705 (pthread_cond::mtxCond): Ditto.
1706 (pthread_cond::UnBlock): New method.
1707 (pthread_cond::Wait): Ditto.
1708 * thread.cc: Update list of cancellation points.
1709 (pthread_cond::pthread_cond): Rewrite.
1710 (pthread_cond::~pthread_cond): Ditto.
1711 (pthread_cond::TimedWait): Remove.
1712 (pthread_cond::BroadCast): Ditto.
1713 (pthread_cond::Signal): Ditto.
1714 (pthread_cond::UnBlock): Implement.
1715 (pthread_cond::Wait): Ditto.
1716 (pthread_cond::fixup_after_fork): Rewrite.
1717 (pthread_mutex::fixup_after_fork): Remove DETECT_BAD_APP
1718 conditional.
1719 (__pthread_cond_broadcast): Just return 0 if the condition is
1720 not initialized. Call pthread_cond::UnBlock to release blocked
1721 threads.
1722 (__pthread_cond_signal): Ditto.
1723 (__pthread_cond__dowait): Rewrite.
1724 (pthread_cond_timedwait): Add pthread_testcancel call. Fix
1725 waitlength calculation.
1726 (pthread_cond_wait): Add pthread_testcancel call.
1727
2ff03dc2
TP
17282003-03-18 Thomas Pfaff <tpfaff@gmx.net>
1729
1730 * include/pthread.h (PTHREAD_MUTEX_NORMAL): New define.
1731 * thread.cc: Remove errno.h include.
1732 (pthread::precreate): Change internal mutex type to normal.
1733 (pthread_mutex::canBeUnlocked): Implement.
1734 (pthread_mutex::pthread_mutex): Initialize lock_counter with 0.
1735 (pthread_mutex::Lock): Rename to _Lock. Add self parameter.
1736 Change lock_counter logic. Update SetOwner call.
1737 (pthread_mutex::TryLock): Rename to _TryLock. Add self parameter.
1738 Change lock_counter logic. Update SetOwner call.
1739 (pthread_mutex::UnLock): Rename to _UnLock. Add self parameter.
1740 Change lock_counter logic.
1741 (pthread_mutex::Destroy): Rename to _Destroy. Update TryLock call.
1742 (pthread_mutex::SetOwner): Move to thread.h as inline.
1743 (pthread_mutex::LockRecursive): Ditto.
1744 (pthread_mutex::fixup_after_fork): Change lock_counter logic.
1745 (__pthread_mutexattr_settype): Add PTHREAD_MUTEX_NORMAL to valid
1746 types check.
1747 * thread.h: Include errno.h and limits.h.
1748 (MUTEX_LOCK_COUNTER_INITIAL): Remove.
1749 (MUTEX_OWNER_ANONYMOUS): New define.
1750 (pthread_mutex::canBeUnlocked): New static method.
1751 (pthread_mutex::lock_counter): Change type to unsigned long.
1752 (pthread_mutex::GetPthreadSelf): New method.
1753 (pthread_mutex::Lock): Call _Lock with pthread_self pointer.
1754 (pthread_mutex::TryLock): Call _TryLock with pthread_self pointer.
1755 (pthread_mutex::UnLock): Call _UnLock with pthread_self pointer.
1756 (pthread_mutex::Destroy): Call _Destroy with pthread_self pointer.
1757 (pthread_mutex::SetOwner): Moved from thread.cc as inline.
1758 (pthread_mutex::LockRecursive): Ditto.
1759 (pthread_mutex::_Lock): New method.
1760 (pthread_mutex::_TryLock): New method.
1761 (pthread_mutex::_UnLock): New method.
1762 (pthread_mutex::_Destroy): New method.
1763
dcd350f0
CV
17642003-03-18 Christopher January <chris@atomice.net>
1765
1766 * fhandler_proc.cc (format_proc_cpuinfo): Use IsProcessorFeaturePresent
1767 only on Windows NT. Read CPU Mhz value only on NT. Revert previous
1768 change so cpuid instruction is called even on non-NT systems.
1769
c51dc9c2
CV
17702003-03-17 Corinna Vinschen <corinna@vinschen.de>
1771
a2105d93 1772 * glob.c (g_lstat): Change API minor test to match API minor number
c51dc9c2
CV
1773 change in previous patch.
1774 (g_stat): Ditto.
1775
f194ba1f
CF
17762003-03-17 Christopher Faylor <cgf@redhat.com>
1777
1778 * include/cygwin/version.h: Reorganize last two api versions so that
1779 btowc and trunc exports show up before previous bump since there has
1780 been no exported version of the DLL with the 64 bit changes yet but
1781 1.3.22 will have the btowc and trunc.
1782
3543669f
CF
17832003-03-17 Christopher Faylor <cgf@redhat.com>
1784
1785 * cygwin.din: Export btowc, trunc.
1786 * include/cygwin/version.h: Reflect new exports.
1787 * syscalls.cc (_stat): Rename to stat to avoid newlib wrapper.
1788 * syscalls.cc (_fstat): Ditto.
1789
17902003-03-16 Christopher Faylor <cgf@redhat.com>
1791
1792 * fhandler_console.cc (fhandler_console::close): Correct check for
1793 current tty. Add debugging output when console is freed.
1794 (set_console_state_for_spawn): Add debugging output.
1795 * fhandler_tty.cc (fhandler_tty_slave::open): Don't decrement console
1796 open flag when vforking.
1797 * sigproc.cc (sigproc_terminate): Fix debugging output.
1798 * spawn.cc (handle): Eliminate second argument.
1799 (spawn_guts): Reflect elimination of argument change to handle.
1800 * syscalls.cc (setsid): Add debugging output when console is freed.
1801
18022003-03-14 Christopher Faylor <cgf@redhat.com>
1803
1804 * syscalls.cc (rename): Revert assumption that DELETE_ON_CLOSE works on
1805 Win9x.
1806
41ffdfa5
CF
18072003-03-13 Christopher Faylor <cgf@redhat.com>
1808
1809 * include/cygwin/version.h: Bump DLL minor number to 23.
1810
5b186cd9
CV
18112003-03-13 Corinna Vinschen <corinna@vinschen.de>
1812
1813 * autoload.cc (IsProcessorFeaturePresent): Add.
1814 * fhandler_proc.cc (format_proc_cpuinfo): Add case for 9x systems.
1815
c58555c7
CV
18162003-03-13 Corinna Vinschen <corinna@vinschen.de>
1817
1818 * fhandler_proc.cc (format_proc_cpuinfo): Fix vendor id in cpuid case.
1819
49a0d53c
CV
18202003-03-13 Corinna Vinschen <corinna@vinschen.de>
1821
1822 * net.cc (cygwin_rcmd): Use correct file descriptor in call to fdsock.
1823 (cygwin_rexec): Ditto.
1824
6fcd5661
CF
18252003-03-13 Christopher Faylor <cgf@redhat.com>
1826
1827 * fhandler_tty.cc (fhandler_tty_slave::close): Fix typo in debug
1828 output.
1829
1830 * syscalls.cc (rename): Assume that DELETE_ON_CLOSE works on Win9x.
1831
aa39b7f7
CV
18322003-03-11 Corinna Vinschen <corinna@vinschen.de>
1833
1834 * fhandler_socket.cc (fhandler_socket::dup): Don't call
1835 fhandler_base::dup() but call DuplicateHandle directly instead to have
1836 control over socket inheritence.
1837
2afa7f58
CV
18382003-03-11 Corinna Vinschen <corinna@vinschen.de>
1839
1840 * fhandler_socket.cc (fhandler_socket::dup): On NT systems avoid
1841 using WinSock2 socket duplication methods. Add comment.
1842
18432003-03-11 Pierre Humblet <pierre.humblet@ieee.org>
1844
1845 * fhandler_socket.cc (fhandler_socket::fixup_after_fork):
1846 Set io_handle to INVALID_SOCKET in case of failure.
1847 (fhandler_socket::dup): Return 0 if the io_handle is valid.
1848
556ceaeb
CV
18492003-03-10 Corinna Vinschen <corinna@vinschen.de>
1850
1851 * sec_acl.cc (setacl): Don't handle DELETE flag specially.
1852 * security.cc (alloc_sd): Ditto.
1853
a201401c
CV
18542003-03-09 Corinna Vinschen <corinna@vinschen.de>
1855
6bbf711e 1856 * winver.rc: Change Copyright hint to include 2003.
a201401c 1857
b1aae492
CV
18582003-03-09 Corinna Vinschen <corinna@vinschen.de>
1859
1860 Switch to 32/64 datatypes:
1861 * Makefile.in (OBSOLETE_FUNCTIONS): Add open acl aclcheck aclfrommode
1862 aclfrompbits aclfromtext aclsort acltomode acltopbits acltotext chown
1863 facl fchown fgetpos fopen freopen fseeko fsetpos fstat ftello
1864 ftruncate getegid geteuid getgid getgrent getgrgid getgrnam getgroups
1865 getpwuid getpwuid_r getuid initgroups lchown lseek lstat mknod mmap
1866 seekdir setegid seteuid setgid setgroups setregid setreuid setuid stat
1867 telldir truncate.
1868 (NEW_FUNCTIONS): Add _open64 acl32 aclcheck32 aclfrommode32
1869 aclfrompbits32 aclfromtext32 aclsort32 acltomode32 acltopbits32
1870 acltotext32 chown32 facl32 fchown32 fgetpos64 fopen64 freopen64
1871 fseeko64 fsetpos64 fstat64 ftello64 ftruncate64 getegid32 geteuid32
1872 getgid32 getgrent32 getgrgid32 getgrnam32 getgroups32 getpwuid32
1873 getpwuid_r32 getuid32 initgroups32 lchown32 lseek64 lstat64 mknod32
1874 mmap64 seekdir64 setegid32 seteuid32 setgid32 setgroups32 setregid32
1875 setreuid32 setuid32 stat64 telldir64 truncate64 to substitute the
1876 above.
1877 * cygserver_shm.h (class client_request_shm): Change uid_t and gid_t
1878 members to __uid32_t and __gid32_t.
1879 * cygwin.din: Add symbols acl32 aclcheck32 aclfrommode32
1880 aclfrompbits32 aclfromtext32 aclsort32 acltomode32 acltopbits32
1881 acltotext32 facl32 fgetpos64 fopen64 freopen64 fseeko64 fsetpos64
1882 _fstat64 ftello64 _lseek64 mknod32 _open64.
1883 * glob.c: Include perprocess.h.
1884 (globtilde): Call getpwuid32 and getuid32 instead of getpwuid and
1885 getuid.
1886 (g_lstat): Check for applications API version to call the appropriate
1887 typed gl_lstat function.
1888 (g_stat): Ditto for gl_stat.
1889 * shm.cc (client_request_shm::client_request_shm): Call geteuid32
1890 and getegid32 instead of geteuid and getegid throughout.
1891 * syscalls.cc (_open64): New alias for open.
1892 (_lseek64): New alias for lseek64.
1893 (_fstat64): New alias for fseek64.
1894 (mknod32): New function.
1895 (mknod): Calls mknod32 now.
1896 * winsup.h: Make function declarations for getuid32, geteuid32,
1897 and getpwuid32 accessible for plain C sources. Add declarations
1898 for getegid32 and getpwnam.
1899 * include/cygwin/version.h: Bum API minor number to 78.
1900 * include/sys/cygwin.h: Guard C++ specific members of struct
1901 per_process against inclusion in plain C sources.
1902 * include/sys/mman.h (mman): Add guard to avoid type clash when
1903 compiling Cygwin.
1904
659fb3ff
CF
19052003-03-09 Christopher Faylor <cgf@redhat.com>
1906
d580d86c 1907 * include/cygwin/version.h: Bump DLL minor number to 22.
659fb3ff 1908
c367dfd0
CF
19092003-03-09 Christopher Faylor <cgf@redhat.com>
1910
1911 Do some minor reformatting of 'extern "C"' use throughout.
1912
19132003-03-06 Christopher January <chris@atomice.net>
1914
1915 * autoload.cc (GetSystemTimes): Define new autoload function.
1916 * fhandler_proc.cc (proc_listing): Add cpuinfo and partitions entries.
1917 (fhandler_proc::fill_filebuf): Add PROC_CPUINFO and PROC_PARTITIONS
1918 cases.
1919 (format_proc_uptime): Use GetSystemTimes if available.
1920 (read_value): New macro.
1921 (print): New macro.
1922 (cpuid): New function.
1923 (can_set_flag): New function.
1924 (format_proc_cpuinfo): New function.
1925 (format_proc_partitions): New function.
1926
36c4a441
CF
19272003-03-09 Christopher Faylor <cgf@redhat.com>
1928
1929 * syscalls.cc (unlink): Attempt to be more clever about setting
1930 attributes of file. Only open file in query mode to avoid having to
1931 mess with security stuff for reading.
1932
639ebe29
CV
19332003-03-09 Corinna Vinschen <corinna@vinschen.de>
1934
1935 * rmsym: Fix regular expression.
1936
3a1d827f
CF
19372003-03-09 Christopher Faylor <cgf@redhat.com>
1938
1939 * Makefile.in: Change from using new-* to cygwin0 for temporary
1940 targets.
1941
ca0e9071
CV
19422003-03-09 Corinna Vinschen <corinna@vinschen.de>
1943
1944 * include/cygwin/socket.h: Set SOMAXCONN to Winsock2 value.
1945
ed269cea
CF
19462003-03-08 Christopher Faylor <cgf@redhat.com>
1947
1948 * syscalls.cc (unlink): Always attempt to use FILE_FLAG_CLOSE_ON_DELETE
1949 to delete files since this allows us to preserve the protection of hard
1950 linked files.
1951 (link): Generate full path for potentially recalculated .lnk target.
1952
1114c3d0
CF
19532003-03-08 Christopher Faylor <cgf@redhat.com>
1954
1955 Revert below changes regarding _pinfo::cmdline.
1956
d66ac2bc
CV
19572003-03-08 Corinna Vinschen <corinna@vinschen.de>
1958
1959 * external.cc (cygwin_internal): Change n to __off64_t to match change
1960 of _pinfo::cmdline.
1961 * fhandler.h (class fhandler_virtual): Change filesize member to
1962 __off64_t.
1963 * fhandler_proc.cc (format_proc_meminfo): Change to return __off64_t.
1964 (format_proc_stat): Ditto.
1965 (format_proc_uptime): Ditto.
1966 * fhandler_process.cc (format_process_stat): Ditto.
1967 (format_process_status): Ditto.
1968 (format_process_statm): Ditto.
1969 * pinfo.cc (_pinfo::cmdline): Expect __off64_t parameter.
1970 * pinfo.h (class _pinfo): Change declaration of cmdline accordingly.
1971
762520f3
CF
19722003-03-07 Christopher Faylor <cgf@redhat.com>
1973
1974 * path.h (PATH_LNK): New enum val.
1975 (path_conv::is_lnk_symlink): New function. True if path represents
1976 .lnk style symlink.
1977 * path.cc (check_shortcut): Set PATH_LNK in pflags when appropriate.
1978 (symlink_info::check): Ditto. Remove PATH_LNK from pflags initially.
1979 * syscalls.cc (unlink): Always remove readonly attribute from a symlink
1980 regardless of type.
1981 (link): (from Corinna Vinschen) Allow links to symlinks. Reset
1982 attributes on a symlink after successful link creation.
1983 (chmod): Use is_lnk_symlink where appropriate.
1984 (rename): Ditto.
1985
19862003-03-07 Pierre Humblet <pierre.humblet@ieee.org>
1987
1988 * tty.cc (create_tty_master): Call GetComputerName instead of
1989 cygwin_gethostname. Set ut_id.
1990 * syscalls.cc (login): Call endutent.
1991 (setutent): Do not seek after a fresh open.
1992
6f8102cb
CV
19932003-03-07 Corinna Vinschen <corinna@vinschen.de>
1994
1995 * syscalls.cc (seteuid32): Fix formatting.
1996
88243328
TP
19972003-03-04 Thomas Pfaff <tpfaff@gmx.net>
1998
1999 * thread.cc (MTinterface::fixup_after_fork): Initialize mainthread
2000 prior to pthread objects.
762520f3 2001
12390bc4
CV
20022003-03-04 Jason Tishler <jason@tishler.net>
2003
2004 * fhandler_socket.cc (fhandler_socket::dup): Initialize type.
2005
c418817e
CF
20062003-03-03 Christopher Faylor <cgf@redhat.com>
2007
2008 * fhandler.h (fhandler_tty_slave::close): Declare new function.
2009 (fhandler_tty_slave::dup): Declare new function.
2010 (fhandler_tty_slave::fixup_after_function): Declare new function.
2011 * fhandler_tty.cc (fhandler_tty_slave_open): Only increment
2012 fhandler_console::open_fhs when associated with a pty.
2013 (fhandler_tty_slave::close): Define new function. Decrement
2014 fhandler_console::open_fhs when associated with a pty.
2015 (fhandler_tty_slave::dup): Define new function. Increment
2016 fhandler_console::open_fhs when associated with a pty.
2017 (fhandler_tty_slave::fixup_after_fork): Define new function. Increment
2018 fhandler_console::open_fhs when associated with a pty.
2019
e11fe31b
CF
20202003-03-03 Christopher Faylor <cgf@redhat.com>
2021
2022 * fhandler_tty.cc (fhandler_pty_slave::open): Grudgingly increment
2023 fhandler_console::open_fhs here.
2024 (fhandler_pty_slave::close): Ditto for close.
2025
cffdb4b1
CF
20262003-03-02 Christopher Faylor <cgf@redhat.com>
2027
2028 * lib/getopt.c: Refresh from NetBSD sources.
2029
d5d2ffee
CF
20302003-03-02 Christopher Faylor <cgf@redhat.com>
2031
2032 * fhandler_console.cc (fhandler_console::close): Don't decrement
2033 in use counter if in vfork fixup stage.
2034
c2c6b170
CF
20352003-03-02 Christopher Faylor <cgf@redhat.com>
2036
2037 * lib/getopt.c: Nuke use of unneeded BSDisms.
2038
8b19b43d
CF
20392003-03-02 Christopher Faylor <cgf@redhat.com>
2040
2041 * dll_init.cc (dll_list::load_after_fork): Don't revert to LoadLibrary
2042 if LoadLibraryEx fails.
2043 * dtable.cc (dtable::dec_console_fds): Eliminate.
2044 (dtable::release): Don't treat console specially.
2045 (dtable::build_fhandler): Ditto.
2046 * dtable.h (console_fds): Eliminate.
2047 (dtable::dec_console_fds): Eliminate.
2048 (dtable::inc_console_fds): Eliminate.
2049 * fhandler.h (fhandler_console::open_fhs): New static element.
2050 * fhandler_console.cc (fhandler_console::open): Increment open_fs.
2051 (fhandler_console::close): Call FreeConsole if no more open consoles
2052 and ctty is not associated with the console.
2053 * syscalls.cc (setsid): Simplify check for when to call FreeConsole.
2054 (check_pty_fds): Eliminate definition.
2055 * winsup.h (check_pty_fds): Eliminate declaration.
2056
3efc65f7
CF
20572003-03-02 Christopher Faylor <cgf@redhat.com>
2058
2059 * dll_init.cc (dll_list::load_after_fork): Fix typo where result of
2060 LoadLibrary was ignored.
2061
5a082e9e
CV
20622003-03-01 Corinna Vinschen <corinna@vinschen.de>
2063
2064 * fhandler_socket.cc (fhandler_socket::bind): Open and write socket
2065 file using Win32 calls.
2066
9d913f07
CV
20672003-03-01 Corinna Vinschen <corinna@vinschen.de>
2068
2069 * fhandler_socket.cc (get_inet_addr): Open and read socket file using
2070 Win32 calls.
2071
005c3065
CF
20722003-02-28 Christopher Faylor <cgf@redhat.com>
2073
2074 * cygwin.din: Wrap atexit and exit with cygwin, thread-safe functions.
2075 * dcrt0.cc (cygwin_atexit): New function.
2076 (cygwin_exit): Ditto.
2077
27b4082a
PH
20782003-02-28 Pierre Humblet <pierre.humblet@ieee.org>
2079
2080 * syscalls.cc (fstat64): Pass get_name () to pc.
005c3065 2081 (access): Pass fn to stat_worker.
27b4082a
PH
2082
20832003-03-27 Corinna Vinschen <corinna@vinschen.de>
5777b970
CV
2084
2085 * fhandler_socket.cc (class sock_event): New class managing Winsock
2086 events for interruptible socket calls.
2087 (fhandler_socket::connect): Move support for interruptible call to
2088 class sock_event. Use class object instead.
2089 (fhandler_socket::accept): Ditto. Remove useless casts.
2090
005c3065 20912003-03-27 Thomas Pfaff <tpfaff@gmx.net>
5777b970
CV
2092
2093 * fhandler_socket.cc (fhandler_socket::connect): Add support for
2094 an interruptable connect.
2095
7b2ce663
CV
20962003-02-27 Pierre Humblet <pierre.humblet@ieee.org>
2097
2098 * uinfo.cc (internal_getlogin): Only update user.groups.pgsid
2099 if the call to set the primary group succeeds.
2100
0e7a60fe
CF
21012003-02-27 Christopher Faylor <cgf@redhat.com>
2102
2103 * cygthread::detach: Improve error message.
2104
61a52599
CV
21052003-02-26 Pierre Humblet <pierre.humblet@ieee.org>
2106
2107 * sec_helper.cc (get_sids_info): debug_print owner_sid and group_sid.
2108
6b9a9ce6
CV
21092003-02-25 Corinna Vinschen <corinna@vinschen.de>
2110
2111 * mmap.cc (mmap64): Fix returned address by taking the granularity
2112 into account.
2113
1ffc44aa
PH
21142003-02-23 Pierre Humblet <pierre.humblet@ieee.org>
2115
2116 * syslog.cc (syslog): Do not unlock the file before closing it
2117 and remove debug_printf about stream errors.
2118
a066f364
CF
21192003-02-22 Christopher Faylor <cgf@redhat.com>
2120
2121 * cygmalloc.h: Remove MORECORE_CANNOT_TRIM. It's not true.
2122 # cygwin.din: Export mallinfo.
2123 # malloc_wrapper.cc (mallinfo): New function.
2124
878e60c5
CF
21252003-02-22 Pierre Humblet <pierre.humblet@ieee.org>
2126
2127 * syslog.cc (syslog): Do not print the Windows pid. Print the Cygwin
2128 pid as an unsigned decimal. On Win95 print a timestamp and attempt to
2129 lock the file up to four times in 3 ms.
2130
b1d1e50d
CV
21312003-02-21 Corinna Vinschen <corinna@vinschen.de>
2132
2133 * fhandler_socket.cc (fhandler_socket::fhandler_socket): Fix compiler
2134 warning.
2135 (fhandler_socket::fstat): Simplify. Set st_uid/st_gid to effective
2136 uid/gid of current process in case of open sockets.
2137
cf762b08
CV
21382003-02-21 Corinna Vinschen <corinna@vinschen.de>
2139
2140 * dtable.cc (dtable::build_fhandler_from_name): Set some fhandler
2141 data on sockets to evaluate AF_LOCAL sockets correctly.
2142 (dtable::build_fhandler): Set unit number on sockets.
2143 * fhandler.h (fhandler_socket): Add unit number.
2144 (fhandler_socket::get_unit): New method.
2145 * fhandler_socket.cc (fhandler_socket::fhandler_socket): Set unit
2146 number.
2147 (fhandler_socket::fstat): Reorganize to return more Linux-like
2148 values.
2149 * net.cc: include ctype.h.
2150 (fdsock): Set unit number when building fhandler.
2151 * path.cc (path_conv::check): Set device type to FH_SOCKET if file
2152 is a AF_UNIX socket.
2153 (get_devn): Evaluate unit for virtual socket devices.
2154 (win32_device_name): Set windows path for sockets to unix_path with
2155 just backslashes to keep the different names.
2156 * syscalls.cc (fstat64): Don't override st_ino, st_dev and st_rdev
2157 for sockets.
2158 (stat_worker): Ditto.
2159
21602003-02-21 Pierre Humblet <pierre.humblet@ieee.org>
2161
2162 * autoload.cc (AccessCheck): Add.
2163 (DuplicateToken): Add.
2164 * security.h (check_file_access): Declare.
2165 * syscalls.cc (access): Convert path to Windows, check existence
2166 and readonly attribute. Call check_file_access instead of acl_access.
2167 * security.cc (check_file_access): Create.
2168 * sec_acl (acl_access): Delete.
2169
5cd82412
CF
21702003-02-19 Christopher Faylor <cgf@redhat.com>
2171
2172 * fhandler.cc (fhandler_base::open): Move some filesystem specific
2173 stuff.
2174 (fhandler_disk_file::open): Accept some filesystem specific stuff.
2175 * sigproc.cc (wait_for_sigthread): Become slightly more thread safe.
2176 (sig_send): Don't assume that signal thread is ready.
2177
892d8962
CV
21782003-02-20 Corinna Vinschen <corinna@vinschen.de>
2179
2180 * wincap.h (wincap): Remove unnecessary definition of
2181 supports_sparse_files.
2182 * wincap.cc: Ditto.
2183
518f5d49
CV
21842003-02-20 Corinna Vinschen <corinna@vinschen.de>
2185
2186 * fhandler_disk_file.cc (fhandler_disk_file::opendir): Check descriptor
2187 created by cygheap_fdnew constructor.
2188 * fhandler_virtual.cc (fhandler_virtual::opendir): Ditto.
2189 * fhandler_socket.cc (fhandler_socket::accept): Ditto and move
2190 creation of file descriptor behind blocking OS call.
2191 * net.cc (cygwin_socket): Ditto.
2192 (cygwin_rcmd): Ditto.
2193 (cygwin_rresvport): Ditto.
2194 (cygwin_rexec): Ditto.
2195 (socketpair): Ditto.
2196
3a88cf1b
CV
21972003-02-20 Corinna Vinschen <corinna@vinschen.de>
2198
2199 * autoload.cc (GetCompressedFileSize): Add.
2200 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Compute
2201 st_blocks value from GetCompressedFileSize() if available.
2202
79207923
CV
22032003-02-18 Vaclav Haisman <V.Haisman@sh.cvut.cz>
2204
2205 * wincap.h (wincaps::supports_sparse_files): New flag.
2206 (wincapc::supports_sparse_files): New method.
2207 * wincap.cc (wincap_unknown): Define value for the new flag.
2208 (wincap_95): Ditto.
2209 (wincap_95osr2): Ditto.
2210 (wincap_98): Ditto.
2211 (wincap_98se): Ditto.
2212 (wincap_me): Ditto.
2213 (wincap_nt3): Ditto.
2214 (wincap_nt4): Ditto.
2215 (wincap_nt4sp4): Ditto.
2216 (wincap_2000): Ditto.
2217 (wincap_xp): Ditto.
2218 * path.h (path_conv::fs_flags): New method.
005c3065
CF
2219 * fhandler_disk_file.cc: Include winioctl.h for DeviceIoControl.
2220 (fhandler_disk_file::open): Set newly created and truncated files as
79207923
CV
2221 sparse on platforms that support it.
2222
afe13e84
CV
22232003-02-17 Pierre Humblet <pierre.humblet@ieee.org>
2224
2225 * grp.cc (internal_getgroups): Handle properly tokens with
2226 no groups. Fix bug introduced on 2003-02-04.
2227
8fc16812
CF
22282003-02-16 Christopher Faylor <cgf@redhat.com>
2229
408e9b2f 2230 * cygwin.din: Export all appropriate newlib libm functions. Sort.
8fc16812
CF
2231 * include/cygwin/version.h: Bump API minor number.
2232
f655eadf
CF
22332003-02-15 Christopher Faylor <cgf@redhat.com>
2234
8fc16812 2235 * cygwin.din: Export all appropriate newlib libc functions.
f655eadf
CF
2236 * include/cygwin/version.h: Bump API minor number.
2237
4d9ba012
CV
22382003-02-14 Jason Tishler <jason@tishler.net>
2239
2240 * mmap.cc (mprotect): Add missing break.
2241
dff01e3a
CF
22422003-02-13 Christopher Faylor <cgf@redhat.com>
2243
2244 * exceptions.cc (try_to_debug): Don't reset priority when returning
2245 from non-waitloop call.
d1d1797e
CF
2246
22472003-02-13 Vaclav Haisman <V.Haisman@sh.cvut.cz>
005c3065 2248 Christopher Faylor <cgf@redhat.com>
d1d1797e
CF
2249
2250 * fhandler_console.cc (fhandler_console::write_normal): Use MessageBeep
2251 for bell sound.
2252 * autoload.cc (MessageBeep): Add.
2253
97c61aeb
CF
22542003-02-13 Christopher Faylor <cgf@redhat.com>
2255
2256 * include/cygwin/types.h: Use correct ifdef guard for u_ definitions.
2257
a200c081
CF
22582003-02-13 Christopher Faylor <cgf@redhat.com>
2259
2260 * environ.cc (environ_init): Use strechr.
2261
2858de3a
CF
22622003-02-13 Christopher Faylor <cgf@redhat.com>
2263
2264 * include/cygwin/in.h (sockaddr_in): Fix typo.
2265
75c8a70c
CF
22662003-02-12 Christopher Faylor <cgf@redhat.com>
2267
2268 * path.h (path_conv): Reorganize slightly.
2269
939d19b0
CF
22702003-02-12 Christopher Faylor <cgf@redhat.com>
2271
2272 * fhandler_tty.cc (process_input): Add sanity check to ensure that
2273 console typeahead is cleared on signal.
2274
7a44ba05
CF
22752003-02-12 Christopher Faylor <cgf@redhat.com>
2276
2277 * spawn.cc (linebuf::~linebuf): Resurrect commented out (for
2278 debugging?) code.
2279
407b8df6
CF
22802003-02-10 Ralf Habacker <ralf.habacker@freenet.de>
2281
2282 * include/cygwin/in.h (in_attr_t): Define new type.
2283 * include/arpa/inet.h (inet_addr): Change return type to in_addr_t.
2284 (inet_lnaof): Ditto.
2285 (inet_netof): Ditto.
2286 (inet_network): Ditto.
2287
22882003-02-10 Christopher Faylor <cgf@redhat.com>
2289
2290 * include/cygwin/types.h: Move many *_t typedefs here. Protect them
2291 with ifdefs.
2292 * fhandler_disk_file.cc (fhandler_disk_file::fstat): Change ntsec_atts to mode_t.
2293 * security.cc (get_attribute_from_acl): Accept mode_t attribute.
2294 (get_nt_attribute): Ditto.
2295 (get_file_attribute): Ditto.
2296 (get_nt_object_attribute): Ditto.
2297 (get_object_attribute): Ditto.
2298 * security.h: Reflect above changes.
2299 * syscalls.cc (chown_worker): Change attrib to mode_t.
2300
ad80bc42
CF
23012003-02-08 Christopher Faylor <cgf@redhat.com>
2302
67c64e3b 2303 * include/cygwin/version.h: Bump DLL minor number to 21.
ad80bc42
CF
2304
23052003-02-07 Christopher Faylor <cgf@redhat.com>
2306
2307 * malloc.cc (DEFAULT_MMAP_THRESHOLD): Bump down to 16MB thanks to below
2308 changes.
2309
4136fdb1
CV
23102003-02-07 Corinna Vinschen <corinna@vinschen.de>
2311
2312 * mmap.cc (mmap_record::alloc_map): De-inline. Add offset and length
2313 parameter. Only protect pages actually unused currently. Do job
2314 of map_map() when initializing a map.
2315 (mmap_record::map_map): Reduce functionality for the reuse case
2316 of private anonymous mapping.
2317 (mmap_record::fixup_map): Format change.
2318 (list::add_record): Add offset and length parameter to call
2319 mmap_record::alloc_map() correctly.
293ce810 2320 (mmap64): Rename `l' variable to `map_list'. Accommodate above changes.
4136fdb1
CV
2321 (munmap): Rename `l' variable to `map_list'.
2322 (msync): Ditto.
2323 (fhandler_disk_file::mmap): Streamline code.
2324 (mprotect): Ditto.
2325 (fixup_mmaps_after_fork): Rename `l' variable to `map_list'.
2326
49b84ce4
CF
23272003-02-07 Vaclav Haisman <V.Haisman@sh.cvut.cz>
2328 Christopher Faylor <cgf@redhat.com>
2329
2330 * exceptions.cc (try_to_debug): Set priority of current thread rather
2331 than the main thread. Make busy waiting loop less busy. Restore
2332 priority when function returns.
2333
bc5b63ed
CF
23342003-02-07 Christopher Faylor <cgf@redhat.com>
2335
2336 * malloc.cc (DEFAULT_MMAP_THRESHOLD): Set high to avoid mmaps.
2337
23382003-02-07 Christopher Faylor <cgf@redhat.com>
2339
2340 * pipe.cc (fhandler_pipe::close): Avoid extraneous this->.
2341
1de8d164
CF
23422003-02-06 Christopher Faylor <cgf@redhat.com>
2343
2344 * heap.cc (heap_init): Remove debugging code.
2345
565e8015
CV
23462003-02-06 Pierre Humblet <pierre.humblet@ieee.org>
2347
2348 * security.h: Introduce names UNKNOWN_UID and UNKNOWN_GID and delete
1de8d164 2349 declaration of is_grp_member.
565e8015
CV
2350 * uinfo.cc (internal_getlogin): Use UNKNOWN_GID.
2351 * passwd.cc (pwdgrp::read_passwd): Use UNKNOWN_UID.
2352 * grp.cc (pwdgrp::read_group): Change group name to provide better
2353 feedback.
2354 (getgrgid): Use gid16togid32.
2355 * sec_helper.cc (is_grp_member): Delete.
2356
d238c1b4
CF
23572003-02-05 Christopher Faylor <cgf@redhat.com>
2358
2359 * path.cc: Change 'to_posix_p' to 'to_posix' throughout.
2360 (conv_path_list_buf_size): Accommodate relative paths.
2361
b7f52fe8
CF
23622003-02-05 Christopher Faylor <cgf@redhat.com>
2363
2364 * path.cc (etc::dir_changed): Fix debug printf.
2365
62cd433e
CV
23662003-02-05 Corinna Vinschen <corinna@vinschen.de>
2367
2368 * sec_acl.cc (setacl): Move all permission settings to beginning of
2369 loop. Set default rights to same values as in alloc_sd(). Set DELETE
2370 for owner and default owner only if S_IWOTH is given.
2371
23722003-02-05 Pierre Humblet <pierre.humblet@ieee.org>
2373
2374 * sec_acl.cc: Change all __aclent16_t to __aclent32_t except in
2375 wrapper function definitions. Replace call to the aclXYZ functions by
2376 calls aclXYZ32.
2377 (searchace): Change type of third argument to __uid32_t and use
2378 ILLEGAL_UID instead of -1;
2379 (setacl): Remove some initializations. Only give STANDARD_RIGHTS_WRITE
2380 for S_IWOTH. Replace -1 by ILLEGAL_UID.
2381 (getacl): Change type of owner_sid, group_sid and ace_sid to cygpsid.
2382 In last else clause, suppress second call to ace_sid.get_id and use
2383 TRUE in first call. Replace EqualSid by ==.
2384 (acl_access): Call internal_getgroups in USER and GROUP cases.
2385 (acecmp: Define static.
2386 (acl32): Create from 16 bit type.
2387 (facl32): Ditto.
2388 (lacl32): Ditto.
2389 (aclcheck32): Ditto.
2390 (aclsort32): Ditto.
2391 (acltomode32): Ditto.
2392 (aclfrommode32): Ditto.
2393 (acltopbits32): Ditto.
2394 (aclfrompbits32): Ditto.
2395 (acltotext32): Ditto.
2396 (aclfromtext32): Ditto, and use strechr.
2397 (acl16to32): Create.
2398 (acl): Make it a wrapper function.
2399 (facl): Ditto.
2400 (lacl): Ditto.
2401 (aclcheck): Ditto.
2402 (aclsort): Ditto.
2403 (acltomode): Ditto.
2404 (aclfrommode): Ditto.
2405 (acltopbits): Ditto.
2406 (aclfrompbits): Ditto.
2407 (acltotext): Ditto.
2408 (aclfromtext): Ditto.
2409 * security.cc (write_sd): Call set_process_privilege and check
2410 ownership.
2411 (alloc_sd): Remove call to set_process_privilege and the owner check.
2412
cadd065b
CF
24132003-02-05 Christopher Faylor <cgf@redhat.com>
2414
2415 * include/sys/cygwin.h: Use C-style comments.
2416
0c8455c3
CV
24172003-02-05 Pierre Humblet <pierre.humblet@ieee.org>
2418
2419 * sec_helper.cc (get_sids_info): New function.
2420 * security.cc (extract_nt_dom_user): Simplify with strechr.
2421 (get_user_groups): Initialize glen to MAX_SID_LEN.
2422 (get_user_local_groups): Ditto.
2423 (get_attribute_from_acl): Define ace_sid as cygpsid.
2424 (get_nt_attribute): Define owner_sid and group_sid as cygpsid.
2425 Call get_sids_info instead of cygsid.get_{u,g}id and is_grp_member.
2426 (get_nt_object_attribute): Ditto.
2427 (alloc_sd): Define ace_sid as cygpsid.
2428
5ae9331a
TP
24292003-02-04 Thomas Pfaff <tpfaff@gmx.net>
2430
2431 * syscalls.cc (struct system_cleanup_args): New struct.
2432 (system_cleanup): New function.
2433 (system): Use pthread_cleanup_push and _pop to save and restore
2434 signal handlers and sigprocmask.
2435
3dbafd87
CV
24362003-02-04 Corinna Vinschen <corinna@vinschen.de>
2437
2438 * path.cc (symlink): Create security attributes so that only the
2439 user can modify the symlink.
2440 * security.cc (set_security_attribute): Remove symlink special
2441 handling.
2442
0daf2561
CV
24432003-02-04 Pierre Humblet <pierre.humblet@ieee.org>
2444
2445 * grp.cc (internal_getgroups): Do not return without closing
2446 the process handle.
2447
4a21c2d5
CV
24482003-02-04 Pierre Humblet <pierre.humblet@ieee.org>
2449
2450 * security.h (class cygpsid): New class.
2451 (class cygsid): Use cygpsid as base. Remove members psid, get_id,
2452 get_uid, get_gid, string, debug_printf and the == and != operators.
2453 (cygsidlist::clear_supp): Only do work if setgroups has been called.
2454 * sec_helper.cc: Define sid_auth NO_COPY.
2455 (cygpsid::operator==): New operator.
2456 (cygpsid::get_id): New function.
2457 (cygpsid::string): New function.
2458 (cygsid::string): Delete.
2459 (cygsid::get_id): Delete.
2460 * pwdgrp.h: Change arguments of internal_getpwsid,
2461 internal_getgrsid and internal_getgroups to cygpsid.
2462 * passwd.cc (internal_getpwsid): Change argument from cygsid to cygpsid.
d238c1b4 2463 * grp.cc (internal_getgrsid): Ditto.
4a21c2d5
CV
2464 (internal_getgroups): Ditto.
2465
335556d5
CF
24662003-02-03 Christopher Faylor <cgf@redhat.com>
2467
2468 Eliminate most unneeded this-> pointers throughout.
2469
153e83c6
CV
24702003-02-03 Pierre Humblet <pierre.humblet@ieee.org>
2471
2472 * security.h: Add third argument to set_process_privilege.
2473 * autoload.cc: Add OpenThreadToken.
2474 * sec_helper.cc (set_process_privilege): Add and use use_thread
2475 argument.
2476 * security.cc (alloc_sd): Modify call to set_process_privilege.
2477 Remember the result in each process. If failed and file owner is not
2478 the user, fail.
2479
f0f3ea68
CV
24802003-02-03 Corinna Vinschen <corinna@vinschen.de>
2481
2482 * fhandler_socket.cc (fhandler_socket::recvfrom): Return buffer
2483 length and don't set errno in case of WSAEMSGSIZE error.
2484 (fhandler_socket::recvmsg): Ditto.
2485
6688a061
CF
24862003-02-01 Christopher Faylor <cgf@redhat.com>
2487
2488 * grp.cc (getgrent32): Only refresh group entries when at beginning.
2489 (internal_getgrsid): Only refresh if uninitialized.
2490 (internal_getgrent): Ditto.
2491 * passwd.cc (getpwent): Only refresh passwd entries when at beginning.
2492 (pwdgrp::read_passwd): linebuf *cannot* be NO_COPY.
2493 (internal_getpwsid): Only refresh if uninitialized.
2494 (getpass): No need to refresh passwd data here.
2495 * pwdgrp.h (refresh): Eliminate default.
2496
a5a93a62
CF
24972003-01-31 Christopher Faylor <cgf@redhat.com>
2498
2499 * dlfcn.cc (dlerror): Only report load errors once per error.
2500
b0a82a85
CF
25012003-01-31 Christopher Faylor <cgf@redhat.com>
2502
2503 * fhandler_serial.cc (fhandler_serial::open): Avoid extraneous setting
2504 of res.
2505
2506 * termios.cc (tcsetattr): Correctly record errno after tcsetattr call.
2507
25082003-01-31 Troy Curtiss <troyc@usa.net>
2509
2510 * fhandler_serial.cc (fhandler_serial::tcsetattr): Add error-checking
2511 so that if any Win32 SetComm*() calls fail, errno gets set to EINVAL
2512 and tcsetattr() returns -1. Catch invalid bitrates, mostly. If baud
2513 rate setting is B0, just drop DTR and leave Win32 DCB bitrate as-is
2514 since 0 is not a valid Win32 setting.
2515 (fhandler_serial::tcgetattr): If DTR is low, populate the bitrate as
2516 B0, otherwise get it from the DCB.
2517
949c3da1
CF
25182003-01-31 Christopher Faylor <cgf@redhat.com>
2519
2520 * passwd.cc (pwdgrp::read_passwd): linebuf *must* be static (from
2521 Pierre Humblet).
2522 * pwdgrp.h (pwdgrp::refresh): Avoid calling read function if we already
2523 have lock since that means we are in the process of reading the file.
2524
485d85bf
CF
25252003-01-31 Jason Tishler <jason@tishler.net>
2526
2527 * shared.cc (shared_info::heap_chunk_size): Use correct variable when
2528 reading HKLM.
2529
704ce461
CF
25302003-01-30 Christopher Faylor <cgf@redhat.com>
2531
2532 * fhandler_registry.cc (fhandler_registry::exists): Fix off-by-one
2533 error when inspecting path.
2534
ba6e1083
CF
25352003-01-29 Christopher Faylor <cgf@redhat.com>
2536
2537 * lib/getopt.c: Allow environment variable control of POSIXLY_INCORRECT
2538 behavior.
2539
25402003-01-28 Corinna Vinschen <corinna@vinschen.de>
01e3c897
CV
2541
2542 * fhandler_socket.cc (fhandler_socket::accept): On successful execution
2543 set connection state of returned socket to CONNECTED.
2544
dfb366da
CF
25452003-01-27 Christopher Faylor <cgf@redhat.com>
2546
2547 * passwd.cc (pwdgrp::parse_passwd): Be more unforgiving about
2548 non-numeric fields.
2549
03dba1de
CF
25502003-01-26 Christopher Faylor <cgf@redhat.com>
2551
2552 * uinfo.cc (pwdgrp::next_num): Remove check for NULL since it is no
2553 longer a valid return from next_str.
2554 (pwdgrp::add_line): Duh. Revert to use strchr.
2555
fea48988
CF
25562003-01-26 Christopher Faylor <cgf@redhat.com>
2557
ca6018a0 2558 * string.h (strechr): New function.
fea48988
CF
2559 * uinfo.cc (pwdgrp::next_str): Search only for input char in string.
2560 Return EOS on failure. Don't check for NULL since it shouldn't be
2561 possible.
2562 (pwdgrp::add_line): Revert to replacing '\n' in input line with '\0'.
2563 (pwdgrp::next_num): Pass explicit separator character to next_str.
2564 * grp.cc (pwdgrp::parse_group): Ditto.
2565 * passwd.cc (pwdgrp::parse_passwd): Ditto. Revamp test for garbage
2566 input.
2567 * pwdgrp.h (pwdgrp::next_str): Don't use default parameter.
2568
9a751621
CF
25692003-01-26 Christopher Faylor <cgf@redhat.com>
2570
2571 * uinfo.cc (pwdgrp::load): Regularize strace output. Add warning for
2572 CreateFile failure.
2573
c9133395
CF
25742003-01-26 Christopher Faylor <cgf@redhat.com>
2575
bdbd7fb6
CF
2576 * passwd.cc (pwdgrp::parse_passwd): Eliminate use of memset. The
2577 structure should always be completely filled out.
2578 * grp.cc (pwdgrp::parse_group): Ditto.
2579
25802003-01-26 Christopher Faylor <cgf@redhat.com>
2581
2582 * grp.cc (pwdgrp::parse_group): Fix off-by-one problem in allocating
c9133395 2583 gr_mem.
65037056
CF
2584
25852003-01-26 Christopher Faylor <cgf@redhat.com>
2586
2587 * include/sys/strace.h (paranoid_printf): Define as not being part of
2588 "all" output.
2589
25902003-01-25 Christopher Faylor <cgf@redhat.com>
2591
2592 * pwdgrp.h (pwdgrp::next_num): Rename from next_int. Returns
2593 true/false if parse operation succeeded.
2594 (pwdgrp::reparse): Remove.
2595 (pwdgrp::raw_ptr): New function. Returns pointer in line.
2596 (pwdgrp::next_num): New functions for parsing other than unsigned long.
2597 * grp.cc (pwdgrp::parse_group): Reinstate previous parsing behavior.
2598 Don't fill in fields with NULL and assign empty gr_mem to known pointer
2599 rather than doing a pointless calloc. Streamline gr_mem parsing.
2600 Don't increment curr_lines here.
2601 * passwd.cc (pwdgrp::parse_passwd): Use new behavior of next_num.
2602 Don't increment curr_lines here.
2603 * uinfo.cc (pwdgrp::next_str): Keep returning EOL if out of data.
2604 (pwdgrp::reparse): Remove.
2605 (pwdgrp::next_num): Rename from next_int. Return bool indicating
2606 success of parse, argument returns value parsed.
2607 (pwdgrp::add_line): Increment curr_lines here on successful parse.
2608 (pwdgrp::load): (from Pierre Humblet) Don't return status. Just report
2609 it here.
2610
a53ddfe6
CF
26112003-01-25 Christopher Faylor <cgf@redhat.com>
2612
2613 * pwdgrp.cc (pwdgrp::reparse): Declare.
2614 * uinfo.cc (pwdgrp::reparse): Define.
c9b99d0d 2615 * grp.cc (pwdgrp::parse_group): Use reparse.
a53ddfe6 2616
4f7e12dd
CV
26172003-01-25 Pierre Humblet <pierre.humblet@ieee.org>
2618
2619 * syscalls.cc (seteuid32): On Win95 get the pw entry. If it exists
2620 update the euid and call cygheap->user.set_name. Remove special
2621 handling of ILLEGAL_UID.
ba6e1083 2622 (setgid32): Add a debug_printf. On Win95, always set the egid.
4f7e12dd
CV
2623 Remove special handling of ILLEGAL_GID. Do not compare gid and gr_gid.
2624 * child_info.h (class cygheap_exec_info): Remove uid.
2625 * spawn.cc (spawn_guts): Do not set ciresrv.moreinfo->uid.
2626 * dcrto.cc (dll_crt0_1): Always call uinfo_init.
2627 * uinfo.cc (uinfo_init): Reorganize and close handle if needed.
2628 (cygheap_user::ontherange): Do not call internal_getpwnam if pw is NULL.
2629
45dbfc26
CF
26302003-01-24 Christopher Faylor <cgf@redhat.com>
2631
2632 * fhandler_console.cc (fhandler_console::send_winch_maybe): Reset
2633 scroll region if size changes.
2634
7d33eefa
CV
26352003-01-24 Pierre Humblet <pierre.humblet@ieee.org>
2636 Jason Tishler <jason@tishler.net>
2637
2638 * cygwin.din: Export setreuid32, setreuid, setregid32, setregid.
2639 * syscalls.cc (setreuid32): New function.
2640 (setreuid): Ditto.
2641 (setregid32): Ditto.
2642 (setregid): Ditto.
2643 * include/cygwin/version.h: Bump API minor number.
2644
ac413374 26452003-01-23 Christopher Faylor <cgf@redhat.com>
69fae986 2646
ac413374 2647 * pwdrp.h (pwdgrp::refresh): Lock entire test prior to reading.
2037688a 2648
ac413374 26492003-01-23 Christopher Faylor <cgf@redhat.com>
09a88426
CF
2650
2651 * grp.cc (pwdgrp::parse_group): Eliminate arg and use class member
2652 instead. Use next_str and next_int to parse arguments.
2653 * passwd.cc (pwdgrp::parse_passwd): Ditto.
2654 (grab_string): Eliminate.
2655 (grab_int): Ditto.
2656 * pwdgrp.h (pwdgrp::parse): Eliminate input arg.
2657 (pwdgrp::parse_passwd): Reflect above change.
2658 (pwdgrp::parse_group): Reflect above change.
2659 (pwdgrp::next_str): New function.
2660 (pwdgrp::next_int): Ditto.
2661 (pwdgrp::gets): Eliminate.
2662 * uinfo.cc (pwdgrp::next_str): New function.
2663 (pwdgrp::next_int): Ditto.
2664 (pwdgrp::add_line): Subsume gets.
2665 (pwdgrp::gets): Eliminate.
2666 (pwdgrp::load): Just call add_line to parse input buffer.
2667
ac413374
CF
26682003-01-22 Thomas Pfaff <tpfaff@gmx.net>
2669
2670 * include/pthread.h (PTHREAD_MUTEX_RECURSIVE): Revert changes from
2671 2003-01-09 mutex patch.
2672 (PTHREAD_MUTEX_ERRORCHECK): Ditto.
2673
26742003-01-22 Corinna Vinschen <corinna@vinschen.de>
2675
2676 * cygrun.c: Move from here to ../testsuite.
2677 * Makefile.in: Remove cygrun.exe dependencies.
2678
26792003-01-21 Jason Tishler <jason@tishler.net>
2680
2681 * cygwin.din: Export nanosleep().
2682 * signal.cc (nanosleep): New function.
2683 (sleep): Move old functionality to nanosleep(). Call nanosleep().
2684 (usleep): Remove old functionality. Call nanosleep().
2685 * include/cygwin/version.h: Bump API minor number.
2686
57394495
CF
26872003-01-21 Christopher Faylor <cgf@redhat.com>
2688
2689 * grp.cc: Call gr.refresh() rather than doing isunitialized tests
2690 throughout.
2691 (gr): Use constructor (sigh).
2692 (pwdgrp::parse_group): Rename from parse_grp.
2693 (pwdgrp::read_group): Rename from read_etc_group. Just call gr.load
2694 with a single argument.
2695 * passwd.cc: Call pr.refresh() rather than doing isunitialized tests
2696 throughout.
2697 (pr): Use constructor (sigh).
2698 (pwdgrp::parse_passwd): Rename from "parse_pwd".
2699 (pwdgrp::read_passwd): Rename from read_etc_passwd. Just call pr.load
2700 with a single argument.
2701 * pwdgrp.h (pwdgrp_state): Eliminate.
2702 (pwdgrp): Reflect above renamings.
2703 (pwdgrp::etc_ix): Rename from pwd_ix.
2704 (pwdgrp::read): New element.
2705 (pwdgrp::lock): New element.
2706 (pwdgrp::refresh): New function.
2707 (pwdgrp::load): Eliminate variations which take buffer arguments.
2708 (pwdgrp::pwdgrp): New constructors. Initialize mutex here.
2709 * uinfo.cc (pwdgrp::load): Accommodate pwd_ix -> etc_ix renaming.
2710 (pwdgrp::load): Set initialized state to true rather than setting state
2711 to loaded.
2712
984864e9
CF
27132003-01-21 Christopher Faylor <cgf@redhat.com>
2714
89f7e8d1 2715 * include/cygwin/version.h: Bump DLL minor number.
984864e9 2716
d8cde3a3
CF
27172003-01-21 Pierre Humblet <pierre.humblet@ieee.org>
2718
2719 * path.h (etc::change_possible): Revert the type to bool.
2720 (etc::set_last_modified): Remove obsolete function.
2721 * path.cc (etc::change_possible): Revert type to bool.
2722 (etc::test_file_change): Do not test for negative values of
2723 change_possible and do not set it to -res.
2724 (etc::dir_changed): When the handle is NULL, call memset instead of
09a88426
CF
2725 test_file_changed. When the handle is invalid, return true. Detect
2726 filename change in /etc.
d8cde3a3 2727 (etc::file_changed): Remove unneeded check for !fn[n].
33de631b 2728 * uinfo.cc (pwdgrp::load): Eliminate spurious setting of fh to NULL.
b99b804b 2729 * pwdgrp.h (pwdgrp::operator =): Eliminate.
d8cde3a3 2730
7905c4f1
CF
27312003-01-19 Christopher Faylor <cgf@redhat.com>
2732
2733 * pwdgrp.h (etc): Move to path.h.
2734 (pwdgrp::max_lines): New field.
2735 (pwdgrp::curr_lines): New field.
2736 (pwdgrp::pwdgrp_buf): Ditto.
2737 (pwdgrp_buf_elem_size): Ditto.
2738 (pwdgrp_parse): Ditto.
2739 (pwdgrp::gets): Just declare here.
2740 (pwdgrp::load): Ditto. Just take one argument.
2741 (pwdgrp::load): Define overloaded function accepting passwd buf.
2742 (pwdgrp::load): Define overloaded function accepting group buf.
2743 * grp.cc: Use pwdgrp elements rather than standalone static variables
2744 throughout.
2745 (curr_lines): Eliminate.
2746 (max_lines): Ditto.
2747 (add_grp_line): Ditto.
2748 (parse_grp): Define as returning boolean. Accept void * arg and line
2749 count. Coerce first argument into __group32 buf reference. Increment
2750 curr_line as appropriate.
2751 (read_etc_group): Pass pwdgrp buffer to gr.load.
2752 * passwd.cc: Use pwdgrp elements rather than standalone static variables
2753 throughout.
2754 (curr_lines): Eliminate.
2755 (max_lines): Ditto.
2756 (add_grp_line): Ditto.
2757 (parse_passwd): Define as returning boolean. Accept void * arg and line
2758 count. Coerce first argument into passwd buf reference. Increment
2759 curr_line as appropriate.
2760 (read_etc_group): Pass pwdgrp buffer to pr.load.
2761 * path.cc (etc::fn): Extend buffer size to allow index by 1 rather than
2762 zero.
2763 (etc::last_modified): Ditto.
2764 (etc::change_possible): Ditto. Renamed from sawchange. Change to
2765 signed char since elements are now tri-state.
2766 (etc::init): Assume "handle" is 1 based rather than 0.
2767 (etc::test_file_change): New function. Sets change_possible based on
2768 file date comparison.
2769 (etc::dir_changed): Check file states immediately after changed_h is
2770 initialized to avoid a race.
2771 (etc::file_changed): Use test_file_change to detect if file needs to be
2772 updated.
2773 * path.h (etc): Move class here from pwdgrp.h.
7905c4f1
CF
2774 * uinfo.cc: Move etc:: functions to path.cc. Move pwdgrp functions
2775 here.
2776 (pwdgrp::gets): Eliminate buf checks. Just check eptr and set lptr.
2777 (pwdgrp::add_line): New function.
2778 (pwdgrp::load): Call generic add_line function which will call correct
2779 parser.
2780
4c6a3e50
CF
27812003-01-17 Christopher Faylor <cgf@redhat.com>
2782
2783 * cygheap.cc: Change most 'int's to 'unsigned's.
2784 (_cmalloc): Only check for size of malloced region when calculating
97d2bc79 2785 bucket. Add overhead when performing the sbrk. Previous change broke
4c6a3e50
CF
2786 _crealloc.
2787
e9152439
CF
27882003-01-17 Christopher Faylor <cgf@redhat.com>
2789
2790 * dcrt0.cc (initialize_env): Use colon for CYGWIN_DEBUG separator.
2791 * grp.cc: Change most statics to NO_COPY throughout.
2792 * passwd.cc: Ditto.
2793
27942003-01-17 Christopher Faylor <cgf@redhat.com>
2795
2796 * pwdgrp.h: Change some BOOLs to bools.
2797 (pwdgrp::pwdgrp): Remove unneeded constructor.
2798 * passwd.cc: Change BOOL to bool throughout.
2799
afa378e7
CV
28002003-01-17 Corinna Vinschen <corinna@vinschen.de>
2801
2802 * cygwin.din: Add strerror_r.
2803 * include/cygwin/version.h: Bump API minor number.
2804
1de6f431
CF
28052003-01-17 Christopher Faylor <cgf@redhat.com>
2806
2807 * uinfo.cc (etc::dir_changed): Don't print a warning if can't open
2808 /etc, unless debugging.
2809
d8cde3a3 28102003-01-17 Pierre Humblet <pierre.humblet@ieee.org>
14ea5029
CF
2811
2812 * grp.cc (read_etc_group): On NT, add a line for gid = -1. Change name
2813 "unknown" to "mkgroup".
2814 (internal_getgrgid): Do not return default in nontsec case.
2815 (internal_getgroups): Add argument srchsid and look for it in groups if
2816 not NULL.
2817 * passwd.cc (read_etc_passwd): On NT, add a line for uid = -1. Use
2818 same default uid for Win95 and NT. Call cygheap_user::ontherange to
2819 initialize HOME.
2820
14ea5029
CF
28212003-01-16 Christopher Faylor <cgf@redhat.com>
2822
2823 * cygheap.cc (init_cygheap::etc_changed): Move to uinfo.cc.
2824 * cygheap.h (init_cygheap::etc_changed_h): Remove.
2825 (init_cygheap::etc_changed): Ditto.
2826 * grp.cc (group_state): Remove. Use gr instead throughout.
2827 (gr): Define as class pwdgrp.
2828 (read_etc_group): Remove gr definition. Remove calls to
2829 set_last_modified and close. Pass add_grp to gr.load to load file.
2830 * passwd.cc (passwd_state): Remove. Use pr instead, throughout.
2831 (pr): Define as class pwdgrp.
2832 (read_etc_passwd): Remove pr definition. Remove calls to
2833 set_last_modified and close. Pass add_pwd_line to pr.load to load
2834 file.
2835 * pwdgrp.h (etc): New helper class for pwdgrp.
2836 (pwdgrp): Combine pwdgrp_check and pwdgrp_read into one class. Remove
2837 file_w32 and last_modified fields.
2838 (pwdgrp::set_last_modified): Remove.
2839 (pwdgrp::isinitializing): Remove FindFirstFile stuff. Move to
2840 etc::file_changed.
2841 (pwdgrp::load): Rename from 'open'. Call etc::init to initialize etc
2842 scanning. Close file handle after reading buffer into memory. Parse
2843 buffer by calling second argument.
2844 (pwdgrp::gets): Reorganize slightly to rely on eptr starting at
5304bcdf 2845 beginning of buffer.
14ea5029
CF
2846 (pwdgrp::close): Remove.
2847 * uinfo.cc (etc::dir_changed): New function.
2848 (etc::init): Ditto.
2849 (etc::file_changed): Ditto.
2850 (etc::set_last_modified): Ditto.
2851
41429bc9
CV
28522003-01-16 Jason Tishler <jason@tishler.net>
2853
2854 * mmap.cc (fixup_mmaps_after_fork): Add ERROR_NOACCESS to the list of
2855 ReadProcessMemory() error codes that trigger a retry with temporary
2856 PAGE_READONLY access. Note that this can occur on NT 4.0.
2857
18813254
CF
28582003-01-15 Christopher Faylor <cgf@redhat.com>
2859
2860 * path.cc (normalize_posix_path): Convert win32 path separators to
2861 slashes when full path is specified.
2862
77cb0c56
CF
28632003-01-15 Pierre Humblet <pierre.humblet@ieee.org>
2864
2865 * cmalloc.cc (_cmalloc): Fix memory leak.
2866
ce542f78
CV
28672003-01-15 Corinna Vinschen <corinna@vinschen.de>
2868
2869 * autoload.cc: Fix copyright date.
2870 * fhandler_dsp.cc: Ditto.
2871 * mmap.cc: Ditto.
2872 * net.cc: Ditto.
2873 * ntdll.h: Ditto.
2874 * signal.cc: Ditto.
2875 * syscalls.cc: Ditto.
2876 * uname.cc: Ditto.
2877 * wait.cc: Ditto.
2878
15996b6f
CV
28792003-01-14 Corinna Vinschen <corinna@vinschen.de>
2880
2881 * mmap.cc (fixup_mmaps_after_fork): Copy protection to child process.
2882 Change ambiguous debug output.
2883
857b65dd
CV
28842003-01-14 Corinna Vinschen <corinna@vinschen.de>
2885
2886 * mmap.cc (mmap_record::access): Change argument type to caddr_t
2887 for strictness.
2888 (mprotect): Protect against calling VirtualProtect() for shared
2889 pages on 9x/Me.
2890 (fixup_mmaps_after_fork): If ReadProcessMemory() fails, try to
2891 change protection of parent page to PAGE_READONLY, then try again.
2892 Revert protection afterwards.
2893
e14328f4
TP
28942003-01-14 Thomas Pfaff <tpfaff@gmx.net>
2895
2896 * syscalls.cc (system): Add pthread_testcancel call.
2897 * thread.cc: Update list of cancellation points.
2898
4a3584c8
TP
28992003-01-14 Thomas Pfaff <tpfaff@gmx.net>
2900
2901 * wait.cc: Include thread.h
2902 (wait4): Add pthread_testcancel call.
2903 Wait for child process and cancellation event.
2904 * thread.cc: Update list of cancellation points.
2905
7ec66a2c
TP
29062003-01-14 Thomas Pfaff <tpfaff@gmx.net>
2907
2908 * signal.cc (sleep): Add pthread_testcancel call.
2909 Wait for signal and cancellation event.
2910 (usleep): Ditto.
2911
29122003-01-14 Thomas Pfaff <tpfaff@gmx.net>
3457ce4d
TP
2913
2914 * exceptions.cc (handle_sigsuspend): Add pthread_testcancel call.
2915 Wait for signal and cancellation event.
2916 * thread.cc: Update list of cancellation points.
2917
2673d5f2
CF
29182003-01-14 David Huang <davehzhr@hotmail.com>
2919
2920 * fhandler_dsp.cc (fhandler_dsp::ioctl): Add limited support for
2921 SNDCTL_DSP_GETFMTS.
2922
9f0d3f37
CF
29232003-01-12 Christopher Faylor <cgf@redhat.com>
2924
2925 * ntdll.h: Fix typo.
2926
7f129d87
CV
29272003-01-12 Corinna Vinschen <corinna@vinschen.de>
2928
2929 * uname.cc (uname): Use cygwin_gethostname() to retrieve hostname.
2930
ab2dbccc
CV
29312003-01-12 Pierre Humblet <pierre.humblet@ieee.org>
2932
2933 * sec_acl.cc (search_ace): Use id == -1, instead of < 0, as wildcard.
2934 (setacl): Start the search for a matching default at the next entry.
2935 Invalidate the type of merged entries instead of clearing it.
2936 Use well_known_creator for default owner and owning group and do
2937 not try to merge non-default and default entries in these cases.
2938 (getacl): Recognize well_known_creator for default owner and group.
2939 (acl_worker): Improve errno settings and streamline the nontsec case.
2940 * security.cc (write_sd): Remove the call to set_process_privilege.
2941 (alloc_sd): If the owner changes, call set_process_privilege and return
2942 immediately on failure. Change inheritance rules: on new directories add
2943 inherit only allow ACEs for creator_owner, creator_group and everyone.
2944 Preserve all inheritances through chmod and chown calls. Introduce
2945 isownergroup to implement the uid == gid case, to keep the inheritance
2946 code simple. Do not initialize owner_sid and group_sid and stop using
2947 the variable psd.
2948
68115c74
CF
29492003-01-10 Christopher Faylor <cgf@redhat.com>
2950
2951 * net.cc: Use gethostname define from winsock2.h.
2952
e3abf986
CF
29532003-01-10 Christopher Faylor <cgf@redhat.com>
2954
2955 * path.cc: Unrevert below reversion except for
2956 mount_info::conv_to_posix_path part.
2957
df2caa88
CV
29582003-01-10 Corinna Vinschen <corinna@vinschen.de>
2959
2960 * path.cc: Revert patch from 2003-01-09 to normalize a windows path
2961 rather than converting to posix.
2962
dc8d11f5
CV
29632003-01-10 Corinna Vinschen <corinna@vinschen.de>
2964
2965 * autoload.cc (gethostname): Make call optional, return 1 if function
2966 can't get loaded.
2967 * net.cc (cygwin_gethostname): Call GetComputerName if return value
2968 of gethostname is non-zero.
2969
70d61f30
CV
29702003-01-10 Charles Wilson <cwilson@ece.gatech.edu>
2971
8735f49f 2972 * cygwin.din: Add asprintf and vasprintf, as well as the reentrant
70d61f30 2973 versions and underscore variants.
8735f49f 2974 * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR.
70d61f30 2975
a7711767
CV
29762003-01-10 Corinna Vinschen <corinna@vinschen.de>
2977
2978 * net.cc (cygwin_gethostname): Fix call to wsock function gethostname.
2979
d5223b2b
CF
29802003-01-09 Christopher Faylor <cgf@redhat.com>
2981
2982 * cygthread.cc (cygthread::cygthread): Be more noisy about odd
2983 condition.
2984 * miscfuncs.cc (low_priority_sleep): Sleep in regular priority if
2985 that's what we're currently running at.
2986
65f207e8
TP
29872003-01-09 Thomas Pfaff <tpfaff@gmx.net>
2988
2989 * include/semaphore.h: Modify typedef for sem_t.
2990 * include/cygwin/types.h: Modify typedefs for pthread_t,
2991 pthread_mutex_t, pthread_key_t, pthread_attr_t,
2992 pthread_mutexattr_t, pthread_condattr_t, pthread_cond_t,
2993 pthread_rwlock_t and pthread_rwlockattr_t.
2994
09cbb9d6
TP
29952003-01-09 Thomas Pfaff <tpfaff@gmx.net>
2996
2997 * thread.h (WAIT_CANCELED): New define.
2998 (pthread::cancelable_wait): New static method.
2999 * thread.cc (pthread::cancelable_wait): Implement.
3000 (semaphore::Wait): Wait on semaphore and thread cancellation.
3001 (pthread::join): Wait on joined thread and thread cancellation.
3002 (semaphore::wait): Add testcancel to check for thread
3003 cancellation even if the semaphore is available.
3004
5d68d1de
TP
30052003-01-09 Thomas Pfaff <tpfaff@gmx.net>
3006
3007 * include/pthread.h: Add define for errorchecking mutexes.
3008 Change default mutex type.
3009 * thread.cc (pthread_cond::TimedWait): Update mutex unlock
3010 calls.
3011 (pthread_mutex::pthread_mutex): New implement.
3012 (pthread_mutex::~pthread_mutex): Ditto.
3013 (pthread_mutex::Lock): Ditto.
3014 (pthread_mutex::TryLock): Ditto.
3015 (pthread_mutex::UnLock): Ditto.
3016 (pthread_mutex::Destroy): Implement new method.
3017 (pthread_mutex::SetOwner): Ditto.
3018 (pthread_mutex::LockRecursive): Ditto.
3019 (pthread_mutex::fixup_after_fork): Restore locking state after
3020 fork.
3021 (__pthread_mutex_lock): Return pthread_mutex::Lock errorcode.
3022 (__pthread_mutex_trylock): Return pthread_mutex::TryLock
3023 errorcode.
3024 (__pthread_mutex_unlock): Return pthread_mutex::UnLock
3025 errorcode.
3026 (__pthread_mutex_destroy): Call pthread_mutex::Destroy to
3457ce4d 3027 destroy mutex.
5d68d1de
TP
3028 (__pthread_mutexattr_settype): Allow errorchecking and recursive
3029 types.
3030 * thread.h (MUTEX_LOCK_COUNTER_INITIAL): New define.
3031 (pthread_mutex::criticalsection): Remove.
3032 (pthread_mutex::lock_counter): New member.
3033 (pthread_mutex::recursion_counter): Ditto.
3034 (pthread_mutex::owner): Ditto.
3035 (pthread_mutex::type): Ditto.
3036 (pthread_mutex::Destroy): New method.
3037 (pthread_mutex::SetOwner): Ditto.
3038 (pthread_mutex::LockRecursive): Ditto.
3039
ed9fe455
TP
30402003-01-09 Thomas Pfaff <tpfaff@gmx.net>
3041
3042 * pthread.cc (pthread_cond_init): Use new pthread_cond::init.
3043 * thread.cc: Some white spaces cleanups.
3044 Change __pthread_cond_init to pthread_cond::init throughout.
3045 (nativeMutex): Move class methods outside pthread_mutex.
3046 (MTinterface::Init): Initialize pthread_cond init lock.
3047 (pthread_cond::condInitializationLock): Instantiate.
3048 (pthread_cond::initMutex): New Method.
3049 (pthread_cond::isGoodInitializerOrBadObject): Ditto.
3050 * thread.h: Some white spaces cleanups.
3051 (nativeMutex): Move class declaration outside pthread_mutex.
3052 (pthread_cond::condInitializationLock): New static member.
3053 (pthread_cond::initMutex): New Method.
3054 (pthread_cond::isGoodInitializerOrBadObject): Ditto.
3055 (__pthread_cond_init): Remove prototype.
3056
93353aee
CV
30572003-01-09 Corinna Vinschen <corinna@vinschen.de>
3058
3059 * fhandler_disk_file.cc (num_entries): Return 2 as link count if
3060 directory unreadable.
3061
3eb27a4e
CV
30622003-01-09 Corinna Vinschen <corinna@vinschen.de>
3063
3064 * security.cc (get_nt_attribute): Always return -1 when read_sd()
3065 fails.
3066 (get_file_attribute): Set permissions to 0 and owner/group to -1
3067 if security descriptor is unreadable.
3068
85ba109d
CF
30692003-01-09 Christopher Faylor <cgf@redhat.com>
3070
3071 Use isdirsep rather than SLASH_P throughout.
3072 * path.cc (iscygdrive): Disallow /cygdrive\x.
3073 (normalize_posix_path): "Normalize" a windows path, if detected, rather
3074 than converting to posix.
3075
30762003-01-06 Troy Curtiss <troyc@usa.net>
3077
3078 * fhandler_serial.cc (fhandler_serial::tcsetattr): Add support and
3079 capability checking for B230400 bitrate.
3080 (fhandler_serial::tcgetattr): Add support for B230400 bitrate.
3081 * include/sys/termios.h: Add B230400 definition for Posix support of
3082 230.4Kbps.
3083
cbdbe9d7
CF
30842003-01-05 Christopher Faylor <cgf@redhat.com>
3085
3086 * pinfo.cc (_pinfo::commune_send): Use myself->lock rather than just
3087 lock when leaving.
3088
f3afe99b
CF
30892003-01-03 Christopher Faylor <cgf@redhat.com>
3090
3091 * dtable.h (dtable::in_vfork_cleanup): New function. True if vfork
3092 cleanup needed.
3093 * dtable.cc (dtable::vfork_parent_restore): Remove assertion.
3094 * pipe.cc (fhandler_pipe::close): Don't close read_state during
3095 fork_fixup since it wasn't inherited.
3096
2665fb15
CF
30972003-01-01 Christopher Faylor <cgf@redhat.com>
3098
3099 * passwd.cc (getpwuid_r32): Revert previous change.
3100
8619b42b
CF
31012003-01-01 Christopher Faylor <cgf@redhat.com>
3102
3103 * sysconf.cc (sysconf): Return arbitrary values for
3104 _SC_GETGR_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_GETPW_R_SIZE_MAX.
3105
3106 * passwd.cc (getpwuid_r32): Add uid/gid fields to size check
3107 calculation.
This page took 0.426149 seconds and 5 git commands to generate.