]> sourceware.org Git - newlib-cygwin.git/blame - winsup/cygwin/ChangeLog
update to newer autoconf
[newlib-cygwin.git] / winsup / cygwin / ChangeLog
CommitLineData
99fc5e10
CF
12006-05-24 Christopher Faylor <cgf@timesys.com>
2
3 * configure.in: Update to newer autoconf.
4 (thanks to Steve Ellcey)
5 * configure: Regenerate.
6 * aclocal.m4: New file.
7
8b081331
CF
82006-05-23 Lev Bishop <lev.bishop+cygwin@gmail.com>
9
10 * fhandler.cc (readv): Remove nonsensical assert.
11
12a7d844
CF
122006-05-23 Christopher Faylor <cgf@timesys.com>
13
14 * select.cc (start_thread_socket): Delay setting thread local exitsock
15 until we know it's correct. Return correct value on error.
16
9905786a
CF
172006-05-23 Lev Bishop <lev.bishop+cygwin@gmail.com>
18 Christopher Faylor <cgf@timesys.com>
19
20 * select.cc (start_thread_socket): Clean up exitsock in case of
21 error. Use si->exitcode consistently.
22
6813f009
CF
232006-05-21 Christopher Faylor <cgf@timesys.com>
24
25 * child_info.h (_CI_SAW_CTRL_C): New enum.
26 (CURR_CHILD_INFO_MAGIC): Reset.
27 (saw_ctrl_c): New function.
28 (set_saw_ctrl_c): Ditto.
29 * sigproc.cc (child_info::proc_retry): Return EXITCODE_OK if we get
30 STATUS_CONTROL_C_EXIT and we actually saw a CTRL-C.
31 * spawn.cc (dwExeced): Delete.
32 (chExeced): New variable.
33 (spawn_guts): Set chExeced;
34 * exceptions.cc (dwExeced): Delete declaration.
35 (chExeced): Declare.
36 (ctrl_c_handler): Detect if we're an exec stub process and set a flag,
37 if so.
38
39 * fhandler_tty.cc (fhandler_tty_common::__release_output_mutex): Add
40 extra DEBUGGING test.
41
42 * pinfo.cc: Fix comment.
43
8ae1d98d
CF
442006-05-21 Christopher Faylor <cgf@timesys.com>
45
46 * fhandle.h (fhandler_pipe::create_guard): Revert change which
47 eliminated SECURITY_ATTRIBUTES argument.
48 * pipe.cc (fhandler_pipe::open): Duplicate guard from other process and
49 protect it appropriately. Eliminate unneeded writepipe_exists
50 temporary variable. Set inheritance appropriately.
51 (fhandler_pipe::set_close_on_exec): Revert change which eliminated
52 handling guard inheritance.
53 (fhandler_pipe::fixup_after_fork): Ditto. Use correct name of entity
54 being checked by fork_fixup.
55 (fhandler_pipe::fixup_after_exec): Don't bother with guard here.
56 (fhandler_pipe::dup): Cosmetic changes and revert creation of
57 writepipe_exists as noninheritable.
58 (fhandler_pipe::create): Revert change which eliminated
59 SECURITY_ATTRIBUTES argument. Revert change which always made
60 writepipe_exists noninheritable.
61
b040009e
CF
622006-05-21 Christopher Faylor <cgf@timesys.com>
63
64 * debug.cc (add_handle): Print handle value when collision detected.
65 * dtable.cc (dtable::stdio_init): Cosmetic change.
66 * fhandler.h (fhandler_base::create_read_state): Protect handle.
67 (fhandler_pipe::create_guard): Ditto. Always mark the handle as
68 inheritable.
69 (fhandler_pipe::is_slow): Return boolean value rather than numeric 1.
70 * pipe.cc (fhandler_pipe::fhandler_pipe): Always flag that we need fork
71 fixup.
72 (fhandler_pipe::open): Don't pass security attributes to create_guard.
73 (fhandler_pipe::set_close_on_exec): Don't handle guard here.
74 (fhandler_pipe::close): Accommodate now-protected guard handle.
b7dd7dfc 75 (fhandler_pipe::fixup_in_child): Don't protect read_state here.
b040009e
CF
76 (fhandler_pipe::fixup_after_exec): Close guard handle if close_on_exec.
77 (fhandler_pipe::fixup_after_fork): Don't bother with guard here.
78 (fhandler_pipe::dup): Don't set res to non-error prematurely. Use
79 boolean values where appropriate. Protect guard and read_state.
80 (fhandler_pipe::create): Don't call need_fork_fixup since it is now the
81 default. Don't protect read_state or guard.
82
83 * pipe.cc (fhandler_base::ready_for_read): Use bool values for "avail".
84
85 * spawn.cc (spawn_guts): Set cygheap->pid_handle as inheritable when
86 protecting.
87
882006-05-15 Lev Bishop <lev.bishop+cygwin@gmail.com>
89 Christopher Faylor <cgf@timesys.com>
90
91 * select.cc (fhandler_pipe::ready_for_read): Actually get the guard
92 mutex for blocking reads.
93
6118c524
CF
942006-05-20 Christopher Faylor <cgf@timesys.com>
95
96 * fhandler_tty.cc (fhandler_tty::close): Remove problematic hExeced guard.
97
3b26b6a2
CF
982006-05-20 Christopher Faylor <cgf@timesys.com>
99
100 * fhandler_tty.cc (fhandler_tty_slave::open): Reinstate call to
101 need_invisible on first pty open.
102
1160b217
CF
1032006-05-18 Christopher Faylor <cgf@timesys.com>
104
105 * fhandler_console.cc (fhandler_console::need_invisible): Allocate an
106 invisible window station when ctty != TTY_CONSOLE.
107
9fa8d227
CF
1082006-05-16 Christopher Faylor <cgf@timesys.com>
109
110 * cygtls.cc (_cygtls::remove): Don't test for initialization since
111 this function will always be called when _my_tls is initialized.
112 * init.cc (dll_entry): Don't attempt to remove tls info if _my_tls is
113 obviously not even available.
114
562adf78
CF
1152006-05-15 Christopher Faylor <cgf@timesys.com>
116
117 * sigproc.cc (no_signals_available): Detect hwait_sig ==
118 INVALID_HANDLE_VALUE.
119 (wait_sig): Set hwait_sig to INVALID_HANDLE_VALUE on __SIGEXIT.
120
1e68a8ce 1212006-05-15 Christopher Faylor <cgf@timesys.com>
562adf78
CF
122
123 * cygtls.cc (_cygtls::init_thread): Zero entire _my_tls structure and
124 no more.
125 * cygtls.h (_my_tls::padding): Delete.
126 (CYGTLS_PADSIZE): Redefine concept of padding to mean padding at the
127 end of the stack.
128 * dcrt0.cc (initialize_main_tls): Change return to void.
129 * gentls_offsets: Treat const specially, too. Keep going after a '}'
130 is found. Change negative offset calculation to use CYGTLS_PADSIZE.
131 * init.cc (_my_oldfunc): New variable.
132 (threadfunc_fe): Use stored tls value for oldfunc rather than blindly
133 writing to the stack.
134 (munge_threadfunc): Set oldfunc in tls.
135 (dll_entry): Initialize tls allocation.
136 * tlsoffsets.h: Regenerate.
137
a9e36321
CF
1382006-05-13 Christopher Faylor <cgf@timesys.com>
139
140 * ntdll.h (STATUS_INVALID_INFO_CLASS): Conditionalize.
141
a72a9c19
BD
1422006-05-10 Brian Dessent <brian@dessent.net>
143
144 * Makefile.in (clean): Also delete *.dbg.
145
56aed3f5
CF
1462006-05-08 Christian Franke <Christian.Franke@t-online.de>
147
148 * fhandler_disk_file.cc (fhandler_disk_file::readdir): Fix typo which
149 caused test for ".." to be skipped.
150
d182b68c
CF
1512006-05-02 Christopher Faylor <cgf@timesys.com>
152
153 * external.cc (cygwin_internal): Set errno on failure.
154
523423ee
CV
1552006-04-27 Corinna Vinschen <corinna@vinschen.de>
156
157 * pipe.cc (DEFAULT_PIPEBUFSIZE): Raise to 64K.
158
330a2fae
CV
1592006-04-26 Corinna Vinschen <corinna@vinschen.de>
160
161 * fhandler.h (fhandler_base): Change fstat_helper prototype
162 to take file size and inode number as 64 bit values.
163 * fhandler_disk_file.cc (FS_IS_SAMBA): Move to path.cc
164 (FS_IS_SAMBA_WITH_QUOTA): Ditto.
165 (path_conv::hasgood_inode): Delete.
166 (path_conv::is_samba): Delete.
167 (path_conv::isgood_inode): Centralized function to recognize
168 a good inode number.
169 (fhandler_base::fstat_by_handle): Constify fvi_size and fai_size.
170 Accomodate argument change in fstat_helper.
171 (fhandler_base::fstat_by_name): Ditto.
172 (fhandler_base::fstat_helper): Accomodate argument change. Call
173 path_conv::isgood_inode to recognize good inodes.
174 (fhandler_disk_file::opendir): Explain Samba weirdness here.
175 Call path_conv::fs_is_samba instead of path_conv::is_samba.
176 (fhandler_disk_file::readdir): Add STATUS_INVALID_INFO_CLASS
177 as valid return code from NtQueryDirectoryFile to indicate that
178 FileIdBothDirectoryInformation is not supported.
179 Call path_conv::isgood_inode to recognize good inodes.
180 * ntdll.h (STATUS_INVALID_INFO_CLASS): Define.
181 * path.cc (fs_info::update): Rework file system recognition
182 and set appropriate flags.
183 * path.h (struct fs_info): Add is_ntfs, is_samba and is_nfs flags.
184 Constify pure read accessors.
185
a2649dc6
CF
1862006-04-24 Christopher Faylor <cgf@timesys.com>
187
188 * environ.cc (getearly): Force correct dereference order when
189 inspecting environ table.
190
b4c53a7c
CV
1912006-04-24 Corinna Vinschen <corinna@vinschen.de>
192
193 * select.cc (thread_pipe): Raise sleep time only every 8th iteration.
194 (thread_mailslot): Ditto.
195
cfa88257
CV
1962006-04-23 Corinna Vinschen <corinna@vinschen.de>
197 Christopher Faylor <cgf@timesys.com>
198
199 * select.cc (thread_pipe): Raise sleep time dynamically to speed up
200 select on pipes when copying lots of data.
201 (thread_mailslot): Ditto for mailslots.
202
bdcec0d9
CF
2032006-04-22 Christopher Faylor <cgf@timesys.com>
204
3153a0ec
CF
205 * signal.cc (abort): On second thought, just set incyg once.
206
2072006-04-22 Christopher Faylor <cgf@timesys.com>
208
209 * signal.cc (abort): Set incyg manually to help get a reliable gdb
210 stack trace.
bdcec0d9
CF
211 * cygwin.din (abort): Make NOSIGFE.
212
3a83d3a8
CF
2132006-04-21 Pierre Humblet Pierre.Humblet@ieee.org
214 Christopher Faylor <cgf@timesys.com>
215
216 * environ.cc (getearly): Use GetEnvironmentVariable and cmalloc instead
217 of GetEnvironmentStrings.
218 (environ_init): Revert rawenv stuff.
219
16dc3c95
CF
2202006-04-21 Christopher Faylor <cgf@timesys.com>
221
222 * environ.cc (rawenv): Make this variable a file-scope static.
223 (getearly): Rename 's' variable to 'len' since 's' is used fairly
224 consistently throughout cygwin as a string variable. Remove rawenv
225 declaration. Perform other minor cleanups.
226 (environ_init): Remove rawenv declaration. Only set rawenv to
227 GetEnvironmentStrings() if it has not already been set. Properly free
228 rawenv in all cases.
229
f09acf77
CF
2302006-04-21 Christopher Faylor <cgf@timesys.com>
231
232 * tty.h (tty::hwnd): Move to tty_min.
233 (tty::gethwnd): Ditto.
234 (tty::sethwnd): Ditto.
235 (tty_min::hwnd): Receive variable from tty class.
236 (tty_min::gethwnd): Receive function from tty classs.
237 (tty_min::sethwnd): Ditto.
238 * dtable.cc (dtable::stdio_init): Only call init_console_handler when
239 we actually own the console.
240 * fhandler_console.cc (fhandler_console::get_tty_stuff): Set tty's hwnd
241 to non-zero value.
242 * fhandler_termios.cc (fhandler_termios::tcsetpgrp): Semi-reinstate
243 handling of console when pgrp is set.
244
33b0abd1
CV
2452006-04-21 Pierre Humblet <Pierre.Humblet@ieee.org>
246 Corinna Vinschen <corinna@vinschen.de>
247
248 * environ.cc (getearly): New function.
249 (findenv_func): New function pointer, predefined to getearly.
250 (getenv): Call findenv function over the findenv_func pointer.
251 (environ_init): Change findenv_func pointer to my_findenv after Cygwin
252 environment is initialized.
253
053fc477
CV
2542006-04-21 Lars Munch <lars@segv.dk>
255
256 * include/asm/byteorder.h (__ntohl): Fix the missing uint32_t.
257
00c22088
CV
2582006-04-21 Corinna Vinschen <corinna@vinschen.de>
259
260 * fhandler_socket.cc (fhandler_socket::wait): Reorder setting
261 WSAError to avoid spurious errors with WSAError set to 0.
262
387e6a35
CV
2632006-04-21 Corinna Vinschen <corinna@vinschen.de>
264
265 * include/asm/byteorder.h: Include stdint.h. Per standard, change
266 datatypes in ntohX and htonX functions to uintXX_t types.
267
4c6f65fc
CF
2682006-04-18 Christopher Faylor <cgf@timesys.com>
269
270 * exceptions.cc (ctrl_c_handler): Only exit TRUE on CTRL_LOGOFF_EVENT
271 when we have actually handled the event.
272
d1efa4e8
CF
2732006-04-17 Eric Blake <ebb9@byu.net>
274
275 * mktemp.cc (_gettemp): Open temp files in binary mode.
276
b40098e6
CV
2772006-04-14 Corinna Vinschen <corinna@vinschen.de>
278
279 * fhandler_disk_file.cc (fhandler_disk_file::readdir): Use UINT32_MAX
280 instead of UINT_MAX.
281
5b9262e7
CV
2822006-04-14 Corinna Vinschen <corinna@vinschen.de>
283
284 * fhandler_disk_file.cc (path_conv::hasgood_inode): Make inline.
285 Drop remote fs handling entirely since unreliable inode numbers
286 are now recognized differently.
287 (path_conv::is_samba): Make inline.
288 (fhandler_disk_file::opendir): Reformat comment.
289 (fhandler_base::fstat_helper): Special case remote file systems
290 returning (unreliable) 32 bit inode numbers.
b40098e6 291 (fhandler_disk_file::readdir): Ditto.
5b9262e7
CV
292 * fhandler_netdrive.cc (fhandler_netdrive::readdir): Ditto.
293
853f84e5
CF
2942006-04-13 Christopher Faylor <cgf@timesys.com>
295
296 * spawn.cc (spawn_guts): Move ch.set() call back to where it was
297 supposed to be.
298
41496901
CV
2992006-04-13 Corinna Vinschen <corinna@vinschen.de>
300
301 * sysconf.cc (sysconf): Add _SC_THREADS, _SC_THREAD_ATTR_STACKSIZE,
302 _SC_THREAD_PRIORITY_SCHEDULING, _SC_THREAD_PROCESS_SHARED,
303 _SC_THREAD_SAFE_FUNCTIONS, _SC_TIMERS handling.
304
2e9d4843
CF
3052006-04-12 Corinna Vinschen <corinna@vinschen.de>
306 Christopher Faylor <cgf@timesys.com>
307
308 * spawn.cc (spawn_guts): Revert patch which treated derived cygwin
309 programs differently from those which are mounted with -X. Pass extra
310 argument to linebuf::fromargv.
311 * winf.h (MAXCYGWINCMDLEN): New define.
312 (linebuf::finish): Add a new argument denoting when command line
313 overflow is ok.
314 (linebuf::fromargv): Ditto.
315 * winf.cc (linebuf::finish): Implement above change.
316 (linebuf::fromargv): Ditto.
317
329a39eb
CF
3182006-04-11 Christopher Faylor <cgf@timesys.com>
319
320 * Makefile.in (DLL_OFILES): Add winf.o.
321 * spawn.cc: Move command line handling stuff into winf.cc.
322 * winf.h: New file.
323 * winf.cc: New file.
324
f2e6c508
CF
3252006-04-05 Christopher Faylor <cgf@timesys.com>
326
327 * fhandler_socket.cc: Move iptypes.h include after winsock2 since it
328 now relies on it.
329 * net.cc: Ditto.
330
0ce97eb4
CF
3312006-04-05 Christopher Faylor <cgf@timesys.com>
332
333 * dcrt0.cc (dll_crt0_0): Move user_data->{resourcelocks,threadinterface}
334 initialization here from dll_crt0_1.
335 (dll_crt0_1): See above.
336
8ca521af
CV
3372006-04-04 Corinna Vinschen <corinna@vinschen.de>
338
339 * net.cc (fdsock): Raise default SO_RCVBUF/SO_SNDBUF buffer sizes to
340 the same values as on Linux.
341
9dbb0bc3
CF
3422006-04-03 Christopher Faylor <cgf@timesys.com>
343
344 * child_info.h (CURR_CHILD_INFO_MAGIC): Update.
345 (child_info_fork::alloc_stack): Move into this class.
346 (child_info_fork::alloc_stack_hard_way): Ditto.
347 * dcrt0.cc (child_info_fork::alloc_stack): Ditto.
348 (child_info_fork::alloc_stack_hard_way): Ditto.
349 (_dll_crt0): Reference alloc_stack via fork_info.
350
45bdcc68
CV
3512006-04-03 Corinna Vinschen <corinna@vinschen.de>
352
353 * spawn.cc (linebuf::finish): Drop argument. Don't check command line
354 length.
355 (spawn_guts): Remove wascygexec. Check real_path.iscygexec instead.
356 Accommodate change to linebuf::finish.
357
1a6aafd0
CF
3582006-04-03 Christopher Faylor <cgf@timesys.com>
359
360 * dcrt0.cc (sm): Delete.
361 (alloc_stack_hard_way): Figure out where the stack lives here rather
362 than relying on previously filled out information which has been
363 invalid since 1.5.19.
364
b7b1c2d7
CV
3652006-03-31 Corinna Vinschen <corinna@vinschen.de>
366
367 * fhandler_disk_file.cc (FS_IS_SAMBA_WITH_QUOTA): New define.
368 (path_conv::hasgood_inode): Recognize Samba with quota support
369 compiled in.
370 (path_conv::is_samba): Ditto. Fix comment to include Samba version
371 numbers for later reference.
372
bb094105
CV
3732006-03-30 Corinna Vinschen <corinna@vinschen.de>
374
375 * security.h (sec_user_nih): Make sid1 argument mandatory.
376 (sec_user): Ditto.
377
6f9b3203
CF
3782006-03-29 Christopher Faylor <cgf@timesys.com>
379
380 * sigproc.cc (wait_for_sigthread): Use the current user sid when
381 setting up the signal pipe rather than relying on (eventually) the
382 effective sid.
383
12b33712
CF
3842006-03-29 Christopher Faylor <cgf@timesys.com>
385
386 * dcrt0.cc (child_info_fork::handle_fork): Set uid/gid in myself so
387 that it can be used by subsequent startup functions.
388 (dll_crt0_0): Issue a warning if DuplicateTokenEx fails and DEBUGGING.
389 (dll_crt0_1): Move user_data->{resourcelocks,threadinterface}
390 initialization here from dll_crt0_0.
391 * fork.cc (frok::child): Tell wait_for_sigthread that this is fork.
392 (frok::parent): Only initialize start_time once. Tighten time when
393 we're "deimpersonated".
394 * sigproc.cc (signal_fixup_after_exec): Rework (futiley) sa_buf stuff.
395 Add debugging output.
396 (wait_for_sigthread): Accept an argument which illustrates whether we
397 are forked or not.
398 (wait_sig): Avoid using myself pointer.
399 * winsup.h ((wait_for_sigthread): Reflect change to argument.
400
8b9fb6ff
CF
4012006-03-26 Christopher Faylor <cgf@timesys.com>
402
403 * spawn.cc (spawn_guts): Close handles if we know that we will not be
404 seeing a sync event from the child.
405
ec54178c
CF
4062006-03-26 Christopher Faylor <cgf@timesys.com>
407
408 * sigproc.cc (wait_sig): Move myself manipulation...
409 (wait_for_sigthread): ...to here.
410
3ff1a063
CV
4112006-03-24 Corinna Vinschen <corinna@vinschen.de>
412
413 * fhandler_floppy.cc: Include ntdef.h and ntdll.h.
414 (fhandler_dev_floppy::get_drive_info): Rearrange so that now
415 NtQueryVolumeInformationFile is called on drives which don't support
416 IOCTL_DISK_GET_DRIVE_GEOMETRY.
417 * ntdll.h (struct _FILE_FS_SIZE_INFORMATION): Add.
418 (enum _FSINFOCLASS): Add missing values.
419
f12c262a
CF
4202006-03-23 Christopher Faylor <cgf@timesys.com>
421
422 * fhandler_console.cc (fhandler_console::fixup_after_fork_exec): Make
423 error message more explicit.
424 * pinfo.cc (_pinfo::commune_request): Don't lock process unless we're
425 looking for fifos.
426
3eb92a58
CF
4272006-03-23 Christopher Faylor <cgf@timesys.com>
428
429 * dcrt0.cc (child_info_spawn::handle_spawn): Don't initialize the
430 console handler here.
431 * dtable.cc (dtable::stdio_init): Initialize console handler here.
432
dccd2abe
CF
4332006-03-23 Christopher Faylor <cgf@timesys.com>
434
435 * sigproc.cc (sigalloc): Don't set SA_RESTART here.
436 * signal.cc (_SA_NORESTART): New flag.
437 (sigaction_worker): New function, derived from sigaction. Don't set
438 internal flags unless called internally.
439 (sigaction): Use sigaction_worker.
440 (signal): Honor new _SA_NORESTART flag.
441 (siginterrupt): Set _SA_NORESTART flag appropriately. Use
442 sigaction_worker to set flags.
443 * include/cygwin/signal.h: Define _SA_INTERNAL_MASK here.
444
f352ebca
CV
4452006-03-22 Corinna Vinschen <corinna@vinschen.de>
446
447 * thread.cc (pthread_mutex::is_good_initializer_or_bad_object): Delete.
448 (pthread_cond::is_good_initializer_or_bad_object): Delete.
449 (pthread_rwlock::is_good_initializer_or_bad_object): Delete.
450 (pthread_cond::init): Remove disabled code. Guard assignment to
451 object to initialize against access violation.
452 (pthread_rwlock::init): Ditto.
453 (pthread_mutex::init): Ditto.
454
81010d21
CF
4552006-03-22 Eric Blake <ebb9@byu.net>
456
457 * fhandler.cc (fcntl): Print flags in hex.
458
4592006-03-22 Christopher Faylor <cgf@timesys.com>
460
461 * dcrt0.cc (dll_crt0_0): Semi-revert 2006-03-14 change which moved
462 pinfo_init and uinfo_init here.
463 (dll_crt0_1): Ditto.
464 (__dll_crt0): Ditto. Don't call update_envptrs here.
465 (dll_crt0_1): Ditto. Move wait_for_sigthread call here from dll_crt0_0.
466 * environ.cc (environ_init): Call it here instead.
467 * sigproc.cc (my_readsig): New static variable.
468 (wait_for_sigthread): Set up read pipe here since we are assured that
469 we have the proper privileges when this is called.
470 (talktome): Eliminate second argument since it is available as a global
471 now.
472 (wait_sig): Reflect use of my_readsig.
473
69769b7c
CV
4742006-03-22 Corinna Vinschen <corinna@vinschen.de>
475
476 * thread.cc (pthread_cond::init): Disable validity test of object
477 to initialize since test of uninitialized content is unreliable.
478 (pthread_rwlock::init): Ditto.
479 (pthread_mutex::init): Ditto.
480
70fde415
CF
4812006-03-21 Christopher Faylor <cgf@timesys.com>
482
483 * signal.cc (signal): Don't set SA_RESTART here.
484 (siginterrupt): White space.
485 * sigproc.cc (sigalloc): Set SA_RESTART here, on initialization.
486
76ef40d6
CF
4872006-03-21 Christopher Faylor <cgf@timesys.com>
488
489 * child_info.h (child_status): Fix typo which made it impossible to set
490 iscygwin.
491 (child_info::isstraced): Booleanize.
492 (child_info::iscygwin): Ditto.
493 * sigproc.cc (child_info::child_info): Minor cleanup of flag setting.
494 * spawn.cc (spawn_guts): Only close_all_files when we know the process
495 has started successfully.
496
497 * exceptions.cc (init_console_handler): Fix indentation.
498
d4d63ebf
CF
4992006-03-20 Christopher Faylor <cgf@timesys.com>
500
501 * dcrt0.cc (dll_crt0_0): Call SetErrorMode earlier.
502 * pinfo.cc (_pinfo::dup_proc_pipe): Reset wr_proc_pipe on failure.
503 Return previous pipe handle.
504 * pinfo.h (_pinfo::dup_proc_pipe): Reflect change to return value.
505 * spawn.cc (spawn_guts): Restore previous proc pipe on retry or if
506 process exits before synchronization.
507
c1494e03
CF
5082006-03-20 Christopher Faylor <cgf@timesys.com>
509
510 * child_info.h (child_status): New enum.
511 (child_info::flag): Rename from 'straced'.
512 (child_info::isstraced): New function.
513 (child_info::iscygwin): Ditto.
514 (child_info_fork::handle_fork): Reparmize.
515 (child_info_fork::handle_failure): Ditto.
516 (child_info_spawn::handle_spawn): New function.
517 * dcrt0.cc (get_cygwin_startup_info): Use isstraced method.
518 (child_info_spawn::handle_spawn): Define new function from code
519 previously in dll_crt0_0.
520 (dll_crt0_0): Move spawn stuff into handle_spawn. Only call
521 init_console_handler for fork case.
522 * sigproc.cc (child_info::child_info): Set flag appropriately.
523 (child_info::proc_retry): Treat exit code as "funny" if it's a cygwin
524 process.
525 * spawn.cc (spawn_guts): Remove commented out flag setting.
526
c5c3d69d
CF
5272006-03-19 Christopher Faylor <cgf@timesys.com>
528
529 * pinfo.cc (commune_process): Fix randomly invalid pointer which caused
530 fifos to work incorrectly.
531
7d85b417
CF
5322006-03-19 Christopher Faylor <cgf@timesys.com>
533
81010d21
CF
534 * dcrt0.cc (dll_crt0_0): Oops. We need to bother with setting
535 init_console_handler in the fork/exec case.
7d85b417 536
cba9ecff
CF
5372006-03-19 Christopher Faylor <cgf@timesys.com>
538
539 * dcrt0.cc (dll_crt0_0): Don't bother with setting init_console_handler
540 here since it will be set later when we discover if we have a ctty or
541 not.
542 * exceptions.cc (init_console_handler): Properly remove NULL handler.
543
3b69aaa9
CF
5442006-03-18 Christopher Faylor <cgf@timesys.com>
545
546 * pinfo.h (EXITCODE_OK): Define new constant.
547 * sigproc.cc (child_info::sync): Return EXITCODE_OK if entering with
548 exit_code == 0.
549 (sig_send): Don't complain if sending signals while blocked if the
550 sender isn't in the main thread.
551
a9396868
CF
5522006-03-18 Christopher Faylor <cgf@timesys.com>
553
554 * child_info.h (CURR_CHILD_INFO_MAGIC): Regenerate.
555 (child_info::retry): Move here from fork subclass.
556 (child_info::exit_code): New field.
557 (child_info::retry_count): Max retry count for process start.
558 (child_info::proc_retry): Declare new function.
559 (child_info_fork::retry): Move to parent.
560 (child_info_fork::fork_retry): Ditto.
561 * dcrt0.cc (child_info::fork_retry): Rename and move.
562 (child_info_fork::handle_failure): Move.
563 (dll_crt0_0): Initialize console handler based on whether we have a
564 controlling tty or not. Avoid nonsensical check for fork where it can
565 never occur.
566 * environ.cc (set_proc_retry): Rename from set_fork_retry. Set
567 retry_count in child_info.
568 (parse_thing): Reflect above change.
569 * exceptions.cc (dummy_ctrl_c_handler): Remove unused variable name.
570 (ctrl_c_handler): Always return TRUE for the annoying
571 CTRL_LOGOFF_EVENT.
572 * fhandler_termios.cc (fhandler_termios::tcsetpgrp): Remove call to
573 init_console_handler.
574 * fhandler_tty.cc (fhandler_tty_slave::open): Just call
575 mange_console_count here and let it decide what to do with initializing
576 console control handling.
577 * fork.cc (fork_retry): Remove definition.
578 (frok::parent): Define static errbuf and use in error messages (not
579 thread safe yet). Close pi.hThread as soon as possible. Protect
580 pi.hProcess as soon as possible. Don't set retry_count. That happens
581 automatically in the constructor now. Accommodate name change from
582 fork_retry to proc_retry.
583 * init.cc (dll_entry): Turn off ctrl-c handling early until we know how
584 it is supposed to be handled.
585 * pinfo.cc (_pinfo::dup_proc_pipe): Remember original proc pipe value
586 for failure error message. Tweak debug message slightly.
587 * sigproc.cc (child_info::retry_count): Define.
588 (child_info::child_info): Initialize retry count.
589 (child_info::sync): Set exit code if process dies before
590 synchronization.
591 (child_info::proc_retry): Rename from child_info_fork::fork_retry. Use
592 previously derived exit code. Be more defensive about what is
593 classified as an error exit.
594 (child_info_fork::handle_failure): Move here from dcrt0.cc.
595 * spawn.cc (spawn_guts): Maintain error mode when starting new process
596 to avoid annoying pop ups. Move deimpersonate call within new loop.
597 Move envblock freeing to end. Loop if process dies prematurely with
598 bad exit code.
38f9b109 599 * syscalls.cc (setpgid): Remove hopefully unneeded call to
a9396868
CF
600 init_console_handler.
601
974f27a5
CF
6022006-03-15 Christopher Faylor <cgf@timesys.com>
603
604 * cygheap.cc (init_cygheap::manage_console_count): Turn console control
605 handler on/off depending on whether we have allocated a console or not.
606 * dcrt0.cc (child_info_fork::fork_retry): Add more potential retry
607 statuses.
608 (dll_crt0_0): Turn on/off console control depending on whether we have
609 a controlling tty or not.
610 * exceptions.cc (init_console_handler): Change BOOL to bool.
611 * fhandler_console.cc (fhandler_console::need_invisible): Cosmetic
612 change.
613 * winsup.h (init_console_handler): Reflect argument type change.
614
615 * wincap.h (supports_setconsolectrlhandler_null): Remove duplicate
616 capability throughout.
617 * wincap.cc: Ditto.
618
f02400f7
CF
6192006-03-14 Christopher Faylor <cgf@timesys.com>
620
621 * child_info.h (child_info_fork::fork_retry): Declare new function.
622 * dcrt0.cc (child_info_fork::fork_retry): Define new function.
623 * fork.cc (frok::parent): Move retry decision into
624 child_info_fork::fork_retry and honor what it tells us to do.
625 * sigproc.cc (sig_send): Unhold signals on __SIGEXIT.
626
67f85ee7
CF
6272006-03-14 Christopher Faylor <cgf@timesys.com>
628
629 * fork.cc (frok::parent): Improve error message.
630
e5aa298d
CF
6312006-03-14 Christopher Faylor <cgf@timesys.com>
632
633 * dcrt0.cc (main_environ): Initialize to &__cygwin_environment.
634 (dll_crt0_1): Move resourcelocks, thread interface, pinfo_init, and
635 uinfo_init...
636 (dll_crt0_0): ...to here.
637 (_dll_crt0): Call update_envptrs here after setting main_environ.
638 * environ.cc (environ_init): Eliminate initted variable. Don't call
639 update_envptrs here.
640 * sigproc.cc (wait_sig): Use my_sendsig when calling CreatePipe to
641 avoid a dereference.
642
84d38174
CF
6432006-03-13 Christopher Faylor <cgf@timesys.com>
644
645 * child_info.h (child_info_fork::handle_failure): Declare new function.
646 (child_info_fork::retry): New field.
647 * dcrt0.cc (__api_fatal_exit_val): Define.
648 (child_info_fork::handle_failure): Define new function.
649 (__api_fatal): Exit using __api_fatal_exit_val value.
650 * environ.cc (set_fork_retry): Set fork_retry based on CYGWIN
651 environment variable.
652 (parse_thing): Add "fork_retry" setting.
653 * fork.cc (fork_retry): Define.
654 (frok::parent): Reorganize to allow retry of failed child creation if
655 child signalled that it was ok to do so.
656 * heap.cc (heap_init): Signal parent via handle_failure when
657 VirtualAlloc fails.
658 * pinfo.h (EXITCODE_RETRY): Declare.
659 * sigproc.cc (child_info::sync): Properly exit with failure condition
660 if called for fork and didn't see subproc_ready.
661 * spawn.cc (spawn_guts): Use windows pid as first argument.
662 * winsup.h: Remove obsolete NEW_MACRO_VARARGS define.
663 (__api_fatal_exit_val): Declare.
664 (set_api_fatal_return): Define.
665 (in_dllentry): Declare.
666 * exceptions.cc (inside_kernel): Remove unneeded in_dllentry
667 declaration.
668
bbca1e4c
CF
6692006-03-13 Christopher Faylor <cgf@timesys.com>
670
671 * dcrt0.cc (dll_crt0_0): Reorganize so that sigproc_init is called a
672 little later. Add a comment.
673 * fork.cc (resume_child): Make void.
674 (frok::parent): Only zero pi when necessary. Explicitly zero si. Set
675 this_errno when child_copy fails. Accommodate change to resume_child.
676 * sigproc.cc (sigalloc): Move global_sigs initialization here.
677 (sigproc_init): Move global_sigs.
678 (sig_send): Just check for flush signals once.
679
680 * wincap.h: Define supports_setconsolectrlhandler_null throughout.
681 * wincap.cc: Ditto.
682
75c78937
CV
6832006-03-13 Corinna Vinschen <corinna@vinschen.de>
684
685 * autoload.cc (LoadDLLfuncNt): New define to wrap NT native functions.
686 Use for NT native functions throughout.
d6382e65 687 * dtable.cc (handle_to_fn): Treat return value of NtQueryObject as
75c78937
CV
688 NTSTATUS value.
689
9badd94a
CF
6902006-03-12 Christopher Faylor <cgf@timesys.com>
691
692 * cygtls.cc (_cygtls::remove): Reset initialized flag right away if we
693 were previously initialized.
57001a7f
CF
694 * cygtls.h (_cygtls::initialized): Move nearer to the end to catch
695 situation when Windows 98 mysteriously changes parts of _my_tls when
9badd94a
CF
696 thread is detaching.
697 * gendef (__sigfe_maybe): Simplify slightly.
698 * tlsoffsets.h: Regenerate.
699
51f90b2f
CF
7002006-03-12 Christopher Faylor <cgf@timesys.com>
701
702 * cygtls.h (CYGTLS_INITIALIZED): Change to a little more unlikely value.
703 (CYGTLSMAGIC): Delete.
704 * dcrt0.cc (dll_crt0_0): Call sigproc_init during init startup.
705 (_dll_crt0): Don't worry about sync_startup. Just wait for sigthread here.
706 * dll_init.cc (cygwin_detach_dll): Only pick up tls version of retaddr
707 if we have a valid tls.
708 * fork.cc (frok::child): Remove sigproc_init initialization since it
709 happens much earlier now.
710 * gendef: Recognize SIGFE_MAYBE.
711 (fefunc): Generate calls to _sigfe_maybe, if appropriate.
712 (_sigfe_maybe): New function.
713 * init.cc (search_for): Always initialize search_for, even on fork.
714 (calibration_thread): Delete.
715 (calibration_id): Delete.
716 (prime_threads): Delete.
717 (munge_threadfunc): Remove calibration_thread special case. Avoid
718 calling thread function if we haven't yet hit the "search_for" thread.
719 (dll_entry): Remove prime_threads call. Only call munge_threadfunc
720 when hwait_sig is active. Ditto. for _my_tls.remove ();
721 * sigproc.cc (hwait_sig): Make global.
722 (sigproc_init): Don't bother with sync_startup.
723 (sig_send): Treat flush as a no-op when signals are held.
724 (wait_sig): Cause signals to be held after fork.
725
75fbcb44
CV
7262006-03-09 Corinna Vinschen <corinna@vinschen.de>
727
728 * syscalls.cc (rename): Move existance check for oldpath further up
729 to the start of the function. Avoid another case of a name collision
730 if oldpath is a shortcut and a file or directory newpath already exists.
731
e9c8cb31
CV
7322006-03-09 Corinna Vinschen <corinna@vinschen.de>
733
734 * autoload.cc (NtClose): Define.
735 (NtOpenDirectoryObject): Define.
736 (NtQueryDirectoryObject): Define.
737 * fhandler_proc.cc: Include ctype.h and wchar.h.
738 (format_proc_partitions): Revamp loop over existing harddisks by
739 scanning the NT native \Device object directory and looking for
740 Harddisk entries.
741 * ntdll.h: Rearrange system call declarations alphabetically.
742 (DIRECTORY_QUERY): Define.
743 (struct _DIRECTORY_BASIC_INFORMATION): Define.
744 (NtOpenDirectoryObject): Declare.
745 (NtQueryDirectoryObject): Declare.
746
9aca6a48
CF
7472006-03-08 Christopher Faylor <cgf@timesys.com>
748
749 * cygtls.h (_cygtls::retaddr): New method.
750 * dll_init.cc (cygwin_detach_dll): Use new tls method to find return
751 address since this function is now signal guarded.
752 (update_envptrs): Remove unneeded braces.
753 * syscalls.cc (statvfs): Coerce full_path to avoid a gcc warning.
754
6ca53189
CV
7552006-03-08 Corinna Vinschen <corinna@vinschen.de>
756
757 * syscalls.cc (statvfs): Simplify path name expression.
758
6022cd2e
CV
7592006-03-08 Corinna Vinschen <corinna@vinschen.de>
760
761 * syscalls.cc: Include winioctl.h.
762 (statvfs): Request correct volume size using DeviceIoControl if
763 quotas are enforced on the file system.
764
ecdee6e9
CV
7652006-03-03 Corinna Vinschen <corinna@vinschen.de>
766
767 * dir.cc (opendir): Fix indentation.
768 * fhandler_disk_file.cc (fhandler_disk_file::opendir): Move storing
769 fhandler in file descriptor table to some point very late in function
770 to avoid double free'ing. Add comment to explain what happens.
771 Add label free_mounts and don't forget to delete __DIR_mounts structure
772 if NtOpenFile fails.
773
7b8b467d
CV
7742006-03-02 Corinna Vinschen <corinna@vinschen.de>
775
776 * syscalls.cc (chroot): Disallow chroot into special directories.
777 Return EPERM instead.
778
471573dc
CV
7792006-03-02 Corinna Vinschen <corinna@vinschen.de>
780
781 * fhandler_disk_file.cc (__DIR_mounts::check_missing_mount): Check
782 cygdrive string length for those who have cygdrive mapped to "/".
783
352059d4
CV
7842006-03-01 Corinna Vinschen <corinna@vinschen.de>
785
786 * sec_helper.cc (set_cygwin_privileges): Request SE_BACKUP_NAME
787 privileges.
788
24f0349c
CV
7892006-03-01 Corinna Vinschen <corinna@vinschen.de>
790
791 * fhandler_proc.cc (fhandler_proc::fstat): Always return fixed link
792 count of 1 for /proc directory instead of incorrect PROC_LINK_COUNT.
793
c115f31f
CV
7942006-03-01 Corinna Vinschen <corinna@vinschen.de>
795
796 * fhandler.h (enum dirent_states): Remove dirent_saw_cygdrive,
797 dirent_saw_dev and dirent_saw_proc.
798 (fhandler_cygdrive::open): Declare.
799 (fhandler_cygdrive::close): Declare.
800 * fhandler_disk_file.cc (class __DIR_mounts): Move to beginning of file.
801 (__DIR_mounts::check_mount): New parameter to indicate if inode number
802 is needed in calling function or not. Add /proc and /cygdrive handling.
803 (__DIR_mounts::check_missing_mount): Ditto.
804 (path_conv::ndisk_links): Use __DIR_mounts class to create correct
805 hardlink count for directories with mount points in them.
806 (fhandler_disk_file::readdir_helper): Remove /dev, /proc and /cygdrive
807 handling.
808 (fhandler_cygdrive::open): New method.
809 (fhandler_cygdrive::close): New method.
810 (fhandler_cygdrive::fstat): Always return fixed inode number 2 and
811 fixed link count of 1. Drop call to set_drives.
812 (fhandler_cygdrive::opendir): Drop call to get_namehash.
813 (fhandler_cygdrive::readdir): Handle "." entry to return fixed inode
814 number 2.
815
8d0f58ef
CF
8162006-03-01 Christopher Faylor <cgf@timesys.com>
817
818 * cygwin.din: Fix some erroneous SIGFE/NOSIGFE settings.
819
8202006-03-01 Christopher Faylor <cgf@timesys.com>
821
822 * cygthread.cc (cygthread::callfunc): Revert below change. Make ev a
823 manual reset event again. so that it will be reset by WaitFor*Object
824 as appropriate.
825 (cygthread::stub): Ditto.
826 (cygthread::terminate_thread): Reset ev if it was found to have been
827 set.
828
ee933758
CF
8292006-03-01 Christopher Faylor <cgf@timesys.com>
830
831 * analyze_sigfe: New script.
832 * dllfixdbg: Add copyright.
833 * gendef: Ditto.
834 * gendevices: Ditto.
835 * gentls_offsets: Ditto.
836
3b1f276f
CF
8372006-03-01 Christopher Faylor <cgf@timesys.com>
838
839 * cygthread.cc (cygthread::callfunc): Create ev as an auto-reset event
840 so that it will be reset by WaitFor*Object as appropriate.
841 (cygthread::stub): Ditto.
842 (cygthread::terminate_thread): Remove forced setting of thread
843 termination.
844
e817fd3c
CV
8452006-03-01 Corinna Vinschen <corinna@vinschen.de>
846
847 * include/sys/dirent.h (struct __DIR): Rename __d_unused to
848 __d_internal.
849 * fhandler_disk_file.cc (struct __DIR_cache): Remove useless "typedef".
850 (d_dirname): Remove useless "struct".
851 (d_cachepos): Ditto.
852 (d_cache): Ditto.
853 (class __DIR_mounts): New class, implementing mount point tracking
854 for readdir.
855 (d_mounts): New macro for easy access to __DIR_mounts structure.
856 (fhandler_disk_file::opendir): Allocate __DIR_mounts structure and
857 let __d_internal element of dir point to it.
858 (fhandler_disk_file::readdir_helper): Add mount points in the current
859 directory, which don't have a real directory backing them.
860 Don't generate an inode number for /dev. Add comment, why.
861 (fhandler_disk_file::readdir): Move filling fname to an earlier point.
862 Check if current entry is a mount point and evaluate correct inode
863 number for it.
864 (fhandler_disk_file::readdir_9x): Ditto.
865 (fhandler_disk_file::rewinddir): Set all mount points in this directory
866 to "not found" so that they are listed again after calling rewinddir().
867 (fhandler_disk_file::closedir): Deallocate __DIR_mounts structure.
868 * path.cc (mount_info::get_mounts_here): New method to evaluate a list
869 of mount points in a given parent directory.
870 * shared_info.h (class mount_info): Declare get_mounts_here.
871
b7d72239
CV
8722006-02-28 Corinna Vinschen <corinna@vinschen.de>
873
874 * fhandler_disk_file.cc (fhandler_disk_file::opendir): Use iscygdrive
875 instead of isspecial.
876 * path.h (path_conv::iscygdrive): New method.
877
d405630e
CF
8782006-02-28 Christopher Faylor <cgf@timesys.com>
879
880 * exceptions.cc (_cygtls::interrupt_now): Remove "inside cygwin" check
881 since some cygwin functions are meant to be interrupted.
882
6fb7c8ae
CV
8832006-02-28 Corinna Vinschen <corinna@vinschen.de>
884
885 * cygwin.din: Export __isinff, __isinfd, __isnanf, __isnand.
886 * include/cygwin/version.h: Bump API minor number to 155.
887
5d938401
CV
8882006-02-28 Corinna Vinschen <corinna@vinschen.de>
889
890 * dir.cc (readdir_worker): Use slash as path separator when evaluating
891 namehash for paths below /proc.
892 * fhandler_netdrive.cc (fhandler_netdrive::readdir): Use expensive
893 inode number evaluation on share names.
894
4f1558d1
CF
8952006-02-27 Christopher Faylor <cgf@timesys.com>
896
897 * fhandler_disk_file.cc (fhandler_disk_file::opendir): Only set
898 d_cachepos under NT or suffer memory corruption.
899 (fhandler_disk_file::readdir_helper): Avoid else with a return. Just
900 calculate extension location once when doing symlink checks.
901 (fhandler_disk_file::readdir): Make debug output more useful.
902 (fhandler_disk_file::readdir_9x): Ditto. Eliminate redundant variable.
903
6a7a2f4b
CF
9042006-02-27 Christopher Faylor <cgf@timesys.com>
905
906 * include/sys/termios.h (cfsetispeed): Just define as a function rather
907 than resorting to a macro.
908 (cfsetospeed): Ditto.
909
f6f3b1ee
CF
9102006-02-27 Christopher Faylor <cgf@timesys.com>
911
912 * sigproc.cc: Fix a comment.
913
e41ff609
CF
9142006-02-27 Christopher Faylor <cgf@timesys.com>
915
916 * cygthread.cc (cygthread::release): Add a comment.
917
47a5b664
CV
9182006-02-27 Corinna Vinschen <corinna@vinschen.de>
919
920 * fhandler_netdrive.cc (fhandler_netdrive::fstat): Create unambiguous
921 inode number.
922 (fhandler_netdrive::readdir): Ditto.
923
ad37df48
CF
9242006-02-24 Christopher Faylor <cgf@timesys.com>
925
926 * sigproc.cc (sigheld): Define new variable.
927 (sig_dispatch_pending): Don't check sigq since that's racy.
928 (sig_send): Set sigheld flag if __SIGHOLD is specified, reset it if
929 __SIGNOHOLD is specified. Ignore flush signals if we're holding
930 signals.
931
1b845df5
CF
9322006-02-23 Christopher Faylor <cgf@timesys.com>
933
934 * cygwin.din (_exit): Use signal front end.
935 (exit): Ditto.
936
7fbfec2b
CF
9372006-02-23 Christopher Faylor <cgf@timesys.com>
938
939 * winsup.h (cygwin_hmodule): Declare.
940 * exceptions.cc (inside_kernel): Reverse return values to reflect
941 function name. Return true if we're in cygwin1.dll or if we're
942 executing in dll_entry.
943 (_cygtls::interrupt_now): Reflect reversal of inside_kernel return
944 value.
945 * hookapi.cc (cygwin_hmodule): Remove declaration.
946 * init.cc (dll_entry): Use in_dllentry global to record that we are
947 executing in dllentry.
948
2eecb047
CV
9492006-02-22 Corinna Vinschen <corinna@vinschen.de>
950
951 * exceptions.cc (_cygtls::interrupt_now): Reorder conditional
952 to call inside_kernel only if this isn't locked.
953
b65479ca
CV
9542006-02-22 Corinna Vinschen <corinna@vinschen.de>
955
956 * fhandler.cc (fhandler_base::open): Add FILE_READ_ATTRIBUTES to
957 access flags in case of query_read_control case, add FILE_READ_DATA
958 in case of query_stat_control.
959
0a5f931a
CF
9602006-02-20 Christopher Faylor <cgf@timesys.com>
961
962 * spawn.cc (av::fixup): Check for .bat and friends specifically now
963 since these extensions are no longer automatically detected.
964
a339c989
CF
9652006-02-19 Christopher Faylor <cgf@timesys.com>
966
967 * exceptions.cc (stackdump): Avoid dumping more than once.
968
6d618665
CF
9692006-02-19 Christopher Faylor <cgf@timesys.com>
970
971 * fhandler_disk_file.cc (fhandler_disk_file::opendir): Use NtOpenFile
972 to open the directory.
973 (fhandler_disk_file::readdir): Use NT_SUCCESS to determine if status
974 represents success.
975
d4e9248d
CV
9762006-02-19 Corinna Vinschen <corinna@vinschen.de>
977
978 * fhandler_disk_file.cc (fhandler_disk_file::opendir): Drop generating
979 path_conv for root.
980
408b92db
CV
9812006-02-18 Corinna Vinschen <corinna@vinschen.de>
982
983 * fhandler_disk_file.cc (FS_IS_SAMBA): Move out of
984 path_conv::hasgood_inode.
985 (path_conv::is_samba): New method.
986 (fhandler_base::fstat_by_handle): Don't even try to use
987 FileIdBothDirectoryInformation on Samba.
988 * path.h (class path_conv): Declare is_samba method.
989
75370222
CF
9902006-02-17 Christopher Faylor <cgf@timesys.com>
991
992 * path.cc (conv_path_list): Eat empty paths when converting to POSIX.
993 (cygwin_conv_to_win32_path): Deal with Cygwin's necessity of adding a
994 '/' to the end of a path ending in '.'.
995
c6e48b1c
CV
9962006-02-16 Corinna Vinschen <corinna@vinschen.de>
997
998 * cygwin.din: Export sigignore and sigset.
999 * exceptions.cc (sigset): New function.
1000 (sigignore): New function.
1001 * include/cygwin/signal.h (SIG_HOLD): Define.
1002 (sigignore): Declare.
1003 (sigset): Declare.
1004 * include/cygwin/version.h: Bump API minor number to 154.
1005
49bc9a69
CF
10062006-02-13 Igor Peshansky <pechtcha@cs.nyu.edu>
1007
1008 * include/mntent.h: Add missing #include.
1009
462c98e9
CF
10102006-02-13 Igor Peshansky <pechtcha@cs.nyu.edu>
1011
1012 * gentls_offsets: Fix typo in error message.
1013
472130e8
CF
10142006-02-10 Christopher Faylor <cgf@timesys.com>
1015
1016 * fhandler_process.cc (format_process_stat): Use cygwin-derived start
1017 time even on NT since it is the logical start time of the "process".
1018 * pinfo.cc (set_myself): Don't set start time when it should have
1019 already been set previously.
1020
7f8c7bff
CF
10212006-02-10 Brian Ford <Brian.Ford@FlightSafety.com>
1022
1023 * times.cc (clock_getres): Use correct conversion from milliseconds to
1024 seconds/nanoseconds.
1025 (clock_setres): Use correct conversion to nanoseconds.
1026
9a08fd5a
CF
10272006-02-10 Christopher Faylor <cgf@timesys.com>
1028
1029 * external.cc (sync_winenv): Rename from "setup_winenv". Use same
1030 mechanism as spawn to determine environment variables which should be
1031 converted back to windows form.
1032 (cygwin_internal): Reflect setup_winenv -> sync_winenv name change.
1033 * include/sys/cygwin.h: Ditto.
1034
30f1c8a6
CV
10352006-02-09 Corinna Vinschen <corinna@vinschen.de>
1036
1037 * fhandler_disk_file.cc (fhandler_disk_file::opendir): Only set
1038 the dirent_get_d_ino flag on filesystems having useful File IDs.
1039 Add comment explaining why.
1040
03a49a00
CV
10412006-02-07 Corinna Vinschen <corinna@vinschen.de>
1042
9a08fd5a 1043 * dtable.cc (handle_to_fn): Accommodate new argument order in call to
03a49a00
CV
1044 sys_wcstombs.
1045 * fhandler_disk_file.cc (fhandler_disk_file::readdir): Call sys_wcstombs
9a08fd5a 1046 instead of just wcstombs to accommodate OEM codepages.
03a49a00
CV
1047 * miscfuncs.cc (sys_wcstombs): Split len argument in source and target
1048 length. Always 0-terminate result in target string.
1049 * security.cc (lsa2wchar): Remove unused function.
1050 (lsa2str): Ditto.
1051 (get_lsa_srv_inf): Ditto.
9a08fd5a 1052 (get_logon_server): Accommodate new argument order in call to
03a49a00
CV
1053 sys_wcstombs.
1054 (get_user_groups): Ditto.
1055 (get_user_local_groups): Ditto.
1056 (get_priv_list): Call sys_wcstombs directly instead of lsa2str.
9a08fd5a 1057 * uinfo.cc (cygheap_user::ontherange): Accommodate new argument order
03a49a00
CV
1058 in call to sys_wcstombs.
1059 * winsup.h (sys_wcstombs): Change prototype to match new argument order.
1060
3cb155a9
CV
10612006-02-07 Corinna Vinschen <corinna@vinschen.de>
1062
1063 * init.cc (respawn_wow64_process): Exit with the exit code returned
1064 by the respawned process.
1065
985d0e68
CF
10662006-02-06 Christopher Faylor <cgf@timesys.com>
1067
1068 Always zero all elements of siginfo_t throughout.
1069 * cygtls.h (_cygtls::thread_context): Declare new field.
1070 (_cygtls::thread_id): Ditto.
1071 (_cygtls::signal_exit): Move into this class.
1072 (_cygtls::copy_context): Declare new function.
1073 (_cygtls::signal_debugger): Ditto.
1074 * cygtls.cc (_cygtls::init_thread): Fill out thread id field.
1075 * exceptions.cc (exception): Change message when exception info is
1076 unknown. Copy context to thread local storage.
1077 (_cygtls::handle_exceptions): Avoid double test for fault_guarded.
1078 Reflect move of signal_exit to _cygtls class.
1079 (sigpacket::process): Copy context to thread local storage.
1080 (_cygtls::signal_exit): Move to _cygtls class. Call signal_debugger to
1081 notify debugger of exiting signal (WIP). Call stackdump here (WIP).
1082 (_cygtls::copy_context): Define new function.
1083 (_cygtls::signal_debugger): Ditto.
1084 * tlsoffsets.h: Regenerate.
1085 * include/cygwin.h (_fpstate): New internal structure.
1086 (ucontext): Declare new structure (WIP).
1087 (__COPY_CONTEXT_SIZE): New define.
1088
1089 * exceptions.cc (_cygtls::interrupt_setup): Clear "threadkill" field
1090 when there is no sigwaiting thread.
1091 (setup_handler): Move event handling into interrupt_setup.
1092
125ff9be
CV
10932006-02-06 Corinna Vinschen <corinna@vinschen.de>
1094
1095 * fhandler_socket.cc (fhandler_socket::connect): Fix formatting.
1096 (fhandler_socket::wait): Handle SA_RESTART when signal arrives.
1097
29b3c9cc
CV
10982006-02-06 Corinna Vinschen <corinna@vinschen.de>
1099
1100 * include/cygwin/socket.h (CMSG_FIRSTHDR): Avoid compiler warning.
1101
6da41754
CV
11022006-02-05 Corinna Vinschen <corinna@vinschen.de>
1103
1104 * include/features.h: Add comment to explain what's going to happen
1105 here at one point.
1106 * include/sys/stdio.h: Guard getline and getdelim prototypes with
1107 _GNU_SOURCE to avoid collision with old-style declarations.
1108
fbae2bf8
CV
11092006-02-05 Corinna Vinschen <corinna@vinschen.de>
1110
1111 * environ.cc (struct parse_thing): Add transparent_exe option.
9a08fd5a 1112 * fhandler_disk_file.cc (fhandler_disk_file::link): Accommodate
fbae2bf8
CV
1113 transparent_exe option. Add .exe suffix for links to executable files,
1114 if transparent_exe is set.
1115 * fhandler_process.cc (fhandler_process::fill_filebuf): Remove .exe
1116 suffix if transparent_exe option is set.
9a08fd5a 1117 * path.cc (symlink_worker): Accommodate transparent_exe option.
fbae2bf8
CV
1118 (realpath): Don't tack on .exe suffix if transparent_exe is set.
1119 * syscalls.cc (transparent_exe): New global variable.
9a08fd5a 1120 (unlink): Accommodate transparent_exe option.
fbae2bf8
CV
1121 (open): Ditto.
1122 (link): Ditto.
1123 (rename): Ditto. Maybe add .exe suffix when renaming executable files.
9a08fd5a 1124 (pathconf): Accommodate transparent_exe option.
fbae2bf8
CV
1125 * winsup.h: Declare transparent_exe.
1126
0913522d
CV
11272006-02-05 Christopher Faylor <cgf@timesys.com>
1128 Corinna Vinschen <corinna@vinschen.de>
1129
1130 * fhandler_disk_file.cc (fhandler_disk_file::readdir_9x): Remove
1131 useless code.
1132
da3374d6
CV
11332006-02-05 Corinna Vinschen <corinna@vinschen.de>
1134
1135 * fhandler_disk_file.cc (fhandler_disk_file::rewinddir): Remove label
1136 "out". Move test for NULL __handle ...
1137 (fhandler_disk_file::rewinddir_9x): ... here.
1138
a80fb276
CV
11392006-02-05 Corinna Vinschen <corinna@vinschen.de>
1140
1141 * dir.cc (rewinddir): Keep dirent_get_d_ino and dirent_set_d_ino flags.
1142
c6e665bb
CF
11432006-02-05 Christopher Faylor <cgf@timesys.com>
1144
1145 * fhandler_disk_file.cc (fhandler_disk_file::readdir): Don't close dir
1146 handle when we hit EOF since rewwindir may reactivate it.
1147 (fhandler_disk_file::readdir_9x): Eliminate superfluous temporary
1148 variable.
1149 (fhandler_disk_file::closedir): Return EBADF when trying to close
1150 unopened DIR. Reorganize slightly. Return actual derived error value
1151 rather than always returning 0.
1152
25bafd7b
CF
11532006-02-04 Christopher Faylor <cgf@timesys.com>
1154
1155 * dir.cc (rmdir): Reorganize check for trailing dot to return correct
1156 error when directory does not exist.
1157
324ce34b
CF
11582006-02-03 Christopher Faylor <cgf@timesys.com>
1159
1160 * dir.cc (mkdir): Reorganize check for trailing dot to return correct
1161 error when directory exists.
1162 * fhandler_disk_file.cc (fhandler_disk_file::mkdir): Remove special
1163 test for path ending in '.'.
1164
19122010
CV
11652006-02-03 Corinna Vinschen <corinna@vinschen.de>
1166
81010d21 1167 * path.cc (suffix_scan::lnk_match): Return true beginning with
19122010
CV
1168 SCAN_APPENDLNK.
1169 (suffix_scan::next): Rearrange code to make .lnk append order slightly
1170 more deterministic.
1171 * spawn.cc (exe_suffixes): Try no suffix before .exe suffix to align
1172 evaluation with stat_suffixes.
1173 (dll_suffixes): Ditto.
1174
d6b2195f
CF
11752006-02-02 Christopher Faylor <cgf@timesys.com>
1176
1177 * cygwin/version.h: Mention CW_SETUP_WINENV in comment for API minor
1178 153.
1179
c0b0336f
CV
11802006-02-02 Corinna Vinschen <corinna@vinschen.de>
1181
1182 * cygwin.din (updwtmpx): Export.
1183 * syscalls.cc (updwtmpx): New function.
1184 * include/utmpx.h (updwtmpx): Declare.
1185 * include/cygwin/version.h: Bump API minor number to 153.
1186
6577c186
CF
11872006-02-02 Christopher Faylor <cgf@timesys.com>
1188
1189 * external.cc (setup_winenv): New function.
1190 (cygwin_internal): Implement CW_SETUP_WINENV.
1191 * sys/cygwin.h (cygwin_getinfo_types): Define CW_SETUP_WINENV.
1192
bb6f800d
CV
11932006-02-02 Corinna Vinschen <corinna@vinschen.de>
1194
1195 * security.cc (is_group_member): Fix comment.
1196
49e803c0
CV
11972006-02-02 Corinna Vinschen <corinna@vinschen.de>
1198
1199 * security.cc (is_group_member): Use local group info type 1. Test
1200 group for being a global group or a well-known SID before adding it
1201 to the group list. Add comment.
1202
12032006-02-01 Corinna Vinschen <corinna@vinschen.de>
1204
1205 * autoload.cc (GetTcpTable): Define.
1206 * fhandler_socket.cc (address_in_use): New function to check if
1207 sockaddr_in address is already in use.
1208 (fhandler_socket::bind): Check if address is alreay in use in case of
1209 SO_REUSEADDR, to circumvent WinSock non-standard behaviour.
1210
0ca697dd
CV
12112006-02-01 Corinna Vinschen <corinna@vinschen.de>
1212
1213 * spawn.cc (dll_suffixes): Add .exe and "no suffix" to the list.
1214
4b84e3dc
CV
12152006-01-31 Corinna Vinschen <corinna@vinschen.de>
1216
1217 * dlfcn.cc (check_path_access): Call find_exec with FE_DLL option.
1218 * path.h (enum fe_types): Add FE_DLL value.
1219 * spawn.cc (std_suffixes): Remove.
1220 (exe_suffixes): New suffix_info for executing files.
1221 (dll_suffixes): New suffix_info for searching shared libraries.
1222 (perhaps_suffix): Add opt argument. Use dll_suffixes if FE_DLL
1223 option is given, exe_suffixes otherwise.
1224 (find_exec): Propagate opt argument to perhaps_suffix. Drop suffix
1225 check when testing execute permission.
1226 (spawn_guts): Call perhaps_suffix with FE_NADA opt argument.
1227
fd34affe
CF
12282006-01-31 Christopher Faylor <cgf@timesys.com>
1229
1230 * spawn.cc (av::fixup): Remove unused argument.
1231 (spawn_guts): Remove capitalization in debugging.
1232
0ad7b0eb
CV
12332006-01-31 Corinna Vinschen <corinna@vinschen.de>
1234
1235 * spawn.cc (find_exec): Only return files with execute permission set
1236 if ntsec is on. Don't check execute permission of Windows batch files.
1237 (av::fixup): Handle empty files gracefully. Drop execute permission
1238 test here.
1239 * path.cc (suffix_scan::next): Don't skip any suffix on first run.
1240
63a149a1
CV
12412006-01-31 Corinna Vinschen <corinna@vinschen.de>
1242
1243 * path.cc (cwdstuff::set): Don't set win32 error, only POSIX errno.
1244
735229ff
CV
12452006-01-31 Corinna Vinschen <corinna@vinschen.de>
1246
1247 * path.cc (cwdstuff::set): When SetCurrentDirectory returns
1248 ERROR_INVALID_FUNCTION, bend it over to ERROR_FILE_NOT_FOUND. Add
1249 comment to explain why.
1250
12512006-01-31 Corinna Vinschen <corinna@vinschen.de>
1252
1253 * dir.cc (readdir_worker): Add comment about writing old 32 bit d_ino.
1254 * include/cygwin/version.h: Bump API minor number to 152.
1255 (CYGWIN_VERSION_CHECK_FOR_NEEDS_D_INO): Remove.
1256
ca986c6b
CV
12572006-01-30 Corinna Vinschen <corinna@vinschen.de>
1258
1259 * fhandler_disk_file.cc (fhandler_disk_file::rewinddir): Simplify
1260 conditional.
1261
5c257152
CV
12622006-01-30 Corinna Vinschen <corinna@vinschen.de>
1263
1264 * fhandler_disk_file.cc (d_cachepos): Rename from d_pos to distinct
1265 clearly from __d_position. Change throughout.
1266 (fhandler_disk_file::rewinddir): Reset readdir cache on NT.
1267
edde4d4d
CV
12682006-01-29 Corinna Vinschen <corinna@vinschen.de>
1269
1270 * fhandler_disk_file.cc (readdir_get_ino): Don't follow symlinks.
1271
5369605f
CV
12722006-01-29 Corinna Vinschen <corinna@vinschen.de>
1273
1274 * fhandler.h (class fhandler_socket): Add saw_reuseaddr status flag.
1275 * fhandler_socket.cc (fhandler_socket::bind): Set socket to
1276 SO_EXCLUSIVEADDRUSE if application didn't explicitely set SO_REUSEADDR
1277 socket option, on systems supporting SO_EXCLUSIVEADDRUSE.
1278 * net.cc (cygwin_setsockopt): Set fhandler's saw_reuseaddr status flag
1279 if SO_REUSEADDR socket option has been successsfully set.
1280 * wincap.h (wincaps::has_exclusiveaddruse): New element.
1281 * wincap.cc: Implement above element throughout.
1282
b8670a47
CV
12832006-01-28 Corinna Vinschen <corinna@vinschen.de>
1284
1285 * fhandler_disk_file.cc (fhandler_disk_file::mkdir): In case or error,
1286 check for existance explicitely and set errno to EEXIST.
1287
7ab59dee
CV
12882006-01-28 Corinna Vinschen <corinna@vinschen.de>
1289
1290 * fhandler_disk_file.cc (DIR_NUM_ENTRIES): New define determining
1291 minimum number of dir entries which fit into the readdir cache.
1292 (DIR_BUF_SIZE): Define globally as size of readdir cache.
1293 (struct __DIR_cache): New structure used for readdir caching on NT.
1294 (d_dirname): Accessor for struct __DIR_cache, use throughout.
1295 (d_pos): Ditto.
1296 (d_cache): Ditto.
1297 (fhandler_disk_file::opendir): Allocate __d_dirname to contain readdir
1298 cache on NT.
1299 (fhandler_disk_file::readdir): Use buf as pointer into readdir cache.
1300 Implement readdir caching.
1301
fa3ffdd0
CV
13022006-01-28 Corinna Vinschen <corinna@vinschen.de>
1303
1304 * include/sys/dirent.h (struct dirent): Revert misguided attempt to
1305 rename __d_unused1 to __d_fd.
1306
13072006-01-27 Corinna Vinschen <corinna@vinschen.de>
9e5f45ed
CV
1308
1309 * autoload.cc (NtQueryDirectoryFile): Define.
1310 * dir.cc (__opendir_with_d_ino): Just call opendir.
1311 (opendir): Remove CYGWIN_VERSION_CHECK_FOR_NEEDS_D_INO handling.
1312 (readdir_worker): Only try generating d_ino if it's 0.
1313 Utilize namehash of directories fhandler. Call readdir_get_ino to
1314 generate d_ino for "..".
1315 (seekdir64): Keep dirent_set_d_ino flag.
1316 * fhandler.h (enum dirent_states): Add dirent_get_d_ino.
1317 (class fhandler_disk_file): Declare new private methods readdir_helper
1318 and readdir_9x.
1319 * fhandler_disk_file.cc (path_conv::hasgood_inode): New method to
1320 evaluate if a filesystem has reliable inode numbers.
9a08fd5a 1321 (fhandler_base::fstat_by_handle): Accommodate structure member name
9e5f45ed
CV
1322 change from IndexNumber to FileId.
1323 (fhandler_base::fstat_helper): Call hasgood_inode here.
1324 (fhandler_disk_file::opendir): Call fhaccess only for real files.
1325 Don't append '*' to __d_dirname here, move to readdir_9x. On NT,
1326 open directory handle here. Set dirent_get_d_ino and dirent_set_d_ino
1327 flags according to wincap and filesystem.
1328 (fhandler_disk_file::readdir_helper): New method to implement readdir
1329 postprocessing only once.
1330 (readdir_get_ino_by_handle): New static function.
1331 (readdir_get_ino): New function to centralize inode number evaluation
1332 in case inode number hasn't been returned by NtQueryDirectoryFile.
1333 (fhandler_disk_file::readdir): Move old functionality to readdir_9x.
1334 Call readdir_9x when on 9x/Me. Implement NT specific readdir here.
1335 (fhandler_disk_file::readdir_9x): Move 9x specific readdir here.
9a08fd5a 1336 (fhandler_disk_file::seekdir): Accommodate new NT readdir method.
9e5f45ed
CV
1337 (fhandler_disk_file::closedir): Ditto.
1338 (fhandler_cygdrive::fstat): Set d_ino to namehash. Add comment.
1339 (fhandler_cygdrive::opendir): Call get_namehash to prepare later
1340 correct evaluation of d_ino.
1341 (fhandler_cygdrive::readdir): Replace recursion with loop. Evaluate
1342 drive's d_ino by calling readdir_get_ino.
1343 * fhandler_proc.cc (fhandler_proc::readdir): Set dirent_saw_dot and
1344 dirent_saw_dot_dot to avoid seeing . and .. entries twice.
1345 * fhandler_process.cc (fhandler_process::readdir): Ditto.
1346 * fhandler_registry.cc (fhandler_registry::readdir): Ditto.
1347 * ntdll.h (STATUS_INVALID_PARAMETER): New define.
1348 (STATUS_INVALID_LEVEL): New define.
1349 (struct _FILE_INTERNAL_INFORMATION): Rename member IndexNumber to
1350 FileId (as in Nebbitt).
1351 * path.h (path_conv::hasgood_inode): Now implemented in
1352 fhandler_disk_file.cc.
1353 * wincap.h (wincaps::has_fileid_dirinfo): New element.
1354 * wincap.cc: Implement above element throughout.
1355 * winsup.h (readdir_get_ino): Add declaration.
1356 * include/sys/dirent.h (struct dirent): Slightly rename structure
9a08fd5a 1357 members to accommodate changes.
9e5f45ed
CV
1358 Remove __USE_EXPENSIVE_CYGWIN_D_INO handling and declaration of
1359 __opendir_with_d_ino.
1360
e7a9c71d
CF
13612006-01-27 Christopher Faylor <cgf@timesys.com>
1362
1363 * spawn.cc (spawn_guts): Fix potential handle leak when failing exec.
1364
e1bfb483
CF
13652006-01-27 Christopher Faylor <cgf@timesys.com>
1366
1367 * exceptions.cc (inside_kernel): Fix to return true if we can't get the
1368 name of the DLL for the given memory block since we are not in kernel
1369 code.
1370
50a7955a
CV
13712006-01-26 Corinna Vinschen <corinna@vinschen.de>
1372
1373 * fhandler.cc (fhandler_base::open): Fix bug in argument order to
1374 InitializeObjectAttributes call.
1375
4207eed3
CF
13762006-01-25 Corinna Vinschen <corinna@vinschen.de>
1377
1378 * fhandler_disk_file.cc (fhandler_disk_file::readdir): Fix test for
1379 dirent_isroot to use the correct boolean operator.
1380
742e27be
CF
13812006-01-25 Christopher Faylor <cgf@timesys.com>
1382
1383 * ntdll.h: (temporarily?) Add more functions for querying directory.
1384
aac74926
CF
13852006-01-24 Christopher Faylor <cgf@timesys.com>
1386
1387 * dir.cc (readdir_worker): Turn off expensive inode calculation.
1388
4aac2d27
CV
13892006-01-24 Corinna Vinschen <corinna@vinschen.de>
1390
1391 * fhandler_process.cc (fhandler_process::fill_filebuf): Disable
1392 stripping the .exe suffix from the link target in PROCESS_EXE and
1393 PROCESS_EXENAME case.
1394 * path.cc (realpath): Tack on .exe suffix if necessary.
1395
26d27a27
CV
13962006-01-24 Corinna Vinschen <corinna@vinschen.de>
1397
1398 * fhandler_disk_file.cc (fhandler_base::fstat_helper): Try harder
1399 to determine remote file systems with reliable inode numbers. Add
1400 longish comment.
1401
543c43d8
CV
14022006-01-23 Corinna Vinschen <corinna@vinschen.de>
1403
1404 * fhandler_socket.cc (fhandler_socket::fixup_after_fork): Reset
1405 inheritance for duplicated socket.
1406
868fb2ff
CF
14072006-01-20 Christopher Faylor <cgf@timesys.com>
1408
1409 * include/cygwin/version.h: Bump API minor number to 151.
1410 * dir.cc (__opendir_with_d_ino): New function.
1411 (opendir): Set flag if we should be calculating inodes.
1412 (readdir_worker): Calculate d_ino by calling stat if the user has asked
1413 for it.
1414 (seekdir64): Maintain all persistent flag settings.
1415 * fhandler.h (dirent_states): Add dirent_set_d_ino.
1416 * fhandler_disk_file.cc (fhandler_disk_file::opendir): Reflect changes
1417 to dirent structure.
1418 * fhandler_virtual.cc (fhandler_virtual::opendir): Ditto.
1419 * include/sys/dirent.h (struct dirent): Coalesce two similar
d96d3ec9 1420 structures. Remove all shreds of the apparently highly confusing
868fb2ff
CF
1421 references to inodes. Add support for calculating a real inode if
1422 __USE_EXPENSIVE_CYGWIN_D_INO is defined.
1423
90e1ee2b
CF
14242006-01-20 Christopher Faylor <cgf@timesys.com>
1425
1426 * include/sys/dirent.h: Add comments for people who are REALLY confused
1427 about whether they should be using something called __invalid_d_ino or
1428 not.
1429
1ef48340
CV
14302006-01-20 Corinna Vinschen <corinna@vinschen.de>
1431
1432 * fhandler_socket.cc (fhandler_socket::prepare): Fix debug output.
1433 (fhandler_socket::release): Add debug output for WSAEventSelect failure.
1434 (fhandler_socket::ioctl): Always cancel WSAEventSelect before switching
1435 to blocking mode. Only set nonblocking flag if ioctlsocket call
1436 succeeded. Only print new socket state if ioctlsocket call succeeded.
1437
7b55b34c
CF
14382006-01-19 Christopher Faylor <cgf@timesys.com>
1439
1440 * fhandler_disk_file.cc (fhandler_disk_file::opendir): Check posix path
1441 for root rather than windows path.
1442
9025f2aa
CF
14432006-01-19 Christopher Faylor <cgf@timesys.com>
1444
1445 * dir.cc (readdir_worker): Fill in invalid fields with -1. Accommodate
1446 name change from __ino32 to __invalid_ino32.
1447 * include/sys/dirent.h (__invalid_ino32): Rename from __ino32. Don't
1448 define unused d_type macros.
1449
d0236d66
CF
14502006-01-18 Christopher Faylor <cgf@timesys.com>
1451
1452 * heap.cc (heap_init): Remove Sleep.
1453
339306c5
CV
14542006-01-18 Corinna Vinschen <corinna@vinschen.de>
1455
1456 * net.cc (rresvport): Remove extern declaration.
1457
06a5dd43
CV
14582006-01-18 Corinna Vinschen <corinna@vinschen.de>
1459
1460 * autoload.cc (rresvport): Remove.
1461 * net.cc (last_used_rrecvport): New global shared variable.
1462 (cygwin_rresvport): Implement rresvport without using rresvport from
1463 wsock32.
1464
3b5d71b3
CV
14652006-01-18 Corinna Vinschen <corinna@vinschen.de>
1466
1467 * include/cygwin/socket.h (struct sockaddr_storage): Fix typo in
1468 ss_family member name.
1469
05ee4328
CF
14702006-01-16 Christopher Faylor <cgf@timesys.com>
1471
1472 * include/cygwin/version.h: Bump DLL minor version number to 20.
1473
71f98c4c
CV
14742006-01-13 Corinna Vinschen <corinna@vinschen.de>
1475
1476 * uname.cc (uname): Concatenate a "-WOW64" to utsname's sysname
1477 member to see when running under WOW64.
1478
494139ff
CV
14792006-01-13 Corinna Vinschen <corinna@vinschen.de>
1480
1481 * net.cc (cygwin_setsockopt): Ignore errors when setting IP_TOS on
1482 Windows 2000 and above. Clarify the comment about IP_TOS and move
1483 to the place where the magic happens.
1484 (get_ifconf): Remove unused code.
1485 * wincap.h (wincaps::has_disabled_user_tos_setting): New element.
1486 * wincap.cc: Implement above element throughout.
1487
9287bcd5
CF
14882006-01-12 Christopher Faylor <cgf@timesys.com>
1489
1490 * fhandler_console.cc (set_console_state_for_spawn): Fix to recognize
1491 ttys >= 0.
1492
750874d3
CF
14932006-01-12 Christopher Faylor <cgf@timesys.com>
1494
1495 * fhandler.h (set_console_state_for_spawn): Whackamole the argument
1496 back to a bool.
1497 * spawn.cc (spawn_guts): Ditto, i.e., once again call
1498 set_console_state_for_spawn with an indication of whether we're about
1499 to start a cygwin process.
1500 * fhandler_console.cc (set_console_state_for_spawn): Don't set the
1501 console state if we know we're starting a cygwin process or if we're
1502 using a "real" tty.
1503
b773a592
CV
15042006-01-10 Corinna Vinschen <corinna@vinschen.de>
1505
1506 * dcrt0.cc (dll_crt0_0): Remove call to wincap.init.
1507 * init.cc (dll_entry): Rename is_wow64_proc to wow64_test_stack_marker.
1508 Call wincap.init here before doing anything else. Use wincap.is_wow64
1509 to determine if we're running in a WOW64 emulator.
1510 * mmap.cc (MapViewNT): Don't use AT_ROUND_TO_PAGE in WOW64, it's
1511 apparently not supported.
1512 (mmap64): Don't create mappings beyond EOF, which would need to use
1513 AT_ROUND_TO_PAGE, on WOW64.
1514 * wincap.cc (wincap): Throw into the .cygwin_dll_common section.
1515 (wincapc::init): Determine if running in WOW64 and set wow_64 flag.
1516 * wincap.h (class wincapc): Add wow64 member.
1517 (wincapc::is_wow64): New method.
1518
23de77b7
CF
15192006-01-10 Christopher Faylor <cgf@timesys.com>
1520
1521 * fhandler_proc.cc (format_proc_cpuinfo): Avoid leading whitespace in
1522 model name.
1523
5da5f949
CF
15242006-01-09 Christopher Faylor <cgf@timesys.com>
1525
1526 * spawn.cc (spawn_guts): Reorganize slightly so that 16 bit check is
1527 done prior to check for command.com/cmd.com. Don't bother setting
1528 CREATE_SUSPENDED flag for a MS-DOS process since it doesn't work
1529 anyway. Avoid calling remember() when the child process has already
1530 exited.
4c8650ef 1531 (av::fixup): Explicitly set cygexec flag to false on a 16 bit process.
5da5f949 1532
104fffd2
CV
15332006-01-09 Corinna Vinschen <corinna@vinschen.de>
1534
1535 * include/getopt.h (getopt_long_only): Declare.
1536
6c5da678
CV
15372006-01-09 Eric Blake <ebb9@byu.net>
1538
1539 * cygwin.din: Export getsubopt.
1540 * include/cygwin/version.h: Bump API minor version.
1541
0b7094d9
CF
15422006-01-08 Christopher Faylor <cgf@timesys.com>
1543
1544 * fhandler_tty.cc (fhandler_tty_slave::dup): Don't assign a controlling
1545 terminal to a process when duped. Linux doesn't do this, so we won't
1546 either.
1547
3e45d281
CF
15482006-01-08 Christopher Faylor <cgf@timesys.com>
1549
1550 * environ.cc (spenvs[]): windir -> WINDIR.
1551
b5c8e331
CF
15522006-01-07 Christopher Faylor <cgf@timesys.com>
1553
1554 * fhandler_console.cc (fhandler_console::need_invisible): Remove
1555 duplicate test.
1556
85c804ec
CF
15572006-01-07 Christopher Faylor <cgf@timesys.com>
1558
1559 * fhandler.h (set_console_state_for_spawn): Eliminate argument from
1560 declaration.
1561 * fhandler.cc (set_console_state_for_spawn): Eliminate argument from
1562 definition. Always check for invisible console.
1563 (fhandler_console::need_invisible): Don't do anything if the windows
1564 station is already not visible.
1565 * spawn.cc (spawn_guts): Accommodate change of argument to
1566 set_console_state_for_spawn.
1567
1b000027
CF
15682006-01-05 Christopher Faylor <cgf@timesys.com>
1569
1570 * sigproc.cc (no_signals_available): Use existence of signal thread
1571 handle to figure out if we can actually send signals rather than
1572 relying on my_sendsig.
1573 (hwait_sig): Make static.
1574 (sigproc_init): Don't set my_sendsig to anything special. Use new
1575 global static hwait_sig.
1576 (wait_sig): Set hwait_sig to NULL when we are exiting.
1577
b39b8c14
CF
15782006-01-05 Christopher Faylor <cgf@timesys.com>
1579
1580 * include/getopt.h: Accommodate recent unfortunate newlib changes.
1581
32f06975
CF
15822006-01-05 Christopher Faylor <cgf@timesys.com>
1583
1584 * cygtls.cc (_cygtls::remove): Don't output debugging info if this
1585 isn't a cygwin thread.
4cf4fd4d
CF
1586 * sigproc.cc (sigproc_init): Move clearing of sync_startup here to
1587 lessen the likelihood of trying to deal with non-cygwin threads in
1588 dll_entry.
1589
1590 * fhandler_console: Fix set_console_state_for_spawn comment.
32f06975 1591
c29df6c3
CF
15922006-01-05 Igor Peshansky <pechtcha@cs.nyu.edu>
1593
1594 * spawn.cc (spawn_guts): Invert the argument to
1595 set_console_state_for_spawn.
1596
4c3faa85
CF
15972006-01-04 Christopher Faylor <cgf@timesys.com>
1598
1599 * fhandler_console.cc (fhandler_console::need_invisible): Only try to
1600 open "CygwinInvisible" windows station if opening of default station
1601 fails. Use CloseWindowStation to close window station handle.
1602
faec62ca
CF
16032006-01-04 Christopher Faylor <cgf@timesys.com>
1604
1605 * fhandler_console.cc (fhandler_console::need_invisible): Open up the
1606 security of the newly created windows station.
1607
01b76355
CF
16082006-01-04 Eric Blake <ebb9@byu.net>
1609
1610 * path.cc (dot_special_chars): Add ", <, >, and |.
1611
d58ca0b3
CF
16122006-01-03 Christopher Faylor <cgf@timesys.com>
1613
1614 * fhandler_console.cc (beep): Use MB_OK which is documented as using
1615 the default bell rather than -1 which seems to behave differently on
1616 different versions of Windows.
1617
4c157462
CF
16182006-01-03 Christopher Faylor <cgf@timesys.com>
1619
1620 * fhandler_process.cc (fhandler_process::readdir): Add missing argument
1621 to syscall_printf.
1622
1623 * fhandler_console.cc (fhandler_console::need_invisible): Use made-up
1624 name for windows station rather than asking Windows to create one for
1625 us.
1626
1627 * spawn.cc (spawn_guts): Don't mess with console if we're detaching.
1628
adcff8d1
CF
16292006-01-03 Christopher Faylor <cgf@timesys.com>
1630
1631 * dir.cc (readdir_worker): Minor code cleanup.
1632
1633 * fhandler_console.cc (beep): Use a more Windows-generic wav file if
1634 the beep is missing. Use a more foolproof way to find out whether we
1635 should be recreating the missing key.
1636
1637 * registry.h (reg_key::_disposition): New field.
1638 (reg_key::created): New function.
1639 * registry.cc (reg_key::reg_key): Set _disposition to zero by default.
1640 (reg_key::build_key): Fill in _disposition field.
1641
825d0b93
CF
16422006-01-03 Eric Blake <ebb9@byu.net>
1643
adcff8d1 1644 * dir.cc (readdir_worker): Ensure that saw_dot* flags are updated when
825d0b93
CF
1645 not handling inodes.
1646
e76625ea
CF
16472006-01-02 Christopher Faylor <cgf@timesys.com>
1648
1649 * fhandler_console.cc (beep): New function. Restores missing "Default
1650 Beep", if necessary.
1651 (fhandler_console::write_normal): Use beep().
1652
29b35f7a
CF
16532006-01-02 Christopher Faylor <cgf@timesys.com>
1654
825d0b93 1655 * dcrt0.cc (_dll_crt0): Remove more leftover debugging stuff.
29b35f7a
CF
1656 (cygwin_dll_init): Remove unneeded initializations. Call _dll_crt0
1657 rather than dll_crt0_1.
1658
8584a9df
CV
16592006-01-02 Corinna Vinschen <corinna@vinschen.de>
1660
1661 * syslog.cc: Include sys/un.h instead of sys/socket.h.
1662 (syslogd_inited): Convert to enum type noting the exact result of
1663 trying to connect to syslog daemon. Use this way throughout.
1664 (connect_syslogd): New static function taking over the task to
1665 connect to syslog socket. Use correct struct sockaddr_un instead of
1666 struct sockaddr.
1667 (try_connect_syslogd): Call connect_syslogd. If write fails on
1668 connection oriented socket, try to reconnect to syslog socket and
1669 try to write again.
1670
3bfd1c5e
CF
16712006-01-01 Christopher Faylor <cgf@timesys.com>
1672
1673 * pinfo.cc (pinfo::exit): Swap signal and normal exit value when not
1674 started from a cygwin process - just like the good-old-days of B20.
1675
d0d1b897
CF
16762006-01-01 Christopher Faylor <cgf@timesys.com>
1677
1678 * strace.cc (strace::write_childpid): Remove debugging output.
1679
7a32aefe
CF
16802006-01-01 Christopher Faylor <cgf@timesys.com>
1681
1682 * cygtls.cc (_cygtls::remove): Remove left over debugging cruft which
1683 caused this function to always return prematurely.
1684
4eab146f
CF
16852006-01-01 Christopher Faylor <cgf@timesys.com>
1686
1687 * exceptions.cc (sigpacket::process): Pass actual reference to signal's
1688 sigaction structure to setup_handler.
1689
a14d6555
CF
16902006-01-01 Christopher Faylor <cgf@timesys.com>
1691
1692 * exceptions.cc (_cygtls::interrupt_setup): Implement SA_RESETHAND.
1693 * include/cygwin/signal.h: Define SA_ONESHOT and SA_NOMASK.
1694
1695 * dcrt0.cc (get_cygwin_startup_info): Remove commented out code.
1696
a89b7009 16972006-01-01 Corinna Vinschen <corinna@vinschen.de>
cceba559 1698
a89b7009
CV
1699 * syslog.cc (vklog): Never log kernel messages using the vsyslog
1700 interface.
This page took 0.222123 seconds and 5 git commands to generate.