]> sourceware.org Git - newlib-cygwin.git/blame - winsup/cygwin/ChangeLog
* sigproc.h (class sigframe): Implement 'unregister()' method.
[newlib-cygwin.git] / winsup / cygwin / ChangeLog
CommitLineData
f6111483
CF
1Sat Mar 31 18:59:52 2001 Christopher Faylor <cgf@cygnus.com>
2
3 * sigproc.h (class sigframe): Implement 'unregister()' method.
4 (sigframe::~sigframe): Use unregister method.
5 (sigframe::call_signal_handler): Declare new method.
6 * exceptions.cc (sigframe::call_signal_handler): New method.
7 Unregisters current sigframe before calling signal handler.
8 (setup_handler): Clear waiting threads prior to arming signal_arrived.
9 * syscalls.cc (_read): Change goto to loop. Recalculate sigframe
10 inside of loop so that constructor is called when appropriate.
11 * wait.cc (wait4): Ditto.
12
13 * signal.cc: Change "sig" to "signal" in debugging messages throughout.
14 * sigproc.cc: Ditto.
15
ab57d146
CF
16Sat Mar 31 17:12:08 2001 Christopher Faylor <cgf@cygnus.com>
17
18 * fhandler_serial.cc (fhandler_serial::raw_write): Close protected
19 handles with ForceCloseHandle or suffer spurious warnings.
20
0cec3226
CF
21Sat Mar 31 16:23:32 2001 Christopher Faylor <cgf@cygnus.com>
22
23 * fhandler.cc (fhandler_base::read): Remove special handling of CTRL-Z.
24
70afbaae
CV
25Sat Mar 31 11:09:00 2001 Corinna Vinschen <corinna@vinschen.de>
26
27 * fhandler.h (class fhandler_console): Add members `insert_mode'.
28 * fhandler_console.cc (fhandler_console::dup): Duplicate `insert_mode'.
29 (fhandler_console::fhandler_console): Initialize `insert_mode'.
c796f4f1 30 (fhandler_console::char_command): Add terminal capabilities
70afbaae
CV
31 "enter insert mode" = \E[4h and "exit insert mode" = \E[4l.
32 Care for insert mode on terminal capability "repeat char" = \E[x;yb.
33 (fhandler_console::write_normal): Care for insert mode before writing
34 to the console.
35 (array keytable): Add keymapping for modified cursor and control
36 block keys (xterm like).
37
f42da31a
CV
38Fri Mar 30 13:02:00 2001 Corinna Vinschen <corinna@vinschen.de>
39
40 * fhandler.h (class fhandler_console): Add members `savebufsiz' and
41 `savebuf' to allow save/restore of screen.
70afbaae
CV
42 * fhandler_console.cc (fhandler_console::dup): Duplicate `savebufsiz'
43 and `savebuf'.
f42da31a
CV
44 (fhandler_console::fhandler_console): Initialize `savebufsiz' and
45 `savebuf'.
46 (fhandler_console::char_command): Add terminal capabilities
47 "save screen content" = \E[?47h and "restore screen content" = \E[?47l.
48
b5eb3d0f
CF
49Wed Mar 28 19:28:50 2001 Christopher Faylor <cgf@cygnus.com>
50
51 * path.cc (chdir): Eat trailing whitespace on input path.
52
1ac6d1a1
CF
53Tue Mar 27 22:38:42 2001 Christopher Faylor <cgf@cygnus.com>
54
55 * lib/_cygwin_S_IEXEC.c: Remove "const" from globals or they never seem
56 to be defined. Wrap definitions in extern "C". Include winsup.h to
57 assure proper definitions.
58
59 * dcrt0.cc (dll_crt0_1): Call stdio_init after premain run so that
60 binmode.o, etc., will control default stdio settings.
61 * dtable.cc (dtable::init_std_file_from_handle): Allow __fmode to force
62 binmode/textmode settings. Default pipes to binmode.
63
37a2d97a
CV
64Tue Mar 27 11:31:00 2001 Corinna Vinschen <corinna@vinschen.de>
65
66 * mmap.cc (mmap): Fix conditional for previous patch.
67
1636a5a1
CV
68Mon Mar 26 18:48:00 2001 Corinna Vinschen <corinna@vinschen.de>
69
70 * mmap.cc (mmap): Outflank copy-on-write problem on 9x by
71 setting access mode to FILE_MAP_READ when read access is requested.
72
aa73152e
CF
73Sun Mar 25 20:12:21 2001 Christopher Faylor <cgf@cygnus.com>
74
75 * dlfcn.cc (check_access): Eliminate.
76 (check_path_access): Use passed in path_conv buf.
77 (get_full_path_of_dll): Use passed in name buf to avoid a static. Rip
78 out most of the path checking since LoadLibrary will do all of this
79 automatically.
80 (dlopen): Set errno when appropriate (may not be compliant?).
81 * environ.cc (posify): Don't pass in "native" path if it seems to
82 actually be posix.
83
db0421f6
CF
84Thursday Mar 22 2001 Robert Collins <rbtcollins@hotmail.com>
85
86 * fhandler.h (fhandler_dev_clipboard): Extend to support writing.
87 * fhandler_clipboard.cc (fhandler_dev_clipboard::fhandler_dev_clipboard):
88 Initialize new fields. Open clipboard here.
89 (fhandler_dev_clipboard::dup): New method.
90 (fhandler_dev_clipboard::open): Accomodate new fields. Register
91 clipboard here, if appropriate.
92 (set_clipboard): New function. Moves buffer to clipboard.
93 (fhandler_dev_clipboard::write): Truly implement clipboard writing.
94 (fhandler_dev_clipboard::read): Reimplement to allow successive reads.
95 (fhandler_dev_clipboard::lseek): Truly implement seeks in clipboard.
0ed560cb
CF
96 (fhandler_dev_clipboard::close): Clear out new fields. Support
97 sequential reads and sequential writes. Support for binary data via a
98 native clipboard format.
db0421f6 99
0b30bad4 1002001-03-22 Egor Duda <deo@logos-m.ru>
0cec3226 101
0b30bad4
CF
102 * fhandler_console.cc (fhandler_console::set_default_attr): Update
103 console color attributes on tty reset.
104
c4458148
CF
105Wed Mar 21 22:12:36 2001 Christopher Faylor <cgf@cygnus.com>
106
107 * autoload.cc (kernel32_init): New function for kernel32 autoload
108 initialization.
109 (SignalObjectAndWait): Add conditional load of this function when it is
110 available.
111
9a08b2c0
CF
1122001-03-21 Robert Collins <rbtcollins@hotmail.com>
113
114 * sched.cc: New file. Implement sched*.
115 * include/sched.h: New file. User land includes for sched*.
116 * Makefile.in: Add sched.o
117 * cygwin.din: Add exports for sched*.
118
a1299ba5
CF
119Tue Mar 20 14:48:46 2001 Christopher Faylor <cgf@cygnus.com>
120
121 * dtable.cc: Guard against new winsock.h/winsock2.h warnings when
122 mixing winsock*.h and sys/types.h.
123 * fhandler_socket.cc: Ditto.
124 * net.cc: Ditto.
125 * select.cc: Ditto.
126 * exceptions.cc: Remove unneeded define.
127
b8c8fa17
CF
128Mon Mar 19 17:43:29 2001 Christopher Faylor <cgf@cygnus.com>
129
130 * exceptions.cc (interruptible): Update debugging output.
131 (setup_handler): Ensure that wait_sig loop wakes up when we punt on
132 sending a signal.
133 * poll.cc (poll): Add signal guard here.
134
78ace8a7
ED
1352001-03-19 Egor Duda <deo@logos-m.ru>
136
137 * tty.h (tty::create_inuse): Add new parameter to allow non-
138 inheritable 'inuse' events.
139 * tty.cc (tty::create_inuse): Use new parameter.
140 * fhandler_tty.cc (fhandler_tty_master::init): Ditto.
141 * fhandler_tty.cc (fhandler_pty_master::open): Ditto.
142 * fhandler_tty.cc (fhandler_tty_master::init): Create master_alive
143 event.
144 * tty.cc (tty_list::terminate): Close master_alive event.
145 * fhandler_tty.cc (fhandler_tty_common::close): Send EOF to slaves
146 when master side is closed.
147
98750a84
CV
148Mon Mar 19 14:32:00 2001 Corinna Vinschen <corinna@vinschen.de>
149
150 * mmap.cc (map::get_list_by_fd): Avoid calling `get_namehash' when
151 file descriptor is -1.
152
30f326bf
CV
153Sat Mar 17 18:30:00 2001 Corinna Vinschen <corinna@vinschen.de>
154
155 * syscalls.cc (check_posix_perm): New static function.
156 (fpathconf): Add _PC_POSIX_PERMISSIONS and _PC_POSIX_SECURITY
157 support.
158 (pathconf): Ditto.
159 * include/cygwin/version.h: Bump API minor number to 37.
160
5e8e21d9
ED
1612001-03-18 Egor Duda <deo@logos-m.ru>
162
163 * fhandler.h (fhandler_tty_slave): Declare new methods.
164 * select.cc (fhandler_tty_slave::select_read): New method.
165 * select.cc (fhandler_tty_slave::ready_for_read): Ditto.
166 * select.cc (verify_tty_slave): New function.
167 * fhandler_termios.cc (fhandler_termios::line_edit): Empty input
168 buffer on signal.
169 * fhandler_tty.cc (fhandler_tty_slave::read): Check for input data
170 after reading from pipe. Reset event if input pipe is empty.
171 * tty.h (class tty): Allow creating events with manual reset.
172 * tty.cc (tty::get_event): Use manual_reset flag.
173 * tty.cc (tty::common_init): Create input_available_event with
174 manual reset.
175
00a74961
CF
176Sat Mar 17 21:48:03 2001 Christopher Faylor <cgf@cygnus.com>
177
178 * external.cc (fillout_pinfo): Match windows pid, as well as cygwin pid
179 when passed in pid. Don't prematurely break when searching for a pid.
180
181 * thread.h (_winsup_t): Eliminate unneeded field.
182
8eb72e63
CV
183Sat Mar 17 20:46:00 2001 Corinna Vinschen <corinna@vinschen.de>
184
185 * net.cc (get_95_ifconf): Use strcasematch instead of strcasecmp.
186 * syscalls.cc (_unlink): Ditto.
187 (_rename): Ditto.
188
57499703
CF
189Sat Mar 17 12:43:15 2001 Christopher Faylor <cgf@cygnus.com>
190
191 * path.cc (suffix_scan::next): Avoid searching for foo.lnk twice when
192 input is "foo".
193
298fad46
CV
194Sat Mar 17 18:10:00 2001 Corinna Vinschen <corinna@vinschen.de>
195
196 * net.cc (cygwin_socket): Set protocol to 0 when address family is
197 AF_UNIX to avoid WSAEPROTONOSUPPORT error.
198
f52488f7
CV
199Sat Mar 17 09:51:32 2001 Mathew Brozowski <brozow@tavve.com>
200
201 * net.cc (cygwin_socket): Pass protocol parameter to socket call.
202
b63a3f55
CF
203Sat Mar 17 02:05:38 2001 Christopher Faylor <cgf@cygnus.com>
204
205 * dir.cc (readdir): Use strcasematch for consistency.
206 * path.cc (symlink_info): Eliminate known_suffix.
207 (path_conv::check): Always copy ext_here to end of buffer, if found.
208 (suffix_scan): Eliminate ext_here, add suffixes_start.
209 (suffix_scan::has): Eliminate an argument. Reorganize. Always return
210 pointer to end of input path.
211 (suffix_scan::next): Take a second pass through the suffix list looking
212 for .lnk.
213 (symlink_info::check): Eliminate known_suffix usage.
214
db15b3e3 215Sat Mar 17 00:10:52 2001 Christopher Faylor <cgf@cygnus.com>
5bb22c6b 216
db15b3e3 217 * syscalls.cc (stat_dev): Give devices full read/write by default.
5bb22c6b 218
c0c9de3c
CF
219Saturday Mar 17 3:45 2001 Robert Collins <rbtcollins@hotmail.com>
220
221 * thread.cc (MTinterface::CreateCond): Check for null attr pointer.
222
ddca580f
CF
223Fri Mar 16 21:13:23 2001 Christopher Faylor <cgf@cygnus.com>
224
225 * fhandler_termios.cc (fhandler_termios::line_edit): Don't accept input
226 when a signal is sent or we'll end up in an EOF/signal race.
227
b65c6896
CF
228Fri Mar 16 20:25:40 2001 Christopher Faylor <cgf@cygnus.com>
229
230 * path.cc: Translate scan states from defines to enums.
231 (suffix_scan): Rename state to nextstate for clarity.
232 (lnk_match): Change to allow multiple states to indicate that a .lnk
233 has been matched.
234 (suffix_scan::has): Eliminate a goto. Handle .lnk as a special case,
235 since a .lnk may also need to be tacked on the end of a .lnk.
236 (suffix_scan::next): Don't increment next state. Set it specifically.
237 Recognize new .lnk states.
238
92f4bf97 239Saturday Mar 17 01:19 2001 Robert Collins rbtcollins@hotmail.com
0cec3226 240
5ccbf4b6
CF
241 * cygwin.din: Export the new functions.
242 * pthread.cc (pthread_cond_*): Add wrapper functions that call
243 __pthread_cond* functions.
244 * thread.cc (__pthread_cond_*): Implement the pthread_cond* functions.
245 * thread.h: Add new class entries and prototypes for __pthread_cond*
246 functions.
247 * include/pthread.h: user land header prototypes for pthread_cond*
248 functions and related defines.
249
e212576d
CV
250Wed Mar 14 16:30:00 2001 Corinna Vinschen <corinna@vinschen.de>
251
252 * environ.cc (parse_options): Use strtok_r instead of strtok.
253 * security.cc (convert_string_sid_to_sid): Ditto.
254 (aclfromtext): Ditto. Fix buffer usage.
255
78d2c08c
CV
256Wed Mar 14 10:11:00 2001 Corinna Vinschen <corinna@vinschen.de>
257
258 * path.cc (lnk_suffixes): Remove.
259 (class suffix_scan): Add `lnk_state' flag.
260 (suffix_scan::lnk_match): Return state of `lnk_state' now.
261 (suffix_scan::has): Changed behaviour if file has `.lnk' suffix.
262 (suffix_scan::next): Set `lnk_state' where appropriate.
263 (symlink_info::check): Fix a wrong `break'.
264 * syscalls.cc (chown_worker): Change debug statement to reflect
265 lchown fix.
266 (lchown): Call chown_worker with `PC_SYM_NOFOLLOW' instead of
267 `PC_SYM_IGNORE'.
268
1d39c83a
CV
269Tue Mar 13 13:52:00 2001 Corinna Vinschen <corinna@vinschen.de>
270
271 * fhandler.cc (fhandler_disk_file::fstat): Add correct modes to
272 symlinks when stat'ing on FAT or FAT32 file systems.
273
e935fcf0
ED
2742001-03-12 Egor Duda <deo@logos-m.ru>
275
276 * fhandler.h (fhandler_termios::fixup_after_exec): New function.
344ce60c
ED
277 * fhandler_termios.cc (fhandler_termios::fixup_after_fork): New
278 function. Fixup output handle.
e935fcf0
ED
279 * fhandler_tty.cc (fhandler_tty_common::fixup_after_fork): Output
280 handle is now fixed up in fhandler_termios::fixup_after_fork().
281
79409dc0
ED
2822001-03-12 Egor Duda <deo@logos-m.ru>
283
284 * fhandler.h (fhandler_termios::fhandler_termios): Enable fixup
285 after fork.
286 * fhandler_console.cc (fhandler_console::fhandler_console): Fixup
287 after fork is now enabled in the base class constructor.
288
2b777e2e
CF
289Mon Mar 12 11:19:41 2001 Christopher Faylor <cgf@cygnus.com>
290
291 * mkvers.sh: Include config.h so that DEBUGGING is correctly defined.
292
941fa5ad
CF
293Mon Mar 12 09:47:55 2001 Christopher Faylor <cgf@cygnus.com>
294
295 * spawn.cc (spawn_guts): Don't set EXIT_REPARENTING if parent process
296 is not a cygwin process (suggested by Jason Gouger
297 <cygwin@jason-gouger.com>).
298
d0909d91
CF
299Sun Mar 11 16:00:58 2001 Christopher Faylor <cgf@cygnus.com>
300
301 * child_info.h: Bump magic number for fork/exec/spawn.
302
2116a175
CF
303Sat Mar 10 20:54:47 2001 Christopher Faylor <cgf@cygnus.com>
304
305 * autoload.cc (noload): Use proper method for multiline strings or
306 newer gcc's complain.
307 * exceptions.cc (unused_sig_wrapper): Ditto.
308 * fhandler.h (fhandler_base): Make get_io_handle and friends return
309 self.
310 * fhandler_tty.cc (fhandler_pty_common::close_on_exec): Accomodate
311 DEBUGGING flag to avoid spurious warnings when inheritance is set.
312
7cf3b655
CF
313Sat Mar 10 16:52:12 2001 Christopher Faylor <cgf@cygnus.com>
314
315 * shortcut.c (PATH_ALL_EXEC): Add parentheses to avoid a compiler
316 warning.
317
318 * exceptions.cc (setup_handler): Clarify debugging message.
319 * sigproc.cc (proc_subproc): Remove PROC_CHILDSTOPPED test. It is
320 handled by normal PROC_CLEARWAIT case.
321 (wait_sig): Eliminate "dispatched" tracking. Remove __SIGCHILDSTOPPED
322 test. Decrement counter again before jumping out of
323 InterlockedDecrement loop so that subsequent InterlockedIncrement will
324 keep the counter at the correctly decremented value and also detect
325 when there are pending signals.
326 * sigproc.h: Remove __SIGCHILDSTOPPED element.
327 (procstuff): Remove PROC_CHILDSTOPPED element.
328
e2f2a27e
CF
329Sat Mar 10 15:22:44 2001 Christopher Faylor <cgf@cygnus.com>
330
331 * syscalls.cc (_rename): Set errno to ENOENT when an old path doesn't
332 exist (from Kazuhiro Fujieda <fujieda@jaist.ac.jp>). Also set EACCES
333 when directory is not writable.
334
6ebccdc1
CF
335Wed Mar 7 15:49:47 2001 Christopher Faylor <cgf@cygnus.com>
336
337 * syscalls.cc (_read): Change definition to return ssize_t to be
338 consistent with read.
339 (_write): Change definition to return ssize_t to be consistent with
340 write.
341
efd76e41
CF
342Wed Mar 7 01:08:21 2001 Christopher Faylor <cgf@cygnus.com>
343
344 * sigproc.h (sigthread): Declare new methods. Create new winapi_lock
345 field.
346 (sigframe:;set): Call get_winapi_lock after frame is set so that signal
347 handler thread knows not to call SuspendThread.
348 (sigframe::~sigframe): Release winapi_lock.
349 * exceptions.cc (sigthread::get_winapi_lock): New method.
350 (sigthread::release_winapi_lock): New method.
351 (setup_handler): Use get_winapi_lock to ensure that signalled thread is
352 not blocked in a Windows API.
353
354 * path.h (path_types): Avoid broken GCC warning.
355
bf11a54f
CV
356Tue Mar 6 14:02:00 2001 Corinna Vinschen <corinna@vinschen.de>
357
358 * path.cc (suffix_scan::has): Change order of conditionals
359 to allow checking for .lnk suffixes even if in_suffixes is empty.
360
361Tue Mar 6 13:02:00 2001 Corinna Vinschen <corinna@vinschen.de>
7cdc9fee
CV
362
363 * autoload.c (cygwin_premain0): Add missing parameter.
364 * binmode.c (cygwin_premain0): Ditto.
365 * textmode.c (cygwin_premain0): Ditto.
366
367Tue Mar 6 12:04:00 2001 Jason Tiller <jtiller@sjm.com>
368
369 * auto_load.cc: Add "GetKeyboardLayout" entry in the list of
370 Win32 User32.DLL exports to provide.
371 * fhandler.h (class fhandler_console): Add meta_mask private
372 member to remember which keystroke modifiers should generate
373 META.
374 * fhandler_console.cc (fhandler_console::read): Modify code that
375 tests a keystroke for a META-escaped key to use the 'meta_mask'
376 variable.
377 (fhandler_console::fhandler_console): Add definition for
378 variable "meta_mask" used to determine if a keystroke should be
379 preceded by META in the client console stream. Set meta_mask
380 based on whether or not user's keyboard language is English -
381 non-English keyboards pass AltGr (right <ALT>) unmolested,
382 whereas English keyboards now interpret left- and right-<ALT>
383 as META.
384
a887211b
CV
385Mon Mar 5 20:15:00 2001 Corinna Vinschen <corinna@vinschen.de>
386
387 * include/a.out.h: Add copyright hint.
388 * include/fcntl.h: Ditto.
389 * include/lastlog.h: Ditto.
390 * include/memory.h: Ditto.
391 * include/mntent.h: Ditto.
392 * include/paths.h: Ditto.
393 * include/poll.h: Ditto.
394 * include/syslog.h: Ditto.
395 * include/termio.h: Ditto.
396 * include/tzfile.h: Ditto.
397 * include/arpa/inet.h: Ditto.
398 * include/asm/byteorder.h: Ditto.
399 * include/asm/socket.h: Ditto.
400 * include/asm/types.h: Ditto.
401 * include/cygwin/if.h: Ditto.
402 * include/cygwin/mtio.h: Ditto.
403 * include/cygwin/rdevio.h: Ditto.
404 * include/cygwin/socket.h: Ditto.
405 * include/net/if.h: Ditto.
406 * include/netinet/in.h: Ditto.
407 * include/netinet/in_systm.h: Ditto.
408 * include/netinet/ip.h: Ditto.
409 * include/netinet/ip_icmp.h: Ditto.
410 * include/netinet/tcp.h: Ditto.
411 * include/sys/cdefs.h: Ditto.
412 * include/sys/cygwin.h: Ditto.
413 * include/sys/ioctl.h: Ditto.
414 * include/sys/mman.h: Ditto.
415 * include/sys/mount.h: Ditto.
416 * include/sys/mtio.h: Ditto.
417 * include/sys/procfs.h: Ditto.
418 * include/sys/resource.h: Ditto.
419 * include/sys/smallprint.h: Ditto.
420 * include/sys/socket.h: Ditto.
421 * include/sys/strace.h: Ditto.
422 * include/sys/syslog.h: Ditto.
423 * include/sys/sysmacros.h: Ditto.
424 * include/sys/termio.h: Ditto.
425 * include/sys/termios.h: Ditto.
426 * include/sys/uio.h: Ditto.
427 * include/sys/un.h: Ditto.
428 * include/sys/utsname.h: Ditto.
429 * include/sys/vfs.h: Ditto.
430 * include/sys/wait.h: Ditto.
431 * regexp/regerror.c: Ditto.
432 * regexp/regexp.h: Ditto.
433 * regexp/regmagic.h: Ditto.
434
95a8465b
CF
435Mon Mar 5 01:25:03 2001 Christopher Faylor <cgf@cygnus.com>
436
437 * dlopen.c (dlopen): Return NULL when name is NULL (suggested by
438 chrisiasci@aol.com).
439
440 * cygwin.din: Add a new, internally used export -
441 _check_for_executable.
442 * dcrt0.cc (dll_crt0_1): Set _check_for_executable for older binaries.
443 Pass user_data to premain functions.
444 * fhandler.cc (fhandler_disk_file::open): Only check for executable if
445 the linked program is intereested in the executable bit.
446 (fhandler_disk_file::check_execable_p): Delete.
447 * fhandler.h (executable_states): New enumeration of various states of
448 executable bit caring.
449 (fhandler_base::set_execable_p): New method.
450
451 * fhandler_termios.cc (fhandler_termios::line_edit): Flag when a signal
452 has been sent to the tty. Return -1 when this is so.
453 * fhandler_console.cc (fhandler_console::read): Return -1 when signal
454 sending character encountered.
455
456 * path.cc (path_conv::check): Record when path refers to a disk device.
457 Move executable extension check here.
458 (check_sysfile): Accomodate new EXEC path states.
459 (has_suffix): Remove.
460 (next_suffix): Remove.
461 (class suffix_scan): New clas.
462 (suffix_scan::has): New method.
463 (suffix_scan:next): New method.
464 (symlink_info::check): Use suffix_scan method to control for scanning
465 for suffixes.
466 * path.h (path_conv::exec_state): New method.
467 * perprocess.h: Make "C" friendly.
468 * include/cygwin/version.h: Define CYGWIN_VERSION_CHECK_FOR_S_IEXEC.
469 Bump CYGWIN_VERSION_API_MINOR.
470 * include/sys/cygwin.h: Change premain declarations.
471
472 * winsup.h: Move __cplusplus test to after builtin defines.
473
306c4b67
ED
4742001-03-04 Egor Duda <deo@logos-m.ru>
475
476 * fhandler.h (class fhandler_tty_common): New mutex and event to
477 syncronize input on master tty with slave tty.
478 * fhandler_tty.cc (fhandler_pty_master::accept_input): Use them to
479 syncronize with slave.
480 * fhandler_tty.cc (fhandler_tty_slave::read): Use input mutex and
481 event to syncronize with master. Do not limit amount of data read
482 from master to vmin value. Interrupt on signal and return already
483 read data, if any.
484 * fhandler_tty.cc (fhandler_tty_slave::open): Handle input mutex and
485 event.
486 * fhandler_tty.cc (fhandler_tty_common::close): Ditto.
487 * fhandler_tty.cc (fhandler_tty_common::set_close_on_exec): Ditto.
488 * fhandler_tty.cc (fhandler_tty_common::fixup_after_fork): Ditto.
489 * fhandler_tty.cc (fhandler_tty_common::dup): Ditto.
490 * tty.h (tty::open_input_mutex): New function.
491 * tty.cc (tty::common_init): Create input mutex and event.
492
ed94def2
CV
493Fri Mar 2 13:32:00 2001 Corinna Vinschen <corinna@vinschen.de>
494
495 * dir.cc (readdir): Fix creating path in symlink check.
496
e03f5f73
CV
497Fri Mar 2 12:33:00 2001 Corinna Vinschen <corinna@vinschen.de>
498
499 * dir.cc (readdir): Fix shortcut==symlink condition.
500 * environ.cc: Add extern decl for `allow_winsymlinks'.
501 (struct parse_thing): Add entry for `[no]winsymlinks'.
502 * path.cc (symlink): Change to be able to create both,
503 symlink==shortcut and symlink==systemfile, dependent of
504 the setting of `allow_winsymlinks'.
505 * security.cc (cygwin_logon_user): Add debug output.
506 * shortcut.c: Add defines from path.h.
507 (has_exec_chars): Copy from path.h.
508 (check_shortcut): Check for executable file condition if not a
509 shortcut.
510
903c330d
CF
511Thu Mar 1 21:06:07 2001 Christopher Faylor <cgf@cygnus.com>
512
513 * exceptions.cc (sig_handle_tty_stop): Ignore attempts to suspend a
514 process if started by non-cygwin parent.
515
d80999a1
CF
516Thu Mar 1 20:48:11 2001 Christopher Faylor <cgf@cygnus.com>
517
518 * select.cc (peek_console): Don't report read_ready on mouse events
519 unless we are looking for mouse events.
520 * fhandler.h (fhandler_console::mouse_aware): New method.
521
2de76014
CV
522Wed Feb 28 15:10:00 2001 Corinna Vinschen <corinna@vinschen.de>
523
524 * uinfo.cc: Eliminate `#include <wchar.h>'.
525
739db26a
ED
5262001-02-28 Egor Duda <deo@logos-m.ru>
527
528 * fhandler_floppy.cc (fhandler_dev_floppy::lseek): Determine
529 drive geometry or partition size to allow seeking from the end of
530 raw floppy device. Don't allow positioning past the end of media or
531 to offsets bigger then max off_t.
532
a53136cc
ED
5332001-02-27 Egor Duda <deo@logos-m.ru>
534
535 * fhandler.h (class fhandler_console): Make all variables that
536 describe "state" of console to be members of fhandler_console.
537 default_color is now the color which is set when console recieves
538 reset command.
539 * fhandler_console.cc (fhandler_console::fhandler_console): Turn
540 mouse handling and raw keyboard mode off by default. Initialize
541 state information.
542 * fhandler.cc (fhandler_console::set_raw_win32_keyboard_mode): New
543 function.
544 * fhandler_console.cc (fhandler_console::set_default_attr): New
545 function. Reset console attributes to default values.
546 * fhandler_console.cc (fhandler_console::open): Reset attributes.
547 * fhandler_console.cc (fhandler_console::get_win32_attr): New function.
548 Calculate win32-style console attribute based on terminal attributes.
549 * fhandler_console.cc (fhandler_console::set_cursor_maybe): Use
550 member variable.
551 * fhandler_console.cc (fhandler_console::read): If in raw-win32
552 keyboard mode, encode win32 keyboard events in \033{x;y;z;t;u;wK
553 sequences.
554 * fhandler_console.cc (fhandler_console::dup): Copy all state
555 information to the dup()ed handle.
556 * fhandler_console.cc (fhandler_console::scroll_screen): Use current
557 fill-in attribute.
558 * fhandler_console.cc (fhandler_console::clear_screen): Ditto.
559 * fhandler_console.cc (fhandler_console::char_command): Check if we
560 saw '?' symbol by member variable. Set terminal attributes on \033[Xm
561 commands. \033[24m - turn off underline mode, \033[27m - turn off
562 reverse mode, \033[39m - restore default foreground color.
563 \033[49m - restore default background color. \033[2000h - turn on raw
564 keyboard mode, \033[2000l - turn off raw keyboard mode.
565 * fhandler_console.cc (fhandler_console::write): Set attribues to
566 default values on reset command.
567
5b331f1e 5682001-02-26 Mike Simons <msimons@moria.simons-clan.com>
efd76e41 569
5b331f1e
CF
570 * times.cc (settimeofday): Replace function stub with working code.
571
88429768
CV
572Mon Feb 26 10:42:00 2001 Corinna Vinschen <corinna@vinschen.de>
573
574 * strace.cc (strace::vprntf): Move prntf functionality to this function
575 adding an va_list interface to strace.
576 (strace::printf): Calls strace::vprntf now.
577 (strace_printf): New function providing an extern "C" interface to
578 trace output.
579 * include/sys/strace.h: Make plain C clean.
580 (class strace): Add `vprntf' method.
581
6626ebfe
CV
582Mon Feb 26 0:10:00 2001 Corinna Vinschen <corinna@vinschen.de>
583
584 * shortcut.c: Remove #include <sys/strace.h>.
585
649033a8
CV
586Sun Feb 25 10:32:00 2001 Corinna Vinschen <corinna@vinschen.de>
587
588 * path.cc (symlink): Add a ".lnk" suffix regardless. Add a comment.
589
80ed95f2
CV
590Sun Feb 25 10:18:00 2001 Corinna Vinschen <corinna@vinschen.de>
591
649033a8 592 * shortcut.c (check_shortcut): Change symlink condition.
80ed95f2 593
675412e9
CV
594Fri Feb 23 10:42:00 2001 Corinna Vinschen <corinna@vinschen.de>
595
596 * mmap.cc (fhandler_disk_file::mmap): Use `addr' correctly.
597 * fhandler_mem.cc (fhandler_dev_mem::mmap): Ditto.
598
ff413a98
CV
599Thu Feb 22 17:09:00 2001 Corinna Vinschen <corinna@vinschen.de>
600
601 * path.cc (symlink): Keep relative paths relative in the DOS
659b480b
CV
602 path inside of a shortcut. If that's impossible or the target
603 path is already absolute save an absolute path.
ff413a98 604
c5a4eacc
CV
605Thu Feb 22 15:33:00 2001 Corinna Vinschen <corinna@vinschen.de>
606
607 * cygerrno.h: Revert previous patch.
608 * errno.cc: Ditto.
609 * dir.cc: Eliminate `dir_suffixes'.
610 (opendir): Remove usage of `dir_suffixes'.
611 (rmdir): Ditto.
612 * fhandler.cc (fhandler_disk_file::open): Remove usage of
613 `inner_suffixes'.
614 * path.cc: Rename `inner_suffixes' to `lnk_suffixes'.
615 (path_conv::check): Remove usage of `inner_suffixes'.
616 (symlink): Ditto.
617 (symlink_info::check): Handle checking for `.lnk' in path_conv
618 exclusively here.
619 (chdir): Remove usage of `dir_suffixes'.
620 * shortcut.c: Eliminate debug_printf lines.
621 (check_shortcut): Don't set error except on failing ReadFile.
622 * spawn.cc: Remove ".lnk" from `std_suffixes'.
623 * syscalls.cc (_unlink): Remove usage of `inner_suffixes'.
624 Remove ".lnk" from `stat_suffixes'.
625 (_rename): Add check for renaming a symlink to keep the ".lnk"
626 suffix after renaming.
627
79e56091
CV
628Thu Feb 22 13:38:00 2001 Corinna Vinschen <corinna@vinschen.de>
629
630 * shortcut.c: New file. Provides a C interface to reading of
631 Windows shortcuts to avoid compiler flag `-fvtable-thunks'.
632 * shortcut.h: Ditto.
633 * Makefile.in: Add shortcut.o to DLL_OFILES.
634 * cygerrno.h: Provide a C interface to `geterrno_from_win_error' for
635 using in shortcut.c.
636 * errno.cc (geterrno_from_win_error): Define as extern "C".
637 * path.cc (struct symlink_info): Remove methods `check_shortcut' and
638 `check_sysfile'.
639 (shortcut_header): Move to shortcut.c.
640 (shortcut_initalized): Ditto.
641 (create_shortcut_header): Ditto.
642 (cmp_shortcut_header): Ditto.
643 (symlink_info::check_shortcut): Ditto. Reorganize as a plain C function.
644 (symlink_info::check_sysfile): Redefine as a global function using the
645 same parameter list as `check_shortcut' for clearness.
646 (symlink_info::check): Change parameter list for calls to
647 `check_shortcut' and `check_sysfile'.
648
87e6b098
CV
649Thu Feb 22 12:04:00 2001 Corinna Vinschen <corinna@vinschen.de>
650
651 * fhandler.cc (fhandler_disk_file::open): Use `inner_suffixes' when
652 resolving real_path.
653 * path.cc (symlink): Ditto for win32_topath.
654
10b06c5e
CV
655Wed Feb 21 22:41:00 2001 Corinna Vinschen <corinna@vinschen.de>
656
657 * Makefile.in: Add `-lshell32 -luuid' to link pass for new-cygwin1.dll.
658 * autoload.cc: Add LoadDLLinitfunc for ole32.dll.
659 Add LoadDLLfuncEx statements for CoInitialize@4, CoUninitialize@0
660 and CoCreateInstance@20.
661 * dir.cc (dir_suffixes): New datastructure.
662 (readdir): Check for R/O *.lnk files to hide the suffix.
663 (opendir): Use `dir_suffixes' in path conversion.
664 (rmdir): Ditto.
665 * fhandler.cc (fhandler_disk_file::fstat): Add S_IFLNK flag
666 before calling `get_file_attribute'. Take FILE_ATTRIBUTE_READONLY
667 into account only if the file is no symlink.
668 * path.cc (inner_suffixes): New datastructure.
669 (SYMLINKATTR): Eliminated.
670 (path_conv::check): Use `inner_suffixes' on inner path components.
671 (shortcut_header): New global static variable.
672 (shortcut_initalized): Ditto.
673 (create_shortcut_header): New function.
674 (cmp_shortcut_header): Ditto.
675 (symlink): Create symlinks by creating windows shortcuts. Preserve
676 the old code.
677 (symlink_info::check_shortcut): New method.
678 (symlink_info::check_sysfile): Ditto.
679 (symlink_info::check): Check for shortcuts. Move code reading
680 old system attribute symlinks into symlink_info::check_sysfile().
681 (chdir): Use `dir_suffixes' in path conversion.
682 * security.cc (get_file_attribute): Check for S_IFLNK flag.
683 Force 0777 permissions then.
684 * spawn.cc (std_suffixes): Add ".lnk" suffix.
685 * syscalls.cc (_unlink): Use `inner_suffixes' in path conversion.
686 Check for shortcut symlinks to eliminate R/O attribute before
687 calling DeleteFile().
688 (stat_suffixes): Add ".lnk" suffix.
689 (stat_worker): Force 0777 permissions if file is a symlink.
690
0917ed59
ED
6912001-02-21 Egor Duda <deo@logos-m.ru>
692
693 * sigproc.cc (getsem): Make semaphore always non-inheritable.
694
441d7aee
CF
695Mon Feb 19 22:25:53 2001 Christopher Faylor <cgf@cygnus.com>
696
697 * dcrt0.cc (locale_init): Remove.
698
f97e7d75
CF
6992001-02-15 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
700
701 * cygwin.din: Export rand48 functions.
702 * thread.cc (MTinterface::Init): Remove the initialization of
703 `reent_data'.
704 * dcrt0.cc: Add the initalizer to the declaration of `reent_data'.
705 * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 35.
706
fc68bf34
ED
7072001-02-16 Egor Duda <deo@logos-m.ru>
708
709 * signal.cc (signal): Prohibit setting handlers for SIGKILL and
710 SIGSTOP
711 * signal.cc (sigaction): Ditto
712 * syscalls.cc (_lseek): Return EINVAL on invalid input
713
ee2c7251
CF
714Wed Feb 14 14:54:40 2001 Christophe Iasci <chrisiasci@aol.com>
715
716 * dlfcn.cc (dlopen): Do not call LoadLibrary with a NULL pointer, when
717 the library is not found
718
8f8e7442 7192001-02-14 Egor Duda <deo@logos-m.ru>
efd76e41 720
8f8e7442
CF
721 * fhandler_console.cc (fhandler_console::char_command): Ignore unknown
722 rendition codes in \033[xx;yym control sequences
723
cde0c2fb
CF
724Fri Feb 9 23:19:01 2001 Christopher Faylor <cgf@cygnus.com>
725
726 * fork.cc (fork_parent): Return EAGAIN when can't record pid.
727 * pinfo.h (pinfo::remember): Return value of call to proc_subproc.
728 * sigproc.cc (proc_subproc): Return error if can't record pid.
729
c41482c7
CF
730Fri Feb 9 12:17:27 2001 Christopher Faylor <cgf@cygnus.com>
731
732 * syscalls.cc (mknod): Add valid parameters.
733
889109ab
CV
734Thu Feb 8 22:09:00 2001 Corinna Vinschen <corinna@vinschen.de>
735
736 * mmap.cc (mmap): Check for reusing a mapping only on MAP_SHARED
737 and on MAP_PRIVATE|MAP_ANON in the special case of offset 0.
738
db49d0b5
CV
739Thu Feb 8 21:57:00 2001 Corinna Vinschen <corinna@vinschen.de>
740
741 * mmap.cc (class list): Add member `hash'.
742 (list::list): Initialize `hash'.
743 (list::get_list_by_fd): Use filepath hash value to get the correct
744 mapping list if it's not an anonymous mapping.
745 (map::add_list): Initialize `hash' with filepath hash value.
746 (mmap): Check for reusing a mapping only on MAP_SHARED.
747
91d385fe
CF
748Wed Feb 7 18:47:36 2001 Christopher Faylor <cgf@cygnus.com>
749
750 * signal.cc (killpg): Correct first argument.
751
9182099c
CV
752Wed Feb 7 22:22:00 2001 Corinna Vinschen <corinna@vinschen.de>
753
754 * autoload.cc: Add LoadDLLinitfunc for iphlpapi.dll.
755 Add LoadDLLfuncEx statements for GetIfTable@12 and GetIpAddrTable@12.
756 * fhandler_socket.cc (fhandler_socket::ioctl): Move variable
757 definitions to the beginning of the function to allow better debugging.
758 Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC and SIOCGIFMTU.
759 * net.cc: Include iphlpapi.h.
760 (get_2k_ifconf): Rewritten. Uses IP Helper API now.
761 (get_nt_ifconf): Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC
762 and SIOCGIFMTU.
763 (get_95_ifconf): Ditto. Renamed from `get_9x_ifconf'.
764 (get_ifconf): Name loopback `lo' instead of `lo0' as in Linux.
765 Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC and SIOCGIFMTU.
766 Call `get_95_ifconf' only on Windows 95, `get_nt_ifconf' only
767 on Windows NT < Service Pack 3, `get_2k_ifconf otherwise.
768 * include/asm/socket.h: Add defines for SIOCGIFHWADDR, SIOCGIFMETRIC
769 and SIOCGIFMTU.
770 * include/cygwin/if.h: Add `ifr_hwaddr', `ifr_metric' and `ifr_mtu'.
771 (struct ifreq): Add `ifru_hwaddr'.
772
d7ed877b
CV
773Tue Feb 6 15:04:00 2001 Corinna Vinschen <corinna@vinschen.de>
774
775 * syscalls.cc (stat_worker): Add a check for the special case when
776 a process creates a file using mode 000 using ntsec.
777
ae9b22c6
CV
778Mon Feb 5 17:00:00 2001 Corinna Vinschen <corinna@vinschen.de>
779
780 * fhandler.cc (fhandler_base::open): Always add GENERIC_READ access
781 when opening raw disk devices.
782 * fhandler_floppy.cc (fhandler_dev_floppy::lseek): Implement bytewise
783 access.
784 * fhandler_raw.cc (fhandler_dev_raw::open): Always open raw disk device
785 binary.
786 (fhandler_dev_raw::raw_write): Don't drop read buffer content when
787 writing after read.
788
cada03f9
CV
789Mon Feb 5 13:30:00 2001 Corinna Vinschen <corinna@vinschen.de>
790
791 * mmap.cc (mmap_record::fixup_map): New method to duplicate
792 the memory protection in a just forked child.
793 (mmap): Realign gran_len to page boundary only on anonymous
794 mapping before saving in the mmap_record.
795 (munmap): Cleanup code.
796 (msync): Ditto.
797 (fixup_mmaps_after_fork): Ditto. Call mmap_record::fixup_map now.
798
47f81092
CF
799Thu Feb 1 23:08:29 2001 Christopher Faylor <cgf@cygnus.com>
800
801 * cygheap.cc (creturn): Correctly calculate cygheap_max.
802
f8da1507
CF
803Wed Jan 31 10:04:58 2001 Christopher Faylor <cgf@cygnus.com>
804
805 * shared.cc (shared_info::initialize): Reduce size of heap.
806
83443511
CV
807Wed Jan 31 13:22:00 2001 Corinna Vinschen <corinna@vinschen.de>
808
809 * include/sys/resource.h: Fix typo.
810
44e6d951
CV
811Wed Jan 31 13:20:00 2001 Corinna Vinschen <corinna@vinschen.de>
812
83443511 813 * include/sys/resource.h: Add RLIMIT_NLIMITS and RLIM_NLIMITS.
44e6d951 814
4f42df7b
CF
815Tue Jan 30 18:15:23 2001 Christopher Faylor <cgf@cygnus.com>
816
817 * include/cygwin/version.h: Bump version to 1.3.0.
818
9928a7e1
CV
819Tue Jan 30 8:55:00 2001 Corinna Vinschen <corinna@vinschen.de>
820
821 * pinfo.cc (pinfo::init): Use INVALID_HANDLE_VALUE instead of
822 explicit cast (HANDLE) 0xffffffff.
823 * shared.cc (open_shared): Ditto.
824
747e88d3
CF
825Mon Jan 29 17:15:22 2001 Bill Hegardt <bill@troyxcd.com>
826
827 * fhandler_serial.cc (raw_write): Use local copy of OVERLAPPED
828 structure instead of shared structure to fix a race condition between
829 read/write.
830
68ea0dc2
CV
831Mon Jan 29 14:30:00 2001 Corinna Vinschen <corinna@vinschen.de>
832
833 * mmap.cc (mmap): Remove obsolete check for MAP_SHARED|MAP_ANON as
834 being invalid.
835
f977222f
CV
836Mon Jan 29 10:23:00 2001 Corinna Vinschen <corinna@vinschen.de>
837
838 * mmap.cc (mmap_record::find_empty): Fix loop condition.
839
6a4878cf
CF
840Sun Jan 28 19:40:40 2001 Christopher Faylor <cgf@cygnus.com>
841
842 * syscalls.cc (_link): Make sure that newpath does not exist. Set
843 errno if it does.
844
845Sun Jan 28 19:29:08 2001 Christopher Faylor <cgf@cygnus.com>
846
847 * cygheap.cc (init_cheap): Don't specify a load address for the heap.
848 It doesn't work on #!*& Windows 9x.
849 (cygheap_init): Move GetUserName to memory_init.
850 * dcrt0.cc (dll_crt0_1): Call new memory_init functin, eliminate call
851 to heap_init.
852 * heap.cc (heap_init): Improve error output.
853 * heap.h: Correct some declarations.
854 * shared.cc (mount_table_init): Remove.
855 (memory_init): Renamed from shared_init. Reorganize to accomodate
856 strange Windows 9x problems with cygheap/heap interaction.
857 * shared_info.h: Rename shared_init to memory_init.
858
ae6c8e4f
CF
859Sun Jan 28 01:25:33 2001 Christopher Faylor <cgf@cygnus.com>
860
861 * include/cygwin/version.h: Bump API version.
862
9a089f21
CF
863Sun Jan 28 01:18:22 2001 Christopher Faylor <cgf@cygnus.com>
864
865 * cygheap.cc (init_cheap): Move username initialization.
866 (cygheap_init): Here.
867 * shared_info.h (mount_info): Add a sys_mount_table_counter field.
868 (shared_info): Ditto.
869 * path.cc (mount_info::conv_to_win32_path): Check that our mount table
870 is in sync with the system mount table and reinitialize it if not.
871 (mount_info::add_reg_mount): Bump sys_mount_table counters if the
872 system mount table changes.
873 (mount_info::del_reg_mount): Ditto.
874 (mount_info::write_cygdrive_info_to_registry): Ditto.
875 (mount_info::remove_cygdrive_info_from_registry): Ditto.
876
2a6fc028
CF
877Sun Jan 28 00:28:30 2001 Christopher Faylor <cgf@cygnus.com>
878
879 Throughout, change 'cygwin_shared.mount' to 'mount_table'.
880 * child_info.h (child_info): Move shared_h, console_h to cygheap. Add
881 mount_h.
882 * cygheap.h (init_cygheap): Add shared_h, console_h.
883 * cygheap.cc (init_cheap): Initialize heap at a fixed location after
884 the shared memory regions. Initialize cygheap->user name here.
885 * dcrt0.cc (dll_crt0_1): Call getpagesize () to initialize constants.
886 Remove cygheap_init since it is done in shared_init now.
887 (_dll_crt0): Initialize mount_h, remove shared_h and console_h
888 initialization.
889 * fhandler_console.cc (console_shared_h): Eliminate.
890 (get_tty_stuff): Use cygheap->console_h rather than console_shared_h.
6a4878cf
CF
891 * heap.cc (heap_init): Use page size constant calculated earlier in
892 initialization.
2a6fc028
CF
893 * shared.cc: Eliminate cygwin_shared_h. Add cygwin_mount_h.
894 (mount_table_init): New function for initializing a user mount table.
6a4878cf
CF
895 (open_shared_file_map): Use constant for shared memory region.
896 Initialize cygheap and mount table here.
2a6fc028
CF
897 (open_shared): Improve debugging output.
898 (shared_info::initialize): Eliminate call to mount.init.
899 (shared_terminate): Use cygheap->shared_h. Close cygwin_mount_h.
900 (open_shared_file_map): Eliminate.
901 * shared_info.h (mount_info): Add a version field.
6a4878cf
CF
902 (shared_align_past): New macro for calculating location for shared
903 memory regions.
2a6fc028 904 * sigproc.cc (init_child_info): Eliminate shared_h, console_h.
6a4878cf
CF
905 * spawn.cc (spawn_guts): Pass on cygwin_mount_h iff not a different
906 user.
2a6fc028
CF
907 * syscalls.cc (system_info): New global holding system memory defaults.
908 (getpagesize): Use system_info.
909 * uinfo.cc (internal_getlogin): Only fill in user name if nonexistent.
910 * winsup.h: Declare system_info.
911
6a4878cf
CF
912 * passwd.cc (read_etc_passwd): Use cygheap->user.name () rather than
913 retrieving the name again.
2a6fc028 914
bdfeca60
CF
915Sat Jan 27 10:18:02 2001 Christopher Faylor <cgf@cygnus.com>
916
917 * path.cc (path_conv::check): Detect when path has symlinks.
918 (symlink_info::check): Remove debugging stuff.
919 (chdir): Use posix'ized win32 path if cd'ed to a path using symlinks.
920
206a8d88
CF
921Fri Jan 26 21:20:28 2001 Christopher Faylor <cgf@cygnus.com>
922
923 * exceptions.cc (sigreturn): Call any pending signals prior to
924 resetting the signal mask so that stacked signals behave correctly.
925 (sigdelayed): Avoid a race where a signal could end up calling an
926 incorrect signal handler if two signals come in close together.
927
174f1a39
CV
928Tue Jan 23 21:56:00 2001 Corinna Vinschen <corinna@vinschen.de>
929
930 * mmap.cc (fhandler_disk_file::mmap): Call CreateFileMapping with
931 len != 0 only when performing an anonymous mapping.
932
4c7b8250
CF
933Mon Jan 22 15:35:28 2001 Christopher Faylor <cgf@cygnus.com>
934
935 * path.h: Add a new constant.
936 * syscalls.cc (_read): Oscillate errno check.
937
c65a3183
CF
938Mon Jan 22 15:27:12 2001 Christopher Faylor <cgf@cygnus.com>
939
940 * include/cygwin/version.h: Bump API to reflect setlogmask.
941
29c39fe3
CF
942Sun Jan 21 22:40:25 2001 Jason Tishler <jt@dothill.com>
943
944 * cygwin.din: Add export for setlogmask().
945 * syslog.cc (setlogmask): New function.
946
c807d355
CV
947Thu Jan 18 10:27:00 2001 Corinna Vinschen <corinna@vinschen.de>
948
949 * resource.cc (setrlimit): Support RLIMIT_NOFILE.
950
4e2a97b2
CF
951Wed Jan 17 23:23:12 2001 Christopher Faylor <cgf@cygnus.com>
952
953 * syscalls.cc (setdtablesize): Call with amount to increment not total
954 amount. Return success or failure error code.
955
a7cde2b9
CF
956Wed Jan 17 09:47:13 2001 Christopher Faylor <cgf@cygnus.com>
957
958 * autoload.cc (LoadDLLinitfunc): Remove debugging statement.
959
960 * exceptions.cc (sig_handle_tty_stop): Move setting of PID_STOPPED to
961 earlier in interrupt.
962 ((interrupt_setup): i.e., here.
963 (sig_handle): Don't queue multiple SIGSTOPS.
964 * fhandler.h (bg_check_types): Enumerate return value of bg_check for
965 clarity.
966 * signal.cc (kill_pgrp): Minor cleanup.
967 * fhandler_termios.cc (fhandler_termios::bg_check): Use enumerated type
968 for function return. Don't raise signal if a signal is already queued.
969 * fhandler_console.cc (fhandler_console::read): Use enumerated return
970 type for bg_check.
971 * select.cc: Ditto, throughout.
972 * read.cc: Ditto, throughout.
973 * termios.cc: Ditto, throughout.
974 (_read): YA interrupt detect simplification.
975 * wait.cc (wait4): Ditto.
976
cb503978
CV
977Wed Jan 17 10:56:00 2001 Corinna Vinschen <corinna@vinschen.de>
978
979 * cygheap.cc (cygheap_user::~cygheap_user): Temporarily
980 disable free'ing memory.
981
9fedfd57
CV
982Tue Jan 16 18:01:00 2001 Corinna Vinschen <corinna@vinschen.de>
983
984 * mmap.cc (mmap): Initialize fh to avoid compiler warnings.
985
9470a80c
CF
986Mon Jan 15 21:07:00 2001 Christopher Faylor <cgf@cygnus.com>
987
988 * wait.cc (wait4): Rename variable for consistency. Allow restartable
989 signal behavior.
990
9334c89c
CV
991Mon Jan 15 23:15:00 2001 Corinna Vinschen <corinna@vinschen.de>
992
993 * mmap.cc (mmap): Add more parameter checking. Change error output
994 in case of EINVAL. Treat mmapping /dev/zero like MAP_ANONYMOUS.
995
c6dd43f2
CV
996Mon Jan 15 20:34:00 2001 Corinna Vinschen <corinna@vinschen.de>
997
998 * mmap.cc: include <unistd.h>. Define some bit operations for
999 the new page map.
1000 (mmap_record): Change type of base_address_ to caddr_t.
1001 Add map_map_ member. Add several methods to manipulate map_map_.
1002 (mmap_record::alloc_map): New method.
1003 (mmap_record::free_map): Ditto.
1004 (mmap_record::find_empty): Ditto.
1005 (mmap_record::map_map): Ditto.
1006 (mmap_record::unmap_map): Ditto.
1007 (list::add_record): Change return type to `mmap_record *'.
1008 Allocate page map.
1009 (list::match): New method.
1010 (mmap): Partly rewritten to take care for the new page map. Add some
1011 parameter checking.
1012 (munmap): Ditto.
1013
66097f06
CV
1014Mon Jan 15 13:50:00 2001 Corinna Vinschen <corinna@vinschen.de>
1015
1016 * heap.cc (heap_init): Fix extern declaration of getpagesize.
1017 * syscalls.cc (getpagesize): Fix another typo.
1018
dc3651b6
CV
1019Mon Jan 15 12:48:00 2001 Corinna Vinschen <corinna@vinschen.de>
1020
1021 * syscalls.cc (getpagesize): Save pagesize in global variable to
1022 avoid calling GetSystemInfo too often.
1023 * heap.cc (getpagesize): Eliminate.
1024 (heap_init): Use getpagesize function from syscalls.cc.
1025
4cf2c0e0
CV
1026Mon Jan 15 11:56:00 2001 Corinna Vinschen <corinna@vinschen.de>
1027
1028 * sysconf.cc (sysconf): return `getpagesize ()' on _SC_PAGESIZE
1029 request to avoid implementing the same twice.
1030
a3ec080b
CF
1031Sun Jan 14 14:07:50 2001 Christopher Faylor <cgf@cygnus.com>
1032
1033 * syscalls.cc (_read): Use more lightweight method for determining if
1034 read has been interrupted by a signal.
1035
c3d62298
CF
1036Fri Jan 12 00:35:15 2001 Christopher Faylor <cgf@cygnus.com>
1037
1038 * debug.h: Add regparm attributes to some functions.
1039
1040 * signal.cc (sigaction): Don't treat SIGCONT specially.
1041
6a4878cf
CF
1042 * exceptions.cc (interrupt_setup): Save sa_flags of interrupted signal
1043 for later use.
c3d62298
CF
1044 (sig_handler): Default any stopping signal to SIGSTOP.
1045 (call_signal_handler): New function.
1046 (sigdelayed0): New function.
6a4878cf
CF
1047 * sigproc.cc (sigproc_init): Initialize SIGSTOP sigaction for special
1048 behavior.
c3d62298
CF
1049 * sigproc.h: Define call_signal_handler.
1050 * syscalls.cc (_read): Allow restartable signal behavior.
1051
c4efddf6
CV
1052Thu Jan 11 13:17:00 2001 Corinna Vinschen <corinna@vinschen.de>
1053
1054 * fhandler.h (fhandler_base): New method `fixup_mmap_after_fork'.
1055 (fhandler_disk_file: Ditto.
1056 (fhandler_dev_mem): Ditto.
1057 * fhandler_mem.cc (fhandler_dev_mem::open): Set OBJ_INHERIT attribute
1058 for device\physicalmemory handle.
1059 (fhandler_dev_mem::mmap): Ditto.
6a4878cf
CF
1060 * fhandler_mem.cc (fhandler_dev_mem::fixup_mmap_after_fork): New
1061 method.
1062 * mmap.cc (mmap_record): Add private `fdesc_' member. Change
1063 constructor accordingly.
c4efddf6
CV
1064 (get_fd): New method.
1065 (mmap): Use new mmap_record constructor.
1066 (fhandler_base::fixup_mmap_after_fork): New method.
1067 (fhandler_disk_file::fixup_mmap_after_fork): Ditto.
6a4878cf 1068 (fixup_mmaps_after_fork): Call `fixup_mmap_after_fork' of appropriate
c4efddf6
CV
1069 fhandler class.
1070
7416e1d2
CF
1071Wed Jan 10 22:08:30 2001 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
1072
1073 * sigproc.cc (wait_sig): Allow SIGCONT when stopped.
1074
55ae1dff
CV
1075Tue Jan 9 16:55:00 2001 Corinna Vinschen <corinna@vinschen.de>
1076
1077