]> sourceware.org Git - newlib-cygwin.git/blame - winsup/cygwin/ChangeLog
* include/wingdi.h: (DOCINFO) Ansi version defined incorrectly.
[newlib-cygwin.git] / winsup / cygwin / ChangeLog
CommitLineData
e935fcf0
ED
12001-03-12 Egor Duda <deo@logos-m.ru>
2
3 * fhandler.h (fhandler_termios::fixup_after_exec): New function.
344ce60c
ED
4 * fhandler_termios.cc (fhandler_termios::fixup_after_fork): New
5 function. Fixup output handle.
e935fcf0
ED
6 * fhandler_tty.cc (fhandler_tty_common::fixup_after_fork): Output
7 handle is now fixed up in fhandler_termios::fixup_after_fork().
8
79409dc0
ED
92001-03-12 Egor Duda <deo@logos-m.ru>
10
11 * fhandler.h (fhandler_termios::fhandler_termios): Enable fixup
12 after fork.
13 * fhandler_console.cc (fhandler_console::fhandler_console): Fixup
14 after fork is now enabled in the base class constructor.
15
2b777e2e
CF
16Mon Mar 12 11:19:41 2001 Christopher Faylor <cgf@cygnus.com>
17
18 * mkvers.sh: Include config.h so that DEBUGGING is correctly defined.
19
941fa5ad
CF
20Mon Mar 12 09:47:55 2001 Christopher Faylor <cgf@cygnus.com>
21
22 * spawn.cc (spawn_guts): Don't set EXIT_REPARENTING if parent process
23 is not a cygwin process (suggested by Jason Gouger
24 <cygwin@jason-gouger.com>).
25
d0909d91
CF
26Sun Mar 11 16:00:58 2001 Christopher Faylor <cgf@cygnus.com>
27
28 * child_info.h: Bump magic number for fork/exec/spawn.
29
2116a175
CF
30Sat Mar 10 20:54:47 2001 Christopher Faylor <cgf@cygnus.com>
31
32 * autoload.cc (noload): Use proper method for multiline strings or
33 newer gcc's complain.
34 * exceptions.cc (unused_sig_wrapper): Ditto.
35 * fhandler.h (fhandler_base): Make get_io_handle and friends return
36 self.
37 * fhandler_tty.cc (fhandler_pty_common::close_on_exec): Accomodate
38 DEBUGGING flag to avoid spurious warnings when inheritance is set.
39
7cf3b655
CF
40Sat Mar 10 16:52:12 2001 Christopher Faylor <cgf@cygnus.com>
41
42 * shortcut.c (PATH_ALL_EXEC): Add parentheses to avoid a compiler
43 warning.
44
45 * exceptions.cc (setup_handler): Clarify debugging message.
46 * sigproc.cc (proc_subproc): Remove PROC_CHILDSTOPPED test. It is
47 handled by normal PROC_CLEARWAIT case.
48 (wait_sig): Eliminate "dispatched" tracking. Remove __SIGCHILDSTOPPED
49 test. Decrement counter again before jumping out of
50 InterlockedDecrement loop so that subsequent InterlockedIncrement will
51 keep the counter at the correctly decremented value and also detect
52 when there are pending signals.
53 * sigproc.h: Remove __SIGCHILDSTOPPED element.
54 (procstuff): Remove PROC_CHILDSTOPPED element.
55
e2f2a27e
CF
56Sat Mar 10 15:22:44 2001 Christopher Faylor <cgf@cygnus.com>
57
58 * syscalls.cc (_rename): Set errno to ENOENT when an old path doesn't
59 exist (from Kazuhiro Fujieda <fujieda@jaist.ac.jp>). Also set EACCES
60 when directory is not writable.
61
6ebccdc1
CF
62Wed Mar 7 15:49:47 2001 Christopher Faylor <cgf@cygnus.com>
63
64 * syscalls.cc (_read): Change definition to return ssize_t to be
65 consistent with read.
66 (_write): Change definition to return ssize_t to be consistent with
67 write.
68
efd76e41
CF
69Wed Mar 7 01:08:21 2001 Christopher Faylor <cgf@cygnus.com>
70
71 * sigproc.h (sigthread): Declare new methods. Create new winapi_lock
72 field.
73 (sigframe:;set): Call get_winapi_lock after frame is set so that signal
74 handler thread knows not to call SuspendThread.
75 (sigframe::~sigframe): Release winapi_lock.
76 * exceptions.cc (sigthread::get_winapi_lock): New method.
77 (sigthread::release_winapi_lock): New method.
78 (setup_handler): Use get_winapi_lock to ensure that signalled thread is
79 not blocked in a Windows API.
80
81 * path.h (path_types): Avoid broken GCC warning.
82
bf11a54f
CV
83Tue Mar 6 14:02:00 2001 Corinna Vinschen <corinna@vinschen.de>
84
85 * path.cc (suffix_scan::has): Change order of conditionals
86 to allow checking for .lnk suffixes even if in_suffixes is empty.
87
88Tue Mar 6 13:02:00 2001 Corinna Vinschen <corinna@vinschen.de>
7cdc9fee
CV
89
90 * autoload.c (cygwin_premain0): Add missing parameter.
91 * binmode.c (cygwin_premain0): Ditto.
92 * textmode.c (cygwin_premain0): Ditto.
93
94Tue Mar 6 12:04:00 2001 Jason Tiller <jtiller@sjm.com>
95
96 * auto_load.cc: Add "GetKeyboardLayout" entry in the list of
97 Win32 User32.DLL exports to provide.
98 * fhandler.h (class fhandler_console): Add meta_mask private
99 member to remember which keystroke modifiers should generate
100 META.
101 * fhandler_console.cc (fhandler_console::read): Modify code that
102 tests a keystroke for a META-escaped key to use the 'meta_mask'
103 variable.
104 (fhandler_console::fhandler_console): Add definition for
105 variable "meta_mask" used to determine if a keystroke should be
106 preceded by META in the client console stream. Set meta_mask
107 based on whether or not user's keyboard language is English -
108 non-English keyboards pass AltGr (right <ALT>) unmolested,
109 whereas English keyboards now interpret left- and right-<ALT>
110 as META.
111
a887211b
CV
112Mon Mar 5 20:15:00 2001 Corinna Vinschen <corinna@vinschen.de>
113
114 * include/a.out.h: Add copyright hint.
115 * include/fcntl.h: Ditto.
116 * include/lastlog.h: Ditto.
117 * include/memory.h: Ditto.
118 * include/mntent.h: Ditto.
119 * include/paths.h: Ditto.
120 * include/poll.h: Ditto.
121 * include/syslog.h: Ditto.
122 * include/termio.h: Ditto.
123 * include/tzfile.h: Ditto.
124 * include/arpa/inet.h: Ditto.
125 * include/asm/byteorder.h: Ditto.
126 * include/asm/socket.h: Ditto.
127 * include/asm/types.h: Ditto.
128 * include/cygwin/if.h: Ditto.
129 * include/cygwin/mtio.h: Ditto.
130 * include/cygwin/rdevio.h: Ditto.
131 * include/cygwin/socket.h: Ditto.
132 * include/net/if.h: Ditto.
133 * include/netinet/in.h: Ditto.
134 * include/netinet/in_systm.h: Ditto.
135 * include/netinet/ip.h: Ditto.
136 * include/netinet/ip_icmp.h: Ditto.
137 * include/netinet/tcp.h: Ditto.
138 * include/sys/cdefs.h: Ditto.
139 * include/sys/cygwin.h: Ditto.
140 * include/sys/ioctl.h: Ditto.
141 * include/sys/mman.h: Ditto.
142 * include/sys/mount.h: Ditto.
143 * include/sys/mtio.h: Ditto.
144 * include/sys/procfs.h: Ditto.
145 * include/sys/resource.h: Ditto.
146 * include/sys/smallprint.h: Ditto.
147 * include/sys/socket.h: Ditto.
148 * include/sys/strace.h: Ditto.
149 * include/sys/syslog.h: Ditto.
150 * include/sys/sysmacros.h: Ditto.
151 * include/sys/termio.h: Ditto.
152 * include/sys/termios.h: Ditto.
153 * include/sys/uio.h: Ditto.
154 * include/sys/un.h: Ditto.
155 * include/sys/utsname.h: Ditto.
156 * include/sys/vfs.h: Ditto.
157 * include/sys/wait.h: Ditto.
158 * regexp/regerror.c: Ditto.
159 * regexp/regexp.h: Ditto.
160 * regexp/regmagic.h: Ditto.
161
95a8465b
CF
162Mon Mar 5 01:25:03 2001 Christopher Faylor <cgf@cygnus.com>
163
164 * dlopen.c (dlopen): Return NULL when name is NULL (suggested by
165 chrisiasci@aol.com).
166
167 * cygwin.din: Add a new, internally used export -
168 _check_for_executable.
169 * dcrt0.cc (dll_crt0_1): Set _check_for_executable for older binaries.
170 Pass user_data to premain functions.
171 * fhandler.cc (fhandler_disk_file::open): Only check for executable if
172 the linked program is intereested in the executable bit.
173 (fhandler_disk_file::check_execable_p): Delete.
174 * fhandler.h (executable_states): New enumeration of various states of
175 executable bit caring.
176 (fhandler_base::set_execable_p): New method.
177
178 * fhandler_termios.cc (fhandler_termios::line_edit): Flag when a signal
179 has been sent to the tty. Return -1 when this is so.
180 * fhandler_console.cc (fhandler_console::read): Return -1 when signal
181 sending character encountered.
182
183 * path.cc (path_conv::check): Record when path refers to a disk device.
184 Move executable extension check here.
185 (check_sysfile): Accomodate new EXEC path states.
186 (has_suffix): Remove.
187 (next_suffix): Remove.
188 (class suffix_scan): New clas.
189 (suffix_scan::has): New method.
190 (suffix_scan:next): New method.
191 (symlink_info::check): Use suffix_scan method to control for scanning
192 for suffixes.
193 * path.h (path_conv::exec_state): New method.
194 * perprocess.h: Make "C" friendly.
195 * include/cygwin/version.h: Define CYGWIN_VERSION_CHECK_FOR_S_IEXEC.
196 Bump CYGWIN_VERSION_API_MINOR.
197 * include/sys/cygwin.h: Change premain declarations.
198
199 * winsup.h: Move __cplusplus test to after builtin defines.
200
306c4b67
ED
2012001-03-04 Egor Duda <deo@logos-m.ru>
202
203 * fhandler.h (class fhandler_tty_common): New mutex and event to
204 syncronize input on master tty with slave tty.
205 * fhandler_tty.cc (fhandler_pty_master::accept_input): Use them to
206 syncronize with slave.
207 * fhandler_tty.cc (fhandler_tty_slave::read): Use input mutex and
208 event to syncronize with master. Do not limit amount of data read
209 from master to vmin value. Interrupt on signal and return already
210 read data, if any.
211 * fhandler_tty.cc (fhandler_tty_slave::open): Handle input mutex and
212 event.
213 * fhandler_tty.cc (fhandler_tty_common::close): Ditto.
214 * fhandler_tty.cc (fhandler_tty_common::set_close_on_exec): Ditto.
215 * fhandler_tty.cc (fhandler_tty_common::fixup_after_fork): Ditto.
216 * fhandler_tty.cc (fhandler_tty_common::dup): Ditto.
217 * tty.h (tty::open_input_mutex): New function.
218 * tty.cc (tty::common_init): Create input mutex and event.
219
ed94def2
CV
220Fri Mar 2 13:32:00 2001 Corinna Vinschen <corinna@vinschen.de>
221
222 * dir.cc (readdir): Fix creating path in symlink check.
223
e03f5f73
CV
224Fri Mar 2 12:33:00 2001 Corinna Vinschen <corinna@vinschen.de>
225
226 * dir.cc (readdir): Fix shortcut==symlink condition.
227 * environ.cc: Add extern decl for `allow_winsymlinks'.
228 (struct parse_thing): Add entry for `[no]winsymlinks'.
229 * path.cc (symlink): Change to be able to create both,
230 symlink==shortcut and symlink==systemfile, dependent of
231 the setting of `allow_winsymlinks'.
232 * security.cc (cygwin_logon_user): Add debug output.
233 * shortcut.c: Add defines from path.h.
234 (has_exec_chars): Copy from path.h.
235 (check_shortcut): Check for executable file condition if not a
236 shortcut.
237
903c330d
CF
238Thu Mar 1 21:06:07 2001 Christopher Faylor <cgf@cygnus.com>
239
240 * exceptions.cc (sig_handle_tty_stop): Ignore attempts to suspend a
241 process if started by non-cygwin parent.
242
d80999a1
CF
243Thu Mar 1 20:48:11 2001 Christopher Faylor <cgf@cygnus.com>
244
245 * select.cc (peek_console): Don't report read_ready on mouse events
246 unless we are looking for mouse events.
247 * fhandler.h (fhandler_console::mouse_aware): New method.
248
2de76014
CV
249Wed Feb 28 15:10:00 2001 Corinna Vinschen <corinna@vinschen.de>
250
251 * uinfo.cc: Eliminate `#include <wchar.h>'.
252
739db26a
ED
2532001-02-28 Egor Duda <deo@logos-m.ru>
254
255 * fhandler_floppy.cc (fhandler_dev_floppy::lseek): Determine
256 drive geometry or partition size to allow seeking from the end of
257 raw floppy device. Don't allow positioning past the end of media or
258 to offsets bigger then max off_t.
259
a53136cc
ED
2602001-02-27 Egor Duda <deo@logos-m.ru>
261
262 * fhandler.h (class fhandler_console): Make all variables that
263 describe "state" of console to be members of fhandler_console.
264 default_color is now the color which is set when console recieves
265 reset command.
266 * fhandler_console.cc (fhandler_console::fhandler_console): Turn
267 mouse handling and raw keyboard mode off by default. Initialize
268 state information.
269 * fhandler.cc (fhandler_console::set_raw_win32_keyboard_mode): New
270 function.
271 * fhandler_console.cc (fhandler_console::set_default_attr): New
272 function. Reset console attributes to default values.
273 * fhandler_console.cc (fhandler_console::open): Reset attributes.
274 * fhandler_console.cc (fhandler_console::get_win32_attr): New function.
275 Calculate win32-style console attribute based on terminal attributes.
276 * fhandler_console.cc (fhandler_console::set_cursor_maybe): Use
277 member variable.
278 * fhandler_console.cc (fhandler_console::read): If in raw-win32
279 keyboard mode, encode win32 keyboard events in \033{x;y;z;t;u;wK
280 sequences.
281 * fhandler_console.cc (fhandler_console::dup): Copy all state
282 information to the dup()ed handle.
283 * fhandler_console.cc (fhandler_console::scroll_screen): Use current
284 fill-in attribute.
285 * fhandler_console.cc (fhandler_console::clear_screen): Ditto.
286 * fhandler_console.cc (fhandler_console::char_command): Check if we
287 saw '?' symbol by member variable. Set terminal attributes on \033[Xm
288 commands. \033[24m - turn off underline mode, \033[27m - turn off
289 reverse mode, \033[39m - restore default foreground color.
290 \033[49m - restore default background color. \033[2000h - turn on raw
291 keyboard mode, \033[2000l - turn off raw keyboard mode.
292 * fhandler_console.cc (fhandler_console::write): Set attribues to
293 default values on reset command.
294
5b331f1e 2952001-02-26 Mike Simons <msimons@moria.simons-clan.com>
efd76e41 296
5b331f1e
CF
297 * times.cc (settimeofday): Replace function stub with working code.
298
88429768
CV
299Mon Feb 26 10:42:00 2001 Corinna Vinschen <corinna@vinschen.de>
300
301 * strace.cc (strace::vprntf): Move prntf functionality to this function
302 adding an va_list interface to strace.
303 (strace::printf): Calls strace::vprntf now.
304 (strace_printf): New function providing an extern "C" interface to
305 trace output.
306 * include/sys/strace.h: Make plain C clean.
307 (class strace): Add `vprntf' method.
308
6626ebfe
CV
309Mon Feb 26 0:10:00 2001 Corinna Vinschen <corinna@vinschen.de>
310
311 * shortcut.c: Remove #include <sys/strace.h>.
312
649033a8
CV
313Sun Feb 25 10:32:00 2001 Corinna Vinschen <corinna@vinschen.de>
314
315 * path.cc (symlink): Add a ".lnk" suffix regardless. Add a comment.
316
80ed95f2
CV
317Sun Feb 25 10:18:00 2001 Corinna Vinschen <corinna@vinschen.de>
318
649033a8 319 * shortcut.c (check_shortcut): Change symlink condition.
80ed95f2 320
675412e9
CV
321Fri Feb 23 10:42:00 2001 Corinna Vinschen <corinna@vinschen.de>
322
323 * mmap.cc (fhandler_disk_file::mmap): Use `addr' correctly.
324 * fhandler_mem.cc (fhandler_dev_mem::mmap): Ditto.
325
ff413a98
CV
326Thu Feb 22 17:09:00 2001 Corinna Vinschen <corinna@vinschen.de>
327
328 * path.cc (symlink): Keep relative paths relative in the DOS
659b480b
CV
329 path inside of a shortcut. If that's impossible or the target
330 path is already absolute save an absolute path.
ff413a98 331
c5a4eacc
CV
332Thu Feb 22 15:33:00 2001 Corinna Vinschen <corinna@vinschen.de>
333
334 * cygerrno.h: Revert previous patch.
335 * errno.cc: Ditto.
336 * dir.cc: Eliminate `dir_suffixes'.
337 (opendir): Remove usage of `dir_suffixes'.
338 (rmdir): Ditto.
339 * fhandler.cc (fhandler_disk_file::open): Remove usage of
340 `inner_suffixes'.
341 * path.cc: Rename `inner_suffixes' to `lnk_suffixes'.
342 (path_conv::check): Remove usage of `inner_suffixes'.
343 (symlink): Ditto.
344 (symlink_info::check): Handle checking for `.lnk' in path_conv
345 exclusively here.
346 (chdir): Remove usage of `dir_suffixes'.
347 * shortcut.c: Eliminate debug_printf lines.
348 (check_shortcut): Don't set error except on failing ReadFile.
349 * spawn.cc: Remove ".lnk" from `std_suffixes'.
350 * syscalls.cc (_unlink): Remove usage of `inner_suffixes'.
351 Remove ".lnk" from `stat_suffixes'.
352 (_rename): Add check for renaming a symlink to keep the ".lnk"
353 suffix after renaming.
354
79e56091
CV
355Thu Feb 22 13:38:00 2001 Corinna Vinschen <corinna@vinschen.de>
356
357 * shortcut.c: New file. Provides a C interface to reading of
358 Windows shortcuts to avoid compiler flag `-fvtable-thunks'.
359 * shortcut.h: Ditto.
360 * Makefile.in: Add shortcut.o to DLL_OFILES.
361 * cygerrno.h: Provide a C interface to `geterrno_from_win_error' for
362 using in shortcut.c.
363 * errno.cc (geterrno_from_win_error): Define as extern "C".
364 * path.cc (struct symlink_info): Remove methods `check_shortcut' and
365 `check_sysfile'.
366 (shortcut_header): Move to shortcut.c.
367 (shortcut_initalized): Ditto.
368 (create_shortcut_header): Ditto.
369 (cmp_shortcut_header): Ditto.
370 (symlink_info::check_shortcut): Ditto. Reorganize as a plain C function.
371 (symlink_info::check_sysfile): Redefine as a global function using the
372 same parameter list as `check_shortcut' for clearness.
373 (symlink_info::check): Change parameter list for calls to
374 `check_shortcut' and `check_sysfile'.
375
87e6b098
CV
376Thu Feb 22 12:04:00 2001 Corinna Vinschen <corinna@vinschen.de>
377
378 * fhandler.cc (fhandler_disk_file::open): Use `inner_suffixes' when
379 resolving real_path.
380 * path.cc (symlink): Ditto for win32_topath.
381
10b06c5e
CV
382Wed Feb 21 22:41:00 2001 Corinna Vinschen <corinna@vinschen.de>
383
384 * Makefile.in: Add `-lshell32 -luuid' to link pass for new-cygwin1.dll.
385 * autoload.cc: Add LoadDLLinitfunc for ole32.dll.
386 Add LoadDLLfuncEx statements for CoInitialize@4, CoUninitialize@0
387 and CoCreateInstance@20.
388 * dir.cc (dir_suffixes): New datastructure.
389 (readdir): Check for R/O *.lnk files to hide the suffix.
390 (opendir): Use `dir_suffixes' in path conversion.
391 (rmdir): Ditto.
392 * fhandler.cc (fhandler_disk_file::fstat): Add S_IFLNK flag
393 before calling `get_file_attribute'. Take FILE_ATTRIBUTE_READONLY
394 into account only if the file is no symlink.
395 * path.cc (inner_suffixes): New datastructure.
396 (SYMLINKATTR): Eliminated.
397 (path_conv::check): Use `inner_suffixes' on inner path components.
398 (shortcut_header): New global static variable.
399 (shortcut_initalized): Ditto.
400 (create_shortcut_header): New function.
401 (cmp_shortcut_header): Ditto.
402 (symlink): Create symlinks by creating windows shortcuts. Preserve
403 the old code.
404 (symlink_info::check_shortcut): New method.
405 (symlink_info::check_sysfile): Ditto.
406 (symlink_info::check): Check for shortcuts. Move code reading
407 old system attribute symlinks into symlink_info::check_sysfile().
408 (chdir): Use `dir_suffixes' in path conversion.
409 * security.cc (get_file_attribute): Check for S_IFLNK flag.
410 Force 0777 permissions then.
411 * spawn.cc (std_suffixes): Add ".lnk" suffix.
412 * syscalls.cc (_unlink): Use `inner_suffixes' in path conversion.
413 Check for shortcut symlinks to eliminate R/O attribute before
414 calling DeleteFile().
415 (stat_suffixes): Add ".lnk" suffix.
416 (stat_worker): Force 0777 permissions if file is a symlink.
417
0917ed59
ED
4182001-02-21 Egor Duda <deo@logos-m.ru>
419
420 * sigproc.cc (getsem): Make semaphore always non-inheritable.
421
441d7aee
CF
422Mon Feb 19 22:25:53 2001 Christopher Faylor <cgf@cygnus.com>
423
424 * dcrt0.cc (locale_init): Remove.
425
f97e7d75
CF
4262001-02-15 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
427
428 * cygwin.din: Export rand48 functions.
429 * thread.cc (MTinterface::Init): Remove the initialization of
430 `reent_data'.
431 * dcrt0.cc: Add the initalizer to the declaration of `reent_data'.
432 * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 35.
433
fc68bf34
ED
4342001-02-16 Egor Duda <deo@logos-m.ru>
435
436 * signal.cc (signal): Prohibit setting handlers for SIGKILL and
437 SIGSTOP
438 * signal.cc (sigaction): Ditto
439 * syscalls.cc (_lseek): Return EINVAL on invalid input
440
ee2c7251
CF
441Wed Feb 14 14:54:40 2001 Christophe Iasci <chrisiasci@aol.com>
442
443 * dlfcn.cc (dlopen): Do not call LoadLibrary with a NULL pointer, when
444 the library is not found
445
8f8e7442 4462001-02-14 Egor Duda <deo@logos-m.ru>
efd76e41 447
8f8e7442
CF
448 * fhandler_console.cc (fhandler_console::char_command): Ignore unknown
449 rendition codes in \033[xx;yym control sequences
450
cde0c2fb
CF
451Fri Feb 9 23:19:01 2001 Christopher Faylor <cgf@cygnus.com>
452
453 * fork.cc (fork_parent): Return EAGAIN when can't record pid.
454 * pinfo.h (pinfo::remember): Return value of call to proc_subproc.
455 * sigproc.cc (proc_subproc): Return error if can't record pid.
456
c41482c7
CF
457Fri Feb 9 12:17:27 2001 Christopher Faylor <cgf@cygnus.com>
458
459 * syscalls.cc (mknod): Add valid parameters.
460
889109ab
CV
461Thu Feb 8 22:09:00 2001 Corinna Vinschen <corinna@vinschen.de>
462
463 * mmap.cc (mmap): Check for reusing a mapping only on MAP_SHARED
464 and on MAP_PRIVATE|MAP_ANON in the special case of offset 0.
465
db49d0b5
CV
466Thu Feb 8 21:57:00 2001 Corinna Vinschen <corinna@vinschen.de>
467
468 * mmap.cc (class list): Add member `hash'.
469 (list::list): Initialize `hash'.
470 (list::get_list_by_fd): Use filepath hash value to get the correct
471 mapping list if it's not an anonymous mapping.
472 (map::add_list): Initialize `hash' with filepath hash value.
473 (mmap): Check for reusing a mapping only on MAP_SHARED.
474
91d385fe
CF
475Wed Feb 7 18:47:36 2001 Christopher Faylor <cgf@cygnus.com>
476
477 * signal.cc (killpg): Correct first argument.
478
9182099c
CV
479Wed Feb 7 22:22:00 2001 Corinna Vinschen <corinna@vinschen.de>
480
481 * autoload.cc: Add LoadDLLinitfunc for iphlpapi.dll.
482 Add LoadDLLfuncEx statements for GetIfTable@12 and GetIpAddrTable@12.
483 * fhandler_socket.cc (fhandler_socket::ioctl): Move variable
484 definitions to the beginning of the function to allow better debugging.
485 Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC and SIOCGIFMTU.
486 * net.cc: Include iphlpapi.h.
487 (get_2k_ifconf): Rewritten. Uses IP Helper API now.
488 (get_nt_ifconf): Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC
489 and SIOCGIFMTU.
490 (get_95_ifconf): Ditto. Renamed from `get_9x_ifconf'.
491 (get_ifconf): Name loopback `lo' instead of `lo0' as in Linux.
492 Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC and SIOCGIFMTU.
493 Call `get_95_ifconf' only on Windows 95, `get_nt_ifconf' only
494 on Windows NT < Service Pack 3, `get_2k_ifconf otherwise.
495 * include/asm/socket.h: Add defines for SIOCGIFHWADDR, SIOCGIFMETRIC
496 and SIOCGIFMTU.
497 * include/cygwin/if.h: Add `ifr_hwaddr', `ifr_metric' and `ifr_mtu'.
498 (struct ifreq): Add `ifru_hwaddr'.
499
d7ed877b
CV
500Tue Feb 6 15:04:00 2001 Corinna Vinschen <corinna@vinschen.de>
501
502 * syscalls.cc (stat_worker): Add a check for the special case when
503 a process creates a file using mode 000 using ntsec.
504
ae9b22c6
CV
505Mon Feb 5 17:00:00 2001 Corinna Vinschen <corinna@vinschen.de>
506
507 * fhandler.cc (fhandler_base::open): Always add GENERIC_READ access
508 when opening raw disk devices.
509 * fhandler_floppy.cc (fhandler_dev_floppy::lseek): Implement bytewise
510 access.
511 * fhandler_raw.cc (fhandler_dev_raw::open): Always open raw disk device
512 binary.
513 (fhandler_dev_raw::raw_write): Don't drop read buffer content when
514 writing after read.
515
cada03f9
CV
516Mon Feb 5 13:30:00 2001 Corinna Vinschen <corinna@vinschen.de>
517
518 * mmap.cc (mmap_record::fixup_map): New method to duplicate
519 the memory protection in a just forked child.
520 (mmap): Realign gran_len to page boundary only on anonymous
521 mapping before saving in the mmap_record.
522 (munmap): Cleanup code.
523 (msync): Ditto.
524 (fixup_mmaps_after_fork): Ditto. Call mmap_record::fixup_map now.
525
47f81092
CF
526Thu Feb 1 23:08:29 2001 Christopher Faylor <cgf@cygnus.com>
527
528 * cygheap.cc (creturn): Correctly calculate cygheap_max.
529
f8da1507
CF
530Wed Jan 31 10:04:58 2001 Christopher Faylor <cgf@cygnus.com>
531
532 * shared.cc (shared_info::initialize): Reduce size of heap.
533
83443511
CV
534Wed Jan 31 13:22:00 2001 Corinna Vinschen <corinna@vinschen.de>
535
536 * include/sys/resource.h: Fix typo.
537
44e6d951
CV
538Wed Jan 31 13:20:00 2001 Corinna Vinschen <corinna@vinschen.de>
539
83443511 540 * include/sys/resource.h: Add RLIMIT_NLIMITS and RLIM_NLIMITS.
44e6d951 541
4f42df7b
CF
542Tue Jan 30 18:15:23 2001 Christopher Faylor <cgf@cygnus.com>
543
544 * include/cygwin/version.h: Bump version to 1.3.0.
545
9928a7e1
CV
546Tue Jan 30 8:55:00 2001 Corinna Vinschen <corinna@vinschen.de>
547
548 * pinfo.cc (pinfo::init): Use INVALID_HANDLE_VALUE instead of
549 explicit cast (HANDLE) 0xffffffff.
550 * shared.cc (open_shared): Ditto.
551
747e88d3
CF
552Mon Jan 29 17:15:22 2001 Bill Hegardt <bill@troyxcd.com>
553
554 * fhandler_serial.cc (raw_write): Use local copy of OVERLAPPED
555 structure instead of shared structure to fix a race condition between
556 read/write.
557
68ea0dc2
CV
558Mon Jan 29 14:30:00 2001 Corinna Vinschen <corinna@vinschen.de>
559
560 * mmap.cc (mmap): Remove obsolete check for MAP_SHARED|MAP_ANON as
561 being invalid.
562
f977222f
CV
563Mon Jan 29 10:23:00 2001 Corinna Vinschen <corinna@vinschen.de>
564
565 * mmap.cc (mmap_record::find_empty): Fix loop condition.
566
6a4878cf
CF
567Sun Jan 28 19:40:40 2001 Christopher Faylor <cgf@cygnus.com>
568
569 * syscalls.cc (_link): Make sure that newpath does not exist. Set
570 errno if it does.
571
572Sun Jan 28 19:29:08 2001 Christopher Faylor <cgf@cygnus.com>
573
574 * cygheap.cc (init_cheap): Don't specify a load address for the heap.
575 It doesn't work on #!*& Windows 9x.
576 (cygheap_init): Move GetUserName to memory_init.
577 * dcrt0.cc (dll_crt0_1): Call new memory_init functin, eliminate call
578 to heap_init.
579 * heap.cc (heap_init): Improve error output.
580 * heap.h: Correct some declarations.
581 * shared.cc (mount_table_init): Remove.
582 (memory_init): Renamed from shared_init. Reorganize to accomodate
583 strange Windows 9x problems with cygheap/heap interaction.
584 * shared_info.h: Rename shared_init to memory_init.
585
ae6c8e4f
CF
586Sun Jan 28 01:25:33 2001 Christopher Faylor <cgf@cygnus.com>
587
588 * include/cygwin/version.h: Bump API version.
589
9a089f21
CF
590Sun Jan 28 01:18:22 2001 Christopher Faylor <cgf@cygnus.com>
591
592 * cygheap.cc (init_cheap): Move username initialization.
593 (cygheap_init): Here.
594 * shared_info.h (mount_info): Add a sys_mount_table_counter field.
595 (shared_info): Ditto.
596 * path.cc (mount_info::conv_to_win32_path): Check that our mount table
597 is in sync with the system mount table and reinitialize it if not.
598 (mount_info::add_reg_mount): Bump sys_mount_table counters if the
599 system mount table changes.
600 (mount_info::del_reg_mount): Ditto.
601 (mount_info::write_cygdrive_info_to_registry): Ditto.
602 (mount_info::remove_cygdrive_info_from_registry): Ditto.
603
2a6fc028
CF
604Sun Jan 28 00:28:30 2001 Christopher Faylor <cgf@cygnus.com>
605
606 Throughout, change 'cygwin_shared.mount' to 'mount_table'.
607 * child_info.h (child_info): Move shared_h, console_h to cygheap. Add
608 mount_h.
609 * cygheap.h (init_cygheap): Add shared_h, console_h.
610 * cygheap.cc (init_cheap): Initialize heap at a fixed location after
611 the shared memory regions. Initialize cygheap->user name here.
612 * dcrt0.cc (dll_crt0_1): Call getpagesize () to initialize constants.
613 Remove cygheap_init since it is done in shared_init now.
614 (_dll_crt0): Initialize mount_h, remove shared_h and console_h
615 initialization.
616 * fhandler_console.cc (console_shared_h): Eliminate.
617 (get_tty_stuff): Use cygheap->console_h rather than console_shared_h.
6a4878cf
CF
618 * heap.cc (heap_init): Use page size constant calculated earlier in
619 initialization.
2a6fc028
CF
620 * shared.cc: Eliminate cygwin_shared_h. Add cygwin_mount_h.
621 (mount_table_init): New function for initializing a user mount table.
6a4878cf
CF
622 (open_shared_file_map): Use constant for shared memory region.
623 Initialize cygheap and mount table here.
2a6fc028
CF
624 (open_shared): Improve debugging output.
625 (shared_info::initialize): Eliminate call to mount.init.
626 (shared_terminate): Use cygheap->shared_h. Close cygwin_mount_h.
627 (open_shared_file_map): Eliminate.
628 * shared_info.h (mount_info): Add a version field.
6a4878cf
CF
629 (shared_align_past): New macro for calculating location for shared
630 memory regions.
2a6fc028 631 * sigproc.cc (init_child_info): Eliminate shared_h, console_h.
6a4878cf
CF
632 * spawn.cc (spawn_guts): Pass on cygwin_mount_h iff not a different
633 user.
2a6fc028
CF
634 * syscalls.cc (system_info): New global holding system memory defaults.
635 (getpagesize): Use system_info.
636 * uinfo.cc (internal_getlogin): Only fill in user name if nonexistent.
637 * winsup.h: Declare system_info.
638
6a4878cf
CF
639 * passwd.cc (read_etc_passwd): Use cygheap->user.name () rather than
640 retrieving the name again.
2a6fc028 641
bdfeca60
CF
642Sat Jan 27 10:18:02 2001 Christopher Faylor <cgf@cygnus.com>
643
644 * path.cc (path_conv::check): Detect when path has symlinks.
645 (symlink_info::check): Remove debugging stuff.
646 (chdir): Use posix'ized win32 path if cd'ed to a path using symlinks.
647
206a8d88
CF
648Fri Jan 26 21:20:28 2001 Christopher Faylor <cgf@cygnus.com>
649
650 * exceptions.cc (sigreturn): Call any pending signals prior to
651 resetting the signal mask so that stacked signals behave correctly.
652 (sigdelayed): Avoid a race where a signal could end up calling an
653 incorrect signal handler if two signals come in close together.
654
174f1a39
CV
655Tue Jan 23 21:56:00 2001 Corinna Vinschen <corinna@vinschen.de>
656
657 * mmap.cc (fhandler_disk_file::mmap): Call CreateFileMapping with
658 len != 0 only when performing an anonymous mapping.
659
4c7b8250
CF
660Mon Jan 22 15:35:28 2001 Christopher Faylor <cgf@cygnus.com>
661
662 * path.h: Add a new constant.
663 * syscalls.cc (_read): Oscillate errno check.
664
c65a3183
CF
665Mon Jan 22 15:27:12 2001 Christopher Faylor <cgf@cygnus.com>
666
667 * include/cygwin/version.h: Bump API to reflect setlogmask.
668
29c39fe3
CF
669Sun Jan 21 22:40:25 2001 Jason Tishler <jt@dothill.com>
670
671 * cygwin.din: Add export for setlogmask().
672 * syslog.cc (setlogmask): New function.
673
c807d355
CV
674Thu Jan 18 10:27:00 2001 Corinna Vinschen <corinna@vinschen.de>
675
676 * resource.cc (setrlimit): Support RLIMIT_NOFILE.
677
4e2a97b2
CF
678Wed Jan 17 23:23:12 2001 Christopher Faylor <cgf@cygnus.com>
679
680 * syscalls.cc (setdtablesize): Call with amount to increment not total
681 amount. Return success or failure error code.
682
a7cde2b9
CF
683Wed Jan 17 09:47:13 2001 Christopher Faylor <cgf@cygnus.com>
684
685 * autoload.cc (LoadDLLinitfunc): Remove debugging statement.
686
687 * exceptions.cc (sig_handle_tty_stop): Move setting of PID_STOPPED to
688 earlier in interrupt.
689 ((interrupt_setup): i.e., here.
690 (sig_handle): Don't queue multiple SIGSTOPS.
691 * fhandler.h (bg_check_types): Enumerate return value of bg_check for
692 clarity.
693 * signal.cc (kill_pgrp): Minor cleanup.
694 * fhandler_termios.cc (fhandler_termios::bg_check): Use enumerated type
695 for function return. Don't raise signal if a signal is already queued.
696 * fhandler_console.cc (fhandler_console::read): Use enumerated return
697 type for bg_check.
698 * select.cc: Ditto, throughout.
699 * read.cc: Ditto, throughout.
700 * termios.cc: Ditto, throughout.
701 (_read): YA interrupt detect simplification.
702 * wait.cc (wait4): Ditto.
703
cb503978
CV
704Wed Jan 17 10:56:00 2001 Corinna Vinschen <corinna@vinschen.de>
705
706 * cygheap.cc (cygheap_user::~cygheap_user): Temporarily
707 disable free'ing memory.
708
9fedfd57
CV
709Tue Jan 16 18:01:00 2001 Corinna Vinschen <corinna@vinschen.de>
710
711 * mmap.cc (mmap): Initialize fh to avoid compiler warnings.
712
9470a80c
CF
713Mon Jan 15 21:07:00 2001 Christopher Faylor <cgf@cygnus.com>
714
715 * wait.cc (wait4): Rename variable for consistency. Allow restartable
716 signal behavior.
717
9334c89c
CV
718Mon Jan 15 23:15:00 2001 Corinna Vinschen <corinna@vinschen.de>
719
720 * mmap.cc (mmap): Add more parameter checking. Change error output
721 in case of EINVAL. Treat mmapping /dev/zero like MAP_ANONYMOUS.
722
c6dd43f2
CV
723Mon Jan 15 20:34:00 2001 Corinna Vinschen <corinna@vinschen.de>
724
725 * mmap.cc: include <unistd.h>. Define some bit operations for
726 the new page map.
727 (mmap_record): Change type of base_address_ to caddr_t.
728 Add map_map_ member. Add several methods to manipulate map_map_.
729 (mmap_record::alloc_map): New method.
730 (mmap_record::free_map): Ditto.
731 (mmap_record::find_empty): Ditto.
732 (mmap_record::map_map): Ditto.
733 (mmap_record::unmap_map): Ditto.
734 (list::add_record): Change return type to `mmap_record *'.
735 Allocate page map.
736 (list::match): New method.
737 (mmap): Partly rewritten to take care for the new page map. Add some
738 parameter checking.
739 (munmap): Ditto.
740
66097f06
CV
741Mon Jan 15 13:50:00 2001 Corinna Vinschen <corinna@vinschen.de>
742
743 * heap.cc (heap_init): Fix extern declaration of getpagesize.
744 * syscalls.cc (getpagesize): Fix another typo.
745
dc3651b6
CV
746Mon Jan 15 12:48:00 2001 Corinna Vinschen <corinna@vinschen.de>
747
748 * syscalls.cc (getpagesize): Save pagesize in global variable to
749 avoid calling GetSystemInfo too often.
750 * heap.cc (getpagesize): Eliminate.
751 (heap_init): Use getpagesize function from syscalls.cc.
752
4cf2c0e0
CV
753Mon Jan 15 11:56:00 2001 Corinna Vinschen <corinna@vinschen.de>
754
755 * sysconf.cc (sysconf): return `getpagesize ()' on _SC_PAGESIZE
756 request to avoid implementing the same twice.
757
a3ec080b
CF
758Sun Jan 14 14:07:50 2001 Christopher Faylor <cgf@cygnus.com>
759
760 * syscalls.cc (_read): Use more lightweight method for determining if
761 read has been interrupted by a signal.
762
c3d62298
CF
763Fri Jan 12 00:35:15 2001 Christopher Faylor <cgf@cygnus.com>
764
765 * debug.h: Add regparm attributes to some functions.
766
767 * signal.cc (sigaction): Don't treat SIGCONT specially.
768
6a4878cf
CF
769 * exceptions.cc (interrupt_setup): Save sa_flags of interrupted signal
770 for later use.
c3d62298
CF
771 (sig_handler): Default any stopping signal to SIGSTOP.
772 (call_signal_handler): New function.
773 (sigdelayed0): New function.
6a4878cf
CF
774 * sigproc.cc (sigproc_init): Initialize SIGSTOP sigaction for special
775 behavior.
c3d62298
CF
776 * sigproc.h: Define call_signal_handler.
777 * syscalls.cc (_read): Allow restartable signal behavior.
778
c4efddf6
CV
779Thu Jan 11 13:17:00 2001 Corinna Vinschen <corinna@vinschen.de>
780
781 * fhandler.h (fhandler_base): New method `fixup_mmap_after_fork'.
782 (fhandler_disk_file: Ditto.
783 (fhandler_dev_mem): Ditto.
784 * fhandler_mem.cc (fhandler_dev_mem::open): Set OBJ_INHERIT attribute
785 for device\physicalmemory handle.
786 (fhandler_dev_mem::mmap): Ditto.
6a4878cf
CF
787 * fhandler_mem.cc (fhandler_dev_mem::fixup_mmap_after_fork): New
788 method.
789 * mmap.cc (mmap_record): Add private `fdesc_' member. Change
790 constructor accordingly.
c4efddf6
CV
791 (get_fd): New method.
792 (mmap): Use new mmap_record constructor.
793 (fhandler_base::fixup_mmap_after_fork): New method.
794 (fhandler_disk_file::fixup_mmap_after_fork): Ditto.
6a4878cf 795 (fixup_mmaps_after_fork): Call `fixup_mmap_after_fork' of appropriate
c4efddf6
CV
796 fhandler class.
797
7416e1d2
CF
798Wed Jan 10 22:08:30 2001 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
799
800 * sigproc.cc (wait_sig): Allow SIGCONT when stopped.
801
55ae1dff
CV
802Tue Jan 9 16:55:00 2001 Corinna Vinschen <corinna@vinschen.de>
803
804