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