]> sourceware.org Git - newlib-cygwin.git/blame - winsup/cygwin/ChangeLog
* configure.in (noconfigdirs) [*-cygwin*, *-mingw*, *-beos]: Disable
[newlib-cygwin.git] / winsup / cygwin / ChangeLog
CommitLineData
6c22ecdd
CV
1Thu May 3 18:16:00 2001 Corinna Vinschen <corinna@vinschen.de>
2
3 * net.cc (wsock_init): Rename `was_in_progress' to `wsock_started'
4 for clearness.
5
70c7f359
CF
6Thu May 3 10:44:16 2001 Christopher Faylor <cgf@cygnus.com>
7
8 * exceptions.cc (handle_exceptions): Break out of "loop" if the
9 debugger doesn't seem to be attaching to our process.
10
a6a0193b
CV
11Wed May 2 20:18:00 2001 Corinna Vinschen <corinna@vinschen.de>
12
13 * autoload.cc: Use new definition of LoadDLLinitfunc throughout.
14 Redefine wrapper for wsock32.dll and ws2_32.dll.
15 (std_dll_init): New function.
16 * autoload.h: Rename LoadDLLinitfunc to LoadDLLinitfuncdef.
17 Add new defines LoadDLLinitfunc and LoadDLLstdfunc.
18 * net.cc (wsock_init): Add guard variable handling. Take care
19 to call WSAStartup only once. Load WSAStartup without using
20 autoload wrapper to eliminate recursion. Eliminate FIONBIO
21 and srandom stuff.
22
4c265f4a
CF
23Tue May 1 01:26:15 2001 Christopher Faylor <cgf@cygnus.com>
24
25 * path.cc (mount_info::conv_to_win32_path): More path tweaking.
26
beab320f
CF
27Tue May 1 00:34:46 2001 Christopher Faylor <cgf@cygnus.com>
28
29 * path.cc (mount_info::conv_to_win32_path): Fix debugging output to
30 avoid a SIGSEGV. Avoid double backslashes in middle of filename.
31
d3c7e9de
CF
32Mon Apr 30 21:51:14 2001 Christopher Faylor <cgf@cygnus.com>
33
34 * path.cc (mkrelpath): New function.
35 (mount_info::conv_to_win32_path): Eliminate now-unneeded relative path
36 name arg and processing.
37 (path_conv::check): Accomodate relative path names again. Accomodate
38 one extra argument in mount_info::conv_to_win32_path. Tack trailing
39 slash on end of relative path as a side effect, like before.
40 * shared_info.h (mount_info::conv_to_win32_path): Reflect new argument
41 ordering.
42
57ff940d
CV
43Mon Apr 30 22:09:00 2001 Corinna Vinschen <corinna@vinschen.de>
44
45 * autoload.cc: Add LoadDLLinitfunc for secur32.dll.
46 Add LoadDLLfuncEx statements for AllocateLocallyUniqueId@4,
47 DuplicateTokenEx@24, LsaNtStatusToWinError@4,
48 LsaDeregisterLogonProcess@4, LsaFreeReturnBuffer@4,
49 LsaLogonUser@56, LsaLookupAuthenticationPackage@12,
50 LsaRegisterLogonProcess@12,
51 * environ.cc: Add extern declaration for `subauth_id'.
52 (subauth_id_init): New function for setting `subauth_id'.
53 (struct parse_thing): Add entry for `subauth_id'.
54 * fork.cc (fork_parent): Call `RevertToSelf' and
55 `ImpersonateLoggedOnUser' instead of `seteuid'.
56 * security.cc: Define global variable `subauth_id'.
57 (extract_nt_dom_user): New function.
58 (cygwin_logon_user): Call `extract_nt_dom_user' now.
59 (str2lsa): New static function.
60 (str2buf2lsa): Ditto.
61 (str2buf2uni): Ditto.
62 (subauth): Ditto.
63 * security.h: Add prototype for `subauth'.
64 * spawn.cc (spawn_guts): Use cygheap->user.token only if impersonated.
65 Use `cygsid' type. Remove impersonation before allowing access to
66 workstation/desktop to everyone. Call `RevertToSelf' and
67 `ImpersonateLoggedOnUser' instead of `seteuid'.
68 * syscalls.cc (seteuid): Rearranged to allow using subauthentication
69 to retrieve user tokens when needed.
70
965cecdf
CV
71Mon Apr 30 20:26:00 2001 Corinna Vinschen <corinna@vinschen.de>
72
73 * uinfo.cc (internal_getlogin): Formatting change.
74
17db1105
CV
75Mon Apr 30 19:58:00 2001 Corinna Vinschen <corinna@vinschen.de>
76
77 * grp.cc: Eliminate MAX_DOMAIN_NAME define.
78 (read_etc_group): Substitute MAX_DOMAIN_NAME by
79 INTERNET_MAX_HOST_NAME_LENGTH.
80 * passwd.cc (parse_pwd): Don't force pw_name to be lower case.
81 * sec_helper.cc: Substitute MAX_USER_NAME by UNLEN,
82 MAX_COMPUTERNAME_LENGTH by INTERNET_MAX_HOST_NAME_LENGTH throughout.
83 (lookup_name): Slight cleanup.
84 * security.cc (alloc_sd): Substitute MAX_USER_NAME by UNLEN.
85 * security.h: Define DEFAULT_UID as DOMAIN_USER_RID_ADMIN and
86 DEFAULT_GID as DOMAIN_ALIAS_RID_ADMINS.
87 * shared.cc (memory_init): Substitute MAX_USER_NAME by UNLEN.
88 * thread.h: Ditto.
89 * uinfo.cc (internal_getlogin): Substitute MAX_USER_NAME by UNLEN.
90 Substitute MAX_COMPUTERNAME_LENGTH and MAX_HOST_NAME by
91 INTERNET_MAX_HOST_NAME_LENGTH.
92 * winsup.h: Include lmcons.h. Eliminate MAX_USER_NAME and
93 MAX_HOST_NAME. Move DEFAULT_UID and DEFAULT_GID to security.h.
94
c0a45b92
CF
95Mon Apr 30 12:35:40 2001 Christopher Faylor <cgf@cygnus.com>
96
97 * path.cc (path_conv::check): Don't use path_flags when converting to
98 MS-DOS syntax unless parsing tail of path component. Stop parsing path
99 when we reach the 'root' of the path. Correctly copy tail to path
100 component.
101
8abeff1e
CF
102Sun Apr 29 22:28:06 2001 Christopher Faylor <cgf@cygnus.com>
103
104 * exceptions.cc (INIT_EXCEPTION_HANDLER): Eliminate.
105 (init_exceptions): Just use init_exception_handler.
106 (open_stackdumpfile): New function.
107 (stack_info::first_time): Eliminate.
108 (stack_info::init): Set up fields to avoid "first_time" consideration.
109 (stack_info::walk): Remove "first_time" consideration.
110 (stackdump): Change arguments to accept initial frame pointer and open
111 stack file flag.
112 (stack): Eliminate.
113 (cygwin_stackdump): Use stackdump() rather than stack().
114 (try_to_debug): Remove all synchronization logic. Just keep looping in
115 exception handler until debugger notices us. Return 1 if successfully
116 started debugger.
117 (handle_exceptions): Just return if we know that we're debugging.
118 Reorganize to avoid creating a stackdump file if we are starting a
119 debugger. Return from exception handler if debugger started
120 successfully.
121 (sig_handle): Create a stackdump only if debugger wasn't started.
122 * winsup.h (try_to_debug): Add an argument.
123
2b5803d4
CF
124Sun Apr 29 21:41:25 2001 Christopher Faylor <cgf@cygnus.com>
125
126 * path.cc (symlink_info::check): Remove extra arguments, move
127 functionality back to path_conv::check. Clear symlink bit from pflags
128 argument before detecting if this is a symlink.
129 (path_conv::check): Convert posix path here instead of
130 symlink_info::check. Only grab volflags when using ntsec.
131 (symlink_info::check_case): Just replace appropriate part of input
132 path.
133
b98ebf54
CF
134Sat Apr 28 19:36:13 2001 Christopher Faylor <cgf@cygnus.com>
135
136 Throughout, change 'tty_attached' to 'real_tty_attached', for clarity.
137 Throughout, change 'OutputStopped' to 'output_stopped', for
138 consistency.
139 * dtable.cc (stdio_init): Set controlling tty if not set by stdio
140 opens.
141 * exceptions.cc (ctrl_c_handler): Avoid special pgid checking if no tty
142 is associated with the process.
143 (Suggested by Tim Baker <dbaker@direct.ca>)
144 * external.cc (fillout_pinfo): Return actual tty number for ctty.
145 * fhandler_console.cc (get_tty_stuff): Set ctty when shared memory is
146 allocated. Accept flags input from open().
147 (set_console_ctty): New function.
148 (fhandler_console::open): Pass flags to get_tty_stuff and rely on this
149 function to set the ctty, if appropriate.
150 * fhandler_termios.cc (fhandler_termios::set_ctty): Move to tty_min
151 class.
152 * fhandler_tty.cc (fhandler_tty_slave::open): Use tc field to access
153 set_ctty().
154 * tty.h (TTY_CONSOLE): Move to include/sys/cygwin.h.
155 (tty_min): Add set_ctty class here.
156 * include/sys/cygwin.h (TTY_CONSOLE): New home here.
157
158 * path.cc (symlink_info): Make contents an actual buffer. Pass more
159 flags to case_check.
160 (path_conv::check): Reorganize to do parsing based on posix path rather
161 than native path.
162 (symlink_info::check): Expect posix path as input. Translate to native
163 path here. Accept path_conv flags. Stop parsing if not a symlink
164 regardless of whether previous path was a symlink.
165
cba63823
CF
1662001-04-27 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
167
168 * thread.cc (thread_init_wrapper): Use _REENT_INIT to initialize the
169 reent structure of newlib.
170
171Fri Apr 27 14:02:24 2001 Christopher Faylor <cgf@cygnus.com>
172
173 * sigproc.h (sig_send): Add exception parameter to sig_send.
174 * sigproc.cc (sig_send): Ditto. Use it when setting frame info.
175 * exceptions.cc (handle_exceptions): Use exception flag when calling
176 sig_send.
177
a069f560
ED
1782001-04-27 Egor Duda <deo@logos-m.ru>
179
180 * tty.cc (tty::make_pipes): Set to_slave pipe mode to nonblocking.
181 * fhandler_tty.cc (fhandler_pty_master::accept_input): If pipe buffer
182 is full, give slave a chance to read data.
183
22ae5a5b
CV
1842001-04-26 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
185
186 * security.cc (alloc_sd): Add unrelated ACCESS_ALLOWED_ACE behind
187 the `everyone' ACE.
188
968d91b2
CF
189Wed Apr 25 15:07:37 2001 Christopher Faylor <cgf@cygnus.com>
190
191 * sigproc.h [sigthread]: Add exception field. [sigframe::~sigframe]:
192 Clear exception field. [sigframe::set]: Set exception field from
193 caller.
194 * sigproc.cc (sig_send): Set exception field when frame pointer is
195 passed in.
196 * exceptions.cc (interrupt_on_return): Always treat exception as
197 interruptible.
198
86699e15
ED
1992001-04-25 Egor Duda <deo@logos-m.ru>
200
201 * cygwin.din: Export asctime_r, ctime_r, gmtime_r, localtime_r
202 * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 39
203
edc4bfd9
CF
204Wed Apr 25 10:57:36 2001 Christopher Faylor <cgf@cygnus.com>
205
206 * include/cygwin/version.h: Bump minor version number.
207 * childinfo.h: Bump child structure magic number.
208
feae8d0e
CV
2092001-04-25 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
210
211 * uinfo.cc (internal_getlogin): Return pointer to struct passwd.
212 (uinfo_init): Accommodate the above change.
213 * syscalls.cc (seteuid): Ditto.
214
d551169a
CV
215Tue Apr 25 11:08:00 2001 Corinna Vinschen <corinna@vinschen.de>
216
217 * autoload.cc: Add LoadDLLfunc statements for SetTokenInformation@16.
218 * cygheap.cc: Include security.h.
219 * grp.cc (internal_getgrent): New function.
220 (getgroups): Rearranged using `internal_getgrent' and the new
221 `cygsid' class.
222 * passwd.cc (internal_getpwent): New function.
223 * sec_acl.cc: Use new `cygsid' class throughout.
224 (acl_access): Use `internal_getgrent' instead of `getgrent'.
225 * sec_helper.cc: Use new `cygsid' class throughout.
226 (get_id_from_sid): Use `internal_getgrent' instead of `getgrent'.
227 Use `internal_getpwent' instead of `getpwent'.
228 * security.cc: Use new `cygsid' class throughout.
229 * security.h: Move `MAX_SID_LEN' from winsup.h to here.
230 Add extern declarations for `internal_getgrent' and `internal_getpwent'.
231 (class cygsid): New class.
232 * shared.cc (sec_user): Use new `cygsid' class.
233 * syscalls.cc (seteuid): Try to set owner to user and primary group to
234 current group in impersonation token before performing impersonation.
235 (setegid): Try to set primary group in process token to the new group
236 if ntsec is on.
237 * uinfo.cc (internal_getlogin): Use new `cygsid' class.
238 Try to set owner to user and primary group to current group in process
239 token if the process has been started from a non cygwin process.
240 (uinfo_init): Set primary group only if the process has been started
241 from a non cygwin process.
242 * winsup.h: Move define for `MAX_SID_LEN' to security.h.
243
3a6e9668
CV
244Mon Apr 16 23:20:00 2001 Andy Younger <andylyounger@hotmail.com>
245
246 * fhandler_dsp.cc: Improved handling of 8 bit playback modes.
247 Put in mock support for SNDCTL_DSP_SETFRAGMENT.
248
b7cf6a2f
CV
249Tue Apr 24 23:51:00 2001 Corinna Vinschen <corinna@vinschen.de>
250
251 * passwd.cc (getpwnam_r): Add pw_passwd handling as well.
252 (getpwuid_r): Ditto.
253
3c73ae1c
CV
254Tue Apr 24 23:43:00 2001 Corinna Vinschen <corinna@vinschen.de>
255
256 * passwd.cc (getpwnam_r): Use correct offsets into buffer.
257 Copy pw_gecos field as well.
258 (getpwuid_r): Ditto.
259
8db71e01
ED
2602001-04-24 Egor Duda <deo@logos-m.ru>
261
262 * dlmalloc.c: New file. Port of Doug Lea's malloc
263 * dlmalloc.h: Ditto.
264 * Makefile.in: Add support for MALLOC_DEBUG
265 * config.h.in: Ditto.
266 * winsup.h: Ditto.
267 * configure.in: Add --enable-malloc-debugging option.
268 * configure: Regenerate.
269 * debug.h: Include declarations for debugging malloc.
270 * tty.cc (grantpt): Fix definition.
271 (unlockpt): Ditto.
272
f3ea62a8
CF
273Mon Apr 23 22:00:29 2001 Christopher Faylor <cgf@cygnus.com>
274
275 Remove trailing underscore from fhandler_base and friends, throughout.
276 * fhandler.h (fhandler_base::set_open_status): New method. Stores
277 original open status.
278 (fhandler_base::get_open_status): New method. Retrieves original open
279 status.
280 (fhandler_base::reset_to_open_binmode): New method.
281 * fhandler.cc (fhandler_base::open): Save open status.
282 (fhandler_base::init): Ditto.
283 * fhandler_clipboard.cc (fhandler_clipboard::open): Ditto.
284 * fhandler_console.cc (fhandler_console::open): Ditto.
285 * fhandler_dsp.cc (fhandler_dsp::open): Ditto.
286 * fhandler_dev_mem.cc (fhandler_dev_mem::open): Ditto.
287 * fhandler_dev_random.cc (fhandler_dev_random::open): Ditto.
288 * fhandler_serial.cc (fhandler_serial::open): Ditto.
289 * fhandler_tty_slave.cc (fhandler_tty_slave::open): Ditto.
290 * fhandler_tty_master.cc (fhandler_tty_master::open): Ditto.
291 * fhandler_dev_zero.cc (fhandler_dev_zero::open): Ditto.
292 * syscalls.cc (setmode): Rework so that 0 mode value causes reversion
293 to open state.
294
295 * fhandler_tty_slave.cc (fhandler_tty_slave::read): Use correct
296 multiplier when converting from deciseconds to milliseconds.
297
9cf9c146
CF
298Mon Apr 23 13:28:35 2001 Christopher Faylor <cgf@cygnus.com>
299
300 * fhandler.h (fhandler_base::clear_r_binary): New method.
301 (fhandler_base::clear_w_binary): New method.
302 * syscalls.cc (setmode): Accept 0 as mode value. Resets text/binary
303 behavior for fd to default.
304
f940c5b1
CF
305Mon Apr 23 12:46:07 2001 Christopher Faylor <cgf@cygnus.com>
306
307 * net.cc [errmap]: Add '0' condition.
308 (find_winsock_errno): Don't translate no error to EPERM.
309
c02e9189
CF
310Sun Apr 22 20:48:24 2001 Christopher Faylor <cgf@cygnus.com>
311
312 * include/cygwin/version.h: Bump Cygwin version and API version.
313
9672024b
RC
314Mon Apr 23 9:27:00 2001 Robert Collins <rbtcollins@hotmail.com>
315
316 * thread.cc (MTinterface::Init): Always initialise per process variables.
317
1acf5c29
CF
318Sun Apr 22 19:18:18 2001 Christopher Faylor <cgf@cygnus.com>
319
320 * features.h: Reinstate as wrapper for sys/features.h.
321
b2652452
CV
322Mon Apr 23 0:10:00 2001 Corinna Vinschen <corinna@vinschen.de>
323
324 * security.cc (alloc_sd): Reformat comment.
325 * shared.cc: Drop function declarations already in security.h.
326
96dc5dd7
CF
327Sun Apr 22 12:17:57 2001 Christopher Faylor <cgf@cygnus.com>
328
329 * shortcut.c (check_shortcut): Close input file handle before
330 returning.
331 * path.cc (check_sysfile): Ditto.
332 (symlink_info::check): Rely on opened file handle being closed by
333 symlink checking routines. Set ext_tacked_on when .lnk is detected.
334
da77d416
CF
335Sat Apr 21 19:26:05 2001 Christopher Faylor <cgf@cygnus.com>
336
337 * thread.cc (MTinterface::Init): Remove accidentally checked in code.
338
9450ad0d
RC
339Sun Apr 22 00:22:00 2001 Robert Collins <rbtcollins@hotmail.com>
340
341 * passwd.cc (getpwuid): Check for thread cancellation.
342 (getpwuid_r): Ditto.
343 (getpwname): Ditto.
344 (getpwnam_r): Ditto.
345 * thread.h (pthread_mutex): New constructors for pshared operation.
346 (MTinterface): Associative array for pshared mutex's.
347 * thread.cc (MTinterface::Init): Initailize pshared mutex array.
348 (pthread_cond::BroadCast): Implementation notes.
349 (pthread_cond::TimedWait): Remove use of SignalObjectAndWait on non-NT systems.
350 (pthread_mutex::pthread_mutex(unsigned short)): New function.
351 (pthread_mutex::pthread_mutex (pthread_mutex_t *, pthread_mutexattr *)):New function.
352 (pthread_mutex::pthread_mutex(pthread_mutexattr *)): Fail on pshared mutex's.
353 (__pthread_mutex_getpshared): New function.
354 (__pthread_join): Check for thread cancellation.
355 (__pthread_cond_timedwait): Support pshared mutex's.
356 (__pthread_cond_wait): Ditto.
357 (__pthread_condattr_setpshared): Error on PROCESS_SHARED requests.
358 (__pthread_mutex_init): Support pshared mutex's.
359 (__pthread_mutex_getprioceiling): Ditto.
360 (__pthread_mutex_lock): Ditto.
361 (__pthread_mutex_trylock): Ditto.
362 (__pthread_mutex_unlock): Ditto.
363 (__pthread_mutex_destroy): Ditto.
364 (__pthread_mutex_setprioceiling): Ditto.
365 (__pthread_mutexattr_setpshared): Support PTHREAD_PROCESS_PSHARED requests.
366
60326076
CF
367Fri Apr 20 19:38:29 2001 Christopher Faylor <cgf@cygnus.com>
368
369 * cygwin.din: Add *scanf and *scan_r functions.
370
3c8e92d9
CV
371Fri Apr 20 22:25:00 2001 Corinna Vinschen <corinna@vinschen.de>
372
373 * security.cc (set_process_privileges): Swap out.
374 * sec_helper.cc (set_process_privilege): Rename from
375 `set_process_privileges'. Takes the privilege to enable or disable
376 as parameter now.
377 * security.h: Add prototype for `set_process_privileges'.
378
b9815dc3
CF
3792001-04-19 Egor Duda <deo@logos-m.ru>
380
381 * path.cc (path_conv::check): Always initialize member variables.
382
cbd88687
CF
383Fri Apr 20 12:27:49 2001 Christopher Faylor <cgf@cygnus.com>
384
385 * include/sys/file.h: More cleanup for X_OK.
386
cdcfe4e8
CF
387Fri Apr 20 11:48:45 2001 Christopher Faylor <cgf@cygnus.com>
388
389 * include/sys/file.h: Move X_OK protection earlier.
390
391 * dtable.cc (dtable::vfork_child_fixup): Avoid closing already closed
392 handles.
393
bfbc1aec
CV
394Fri Apr 20 16:29:00 2001 Corinna Vinschen <corinna@vinschen.de>
395
396 * grp.cc (getgroups): Change so that SIDs get compared instead
397 of strings to SIDs.
398
c0d1968a
CV
399Fri Apr 20 14:50:00 2001 Corinna Vinschen <corinna@vinschen.de>
400
401 * Makefile.in: Add object files `sec_helper.cc' and `sec_acl.cc'.
402 * security.cc: Swap out several functions.
403 * sec_acl.cc: New file. Move Sun compatibel ACL functions from
404 `security.cc' to here.
405 * sec_helper.cc: New file. Move security helper functions from
406 `security.cc' to here.
407 * security.h: Changed to accomodate the above changes.
408
409Fri Apr 20 14:12:00 2001 Corinna Vinschen <corinna@vinschen.de>
410
411 * grp.cc: Replace `group_in_memory_p' by `group_state'.
412 Eliminate group_sem throughout.
413 (enum grp_state): New enumeration type.
414 (read_etc_group): Make race safe.
415 * security.cc: Eliminate group_sem throughout.
416
b78d6f6e
CV
417Thu Apr 19 9:40:00 2001 Corinna Vinschen <corinna@vinschen.de>
418
419 * mmap.cc (mmap): Drop usage of the same memory area if the same
420 region of the same file is mapped twice.
421
0381fec6
CF
422Wed Apr 18 16:53:54 2001 Christopher Faylor <cgf@cygnus.com>
423
424 Throughout, change fdtab references to cygheap->fdtab.
425 * child_info.h (cygheap_exec_info): Eliminate special fdtab stuff.
426 * spawn.cc (spawn_guts): Ditto.
427 * cygheap.cc (cygheap_init): Initialize fdtab, if appropriate.
428 * cygheap.h (CYGHEAPSIZE): Include size of init_cygheap.
429 (_cmalloc_entry): Include fdtab here.
430 * dtable.h (dtable): Declare/define new methods.
431 * dtable.cc (dtable::vfork_child_fixup): New method.
432 (dtable::fixup_after_exec): Remove unneeded extra arguments.
433 * dcrt0.cc (dll_crt0_1): Ditto.
434
435 * environ.cc (getwinenv): Use case sensitive comparison.
436 (winenv): Make a copy of environment cache to avoid realloc problems
437 when duplicate environment variables exist in the environment. (From
438 Egor Duda)
439
440 * net.cc (cygwin_socket): Revert Apr 14 change.
441
442 * include/sys/file.h: Protect against previous X_OK definition.
443
444Tue Apr 17 12:18:28 2001 Christopher Faylor <cgf@cygnus.com>
445
446 * passwd.cc: Eliminate passwd_sem throughout.
447 * security.cc: Ditto.
448
449Tue Apr 17 12:18:28 2001 Robert Collins <rbtcollins@hotmail.com>
450
451 * cygwin.din: Export New functions.
452 * passwd.cc (read_etc_passwd): Make race safe.
453 (getpwuid_r): New function.
454 (getpwnam_r): New function.
455
77c45b12
CV
4562001-04-18 Egor Duda <deo@logos-m.ru>
457
458 * grp.cc (getgroups): Avoid crash if passwd field if /etc/group is
459 empty.
460
4199e1e6
CF
461Tue Apr 17 19:05:44 2001 Christopher Faylor <cgf@cygnus.com>
462
463 * path.h (path_conv::add_ext_from_sym): Declare.
464 * path.cc (path_conv::add_ext_from_sym): Convert to pure inline method.
465
e6629a8a
CV
466Tue Apr 17 18:50:00 2001 Corinna Vinschen <corinna@vinschen.de>
467
468 * path.cc (windows_device_names): Add missing NULL element.
469
adfd477d
CF
470Tue Apr 17 12:14:54 2001 Christopher Faylor <cgf@cygnus.com>
471
472 * path.cc (windows_device_names): Move dsp to proper location.
473
8aefe7c0
CV
474Tue Apr 17 13:44:00 2001 Corinna Vinschen <corinna@vinschen.de>
475
476 * path.cc (path_conv::check): Set case_clash even if pcheck_case
477 is set to PCHECK_ADJUST when a case clash is given for the last
478 component in path.
479 (symlink_info::case_check): Ditto.
480 * syscalls.cc (_rename): Avoid overwriting an already existing file
481 if a case clash is given even if pcheck_case is set to PCHECK_ADJUST.
482
77eb506d
CV
483Tue Apr 17 2:07:07 2001 Christopher Faylor <cgf@cygnus.com>
484
485 * config.h.in: Turn off VFORK again.
486
431ba7dd
CF
487Mon Apr 16 23:45:24 2001 Christopher Faylor <cgf@cygnus.com>
488
489 * path.h (cwdstuff): Move class.
490 * cygheap.h (cwdstuff): To here.
491 (init_cygheap): Add cwd field.
492 * child_info.h (cygheap_exec_info): Eliminate cwd stuff.
493 (child_info_spawn): Ditto.
494 * dcrt0.cc (dll_crt0_1): Remove cygcwd.fixup_after_exec call. Convert
495 cygcwd reference to cygheap->cwd.
496 * path.cc: Ditto, throughout.
497 (cwdstuff::copy): Eliminate.
498 (cwdstuff::fixup_after_exec): Ditto.
499 * spawn.cc (spawn_guts): Eliminate call to cygcwd.copy.
500
501 * fhandler.h (FH_OSS_DSP): Move into "fast" device category.
502
7ade56ca
CV
503Mon Apr 16 19:19:00 2001 Corinna Vinschen <corinna@vinschen.de>
504
505 * mmap.cc: Move fh_paging_file from some functions to be
506 a global static variable.
507 (class mmap_record): Add `devtype_' member to remember
508 the device type of the file. Add declaration for methods
509 `get_device', `alloc_fh' and `free_fh'.
510 (mmap_record::mmap_record): Initialize `devtype_' correctly.
511 (mmap_record::alloc_fh): New method.
512 (mmap_record::free_fh): Ditto.
513 (munmap): Use new mmap_record::alloc_fh and mmap_record::free_fh
514 methods to create a correct fhandler.
515 (msync): Ditto.
516 (fixup_mmaps_after_fork): Ditto.
517
c4548fb4
CV
518Mon Apr 16 16:01:00 2001 Corinna Vinschen <corinna@vinschen.de>
519
520 * grp.cc (getgroups): If `allow_ntsec' is set, use the process token
521 information to evaluate the groups list.
522
3b3b19d2
CF
523Mon Apr 16 00:08:02 2001 Christopher Faylor <cgf@cygnus.com>
524
525 * features.h: Remove this file as it is now being supplied by newlib.
526
b0a50cf3
CF
527Sun Apr 15 23:23:29 2001 Christopher Faylor <cgf@cygnus.com>
528
529 * autoload.cc: Add winmm functions needed by fhandler_dsp.cc.
530
531Sun Apr 15 22:53:52 2001 Andy Younger <andylyounger@hotmail.com>
532
533 * fhandler_dsp.cc: New file. Implements OSS like /dev/dsp.
534 * include/sys/soundcard.h: New file. User land includes for OSS
535 /dev/dsp.
536 * fhandler.h: Add new class fhandler_dev_dsp and a FH_OSS_DSP
537 definition.
538 * dtable.cc (dtable::build_fhandler): Allow creation of the /dev/dsp
539 device.
540 * path.cc (windows_device_names): Add /dev/dsp into list of device
541 names.
542 * Makefile.in (DLL_OFILES): Add fhandler_dsp.o.
543
4535e6a9
CF
544Sun Apr 15 16:36:27 2001 Christopher Faylor <cgf@cygnus.com>
545
546 * uname.c (uname): Default n in in86 to 6 if Windows returns > 6.
547
1ff87985
CV
548Sun Apr 15 15:56:00 2001 Corinna Vinschen <corinna@vinschen.de>
549
550 * path.cc (add_ext_from_sym): Redefine to call `add_ext_from_sym_'.
551 (add_ext_from_sym_): New inline function.
552
34bbe838
CF
553Sat Apr 14 19:23:52 2001 Christopher Faylor <cgf@cygnus.com>
554
555 * config.h.in: Turn on VFORK by default.
556
266be1d8
CF
557Sat Apr 14 18:04:35 2001 Christopher Faylor <cgf@cygnus.com>
558
559 * net.cc (cygwin_socket): Set SO_LINGER to small value so closed UNIX
560 domain sockets will not stay around.
561
562Sat Apr 14 18:01:43 2001 Pierre A. Humblet <Pierre.Humblet@ieee.org>
563
564 * select.cc (socket_cleanup): Set SO_LINGER to small value so closed
565 dummy sockets do not stay around. Use correct value for second argument
566 to shutdown.
567
e6b98fc8
RC
568Sat Apr 14 17:04:00 2001 Robert Collins <rbtcollins@hotmail.com>
569
570 * thread.h (MTinterface): Add threadcount.
571 * thread.cc (MTinterface::Init): Set threadcount to 1.
572 (__pthread_create): Increment threadcount.
573 (__pthread_exit): Decrement threadcount and call exit() from the last thread.
574
1114d472 575Fri Apr 13 11:34:24 2001 Robert Collins <rbtcollins@hotmail.com>
39b6859a
CF
576
577 * fork.cc (fork_child): Call the __pthread_atforkchild function.
578 (fork_parent): Call the __pthread_atforkparent function.
579 * cygwin.din: Export pthread_atfork.
580 * thread.h (callback): New class.
581 (MTinterface): Use it.
582 * thread.cc (__pthread_atforkprepare): New function.
583 (__pthread_atforkparent): New function.
584 (__pthread_atforkchild): New function.
585 (__pthread_atfork): New function.
586 * pthread.cc (pthread_atfork): New function.
587
e61cead3
CV
588Fri Apr 13 9:52:00 2001 Corinna Vinschen <corinna@vinschen.de>
589
590 * path.cc (add_ext_from_sym): New define evaluating `known'suffix'.
591 (path_conv::check): Use add_ext_from_sym throughout.
592
593Thu Apr 12 23:19:00 2001 Corinna Vinschen <corinna@vinschen.de>
70c370d6
CV
594
595 * dir.cc (mkdir): Check for case clash.
596 * environ.cc: Add extern declaration for `pcheck_case'.
597 (check_case_init): New function.
598 (struct parse_thing): Add "check_case" option.
599 * errno.cc (_sys_nerrlist): Add text for ECASECLASH.
600 (strerror): Add case branch for ECASECLASH.
601 * fhandler.cc (fhandler_disk_file::open): Check for case clash.
602 * path.cc: Add global variable `pcheck_case'.
603 (struct symlink_info): Add member `case_clash' and method `case_check'.
604 (path_prefix_p_): Call `pathnmatch' instead of `strncasematch'.
605 (pathnmatch): New funtion.
606 (pathmatch): Ditto.
607 (path_conv::check): Add handling for case checking.
608 (symlink): Check for case clash.
609 (symlink_info::check): Add parameter for case checking.
610 Handle case checking.
611 (symlink_info::case_check): New method.
612 (chdir): Don't use unconverted path if pcheck_case==PCHECK_STRICT.
613 * path.h: Add extern declarations for `pathmatch' and
614 `pathnmatch'.
615 (enum case_checking): New enumeration type describing
616 the case checking behaviour of path conversion routines.
617 (class path_conv): Add member `case_clash'.
618 * syscalls.cc (_link): Check for case clash.
619
82d4a5d4
CF
620Thu Apr 12 12:49:53 2001 Christopher Faylor <cgf@cygnus.com>
621
622 * syscalls.cc (mkfifo): New function stub.
623
aa67fd12
CF
6242001-04-12 Robert Collins <rbtcollins@hotmail.com>
625
626 * configure.in: Remove PTH_ALLOW.
627 * cygwin.din: Remove @PTH_ALLOW@ prefixes to pthread functions. Add
628 new pthread exports.
629 * pthread.cc: New wrapper functions for the above new exports.
630 * sched.cc (valid_sched_parameters): New function.
631 (sched_setparam): Use it.
632 (sched_set_thread_priority): New function. Used by pthread_sched*.
633 * thread.cc (pthread_key_destructor::InsertAfter): New function.
634 (pthread_key_destructor::UnlinkNext): New function.
635 (pthread_key_destructor::Next): New function.
636 (pthread_key_destructor_list::Insert): New function.
637 (pthread_key_destructor_list::Remove): New function.
638 (pthread_key_destructor_list::Pop): New function.
639 (pthread_key_destructor::pthread_key_destructor): New function.
640 (pthread_key_destructor_list::IterateNull): New function.
641 (MTinterface::Init): Initialise new member.
642 (pthread::pthread): Initialise new members.
643 (pthread::create): Copy new attributes. Set the new thread priority.
644 (pthread_attr::pthread_attr): Initialise new members.
645 (pthread_key::pthread_key): Setup destructor function.
646 (pthread_key::~pthread_key): Remove destructor function.
647 (pthread_mutexattr::pthread_mutexattr): New function.
648 (pthread_mutexattr::~pthread_mutexattr): New function.
649 (__pthread_once): New function.
650 (__pthread_cleanup): New function.
651 (__pthread_cancel): New function.
652 (__pthread_setcancelstate): New function.
653 (__pthread_setcanceltype): New function.
654 (__pthread_testcancel): New function.
655 (__pthread_attr_getinheritsched): New function.
656 (__pthread_attr_getschedparam): New function.
657 (__pthread_attr_getschedpolicy): New function.
658 (__pthread_attr_getscope): New function.
659 (__pthread_attr_setinheritsched): New function.
660 (__pthread_attr_setschedparam): New function.
661 (__pthread_attr_setschedpolicy): New function.
662 (__pthread_attr_setscope): New function.
663 (__pthread_exit): Call any key destructors on thread exit.
664 (__pthread_join): Use the embedded attr values.
665 (__pthread_detach): Use the embedded attr values.
666 (__pthread_getconcurrency): New function.
667 (__pthread_getschedparam): New function.
668 (__pthread_key_create): Pass the destructor on object creation.
669 (__pthread_key_delete): Correct incorrect prototype.
670 (__pthread_setconcurrency): New function.
671 (__pthread_setschedparam): New function.
672 (__pthread_cond_timedwait): Support static mutex initialisers.
673 (__pthread_cond_wait): Ditto.
674 (__pthread_mutex_getprioceiling): New function.
675 (__pthread_mutex_lock): Support static mutex initialisers.
676 (__pthread_mutex_trylock): Ditto.
677 (__pthread_mutex_unlock): Ditto.
678 (__pthread_mutex_destroy): Ditto.
679 (__pthread_mutex_setprioceiling): New function.
680 (__pthread_mutexattr_getprotocol): New function.
681 (__pthread_mutexattr_getpshared): New function.
682 (__pthread_mutexattr_gettype): New function.
683 (__pthread_mutexattr_init): New function.
684 (__pthread_mutexattr_destroy): New function.
685 (__pthread_mutexattr_setprotocol): New function.
686 (__pthread_mutexattr_setprioceiling): New function.
687 (__pthread_mutexattr_getprioceiling): New function.
688 (__pthread_mutexattr_setpshared): New function.
689 (__pthread_mutexattr_settype): New function. Remove stubs for non
690 MT_SAFE compilation.
691 * thread.h: Remove duplicate #defines. Add prototypes for new
692 functions in thread.cc.
693 (pthread_key_destructor): New class.
694 (pthread_key_destructor_list): New class.
695 (pthread_attr): Add new members.
696 (pthread): Remove members that are duplicated in the pthread_attr
697 class.
698 (pthread_mutex_attr): Add new members.
699 (pthread_once): New class.
700 * include/pthread.h: Add prototypes for new functions exported from
701 cygwin1.dll. Remove typedefs.
702 * include/sched.h: Add prototypes for new functions in sched.cc.
703 * include/cygwin/types.h: Add typedefs from pthread.h
704
fc672fb2
CF
705Tue Apr 10 22:02:53 2001 Christopher Faylor <cgf@cygnus.com>
706
707 * path.cc (struct symlink_info): Add extn and ext_tacked_on fields.
708 (path_conv::check): Only tack on extension if a known one didn't
709 already exist.
710 (suffix_scan::has): Return pointer to known extension.
711 (symlink_info::check): Record location of extension, if any.
712
619f7fa0
ED
7132001-04-09 Egor Duda <deo@logos-m.ru>
714
715 * fhandler.h (class fhandler_socket): Add members and methods to
716 support secure connections on AF_UNIX sockets.
717 * fhandler_socket.cc (fhandler_socket::set_connect_secret): New method.
718 (fhandler_socket::get_connect_secret): Ditto.
719 (fhandler_socket::create_secret_event): Ditto.
720 (fhandler_socket::close_secret_event): Ditto.
721 (fhandler_socket::check_peer_secret_event): Ditto.
722 (fhandler_socket::fixup_after_fork): Duplicate secret event to child.
723 (fhandler_socket::dup): Copy address family.
724 (fhandler_socket::close): Close secret event.
725 * net.cc (get_inet_addr): Read secret cookie.
726 (cygwin_connect): Check if peer knows secret cookie value.
727 (cygwin_accept): Ditto. Copy address family to newly created socket.
728 (cygwin_bind): Generate and write secret cookie.
729 (wsock_init): Initialize random number generator.
730
aa970c61
CF
731Sun Apr 8 20:40:58 2001 Christopher Faylor <cgf@cygnus.com>
732
733 * Makefile.in: Put -lgcc last in list of libraries, since stdc++
734 library needs it.
735 * cygwin.din: Remove obsolete "__empty" export.
736 * exceptions.cc (call_signal_handler_now): Force inclusion of function
737 even when -finline-functions is specified.
738 * sigproc.h: Remove obsolete call_signal_handler declaration.
739
740Sun Apr 8 20:36:55 2001 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
e3eef4d0 741
aa970c61
CF
742 * fhandler_console.cc (cp_get_internal): New function.
743 (cp_convert): New function.
744 (con_to_str): New function.
745 (str_to_con): New function.
746 (fhandler_console::read): Replace OemToCharBuff with con_to_str.
747 (fhandler_console::write_normal): Replace CharToOemBuff with str_to_con.
748
9ddfe5a0
CV
749Thu Apr 5 22:41:00 2001 Corinna Vinschen <corinna@vinschen.de>
750
751 * syscalls.cc (stat_worker): Fix conditional which still allowed
752 successful stat'ing of non-existant files.
753
0403bb74
CF
754Wed Apr 4 10:37:44 2001 Christopher Faylor <cgf@cygnus.com>
755
756 * child_info.h: Bump magic number for fork/exec/spawn.
757
c196a1a2
CV
758Tue Apr 3 20:06:00 2001 Corinna Vinschen <corinna@vinschen.de>
759
760 * errno.cc (errmap): Map ERROR_FILE_INVALID to ENXIO.
761
c90e420d
CF
762Mon Apr 2 22:48:58 2001 Christopher Faylor <cgf@cygnus.com>
763
764 * cygrun.c (main): Fix compiler warning.
765 * gmon.c (_mcleanup): Ditto.
766 * profil.c (profile_off): Ditto.
767
768 * net.cc (find_winsock_errno): New function.
769 (__set_winsock_errno): Use find_winsock_errno.
770 (cygwin_setsockopt): Detect SO_ERROR for debugging.
771 (cygwin_getsockopt): Ditto. Translate error when getsockopt returns
772 SO_ERROR.
773 * winsup.h: regparmize __set_winsock_errno.
774 * include/sys/strace.h: Document that strace functions can't use
775 regparm.
776
0f0a7dc9
CV
7772001-04-02 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
778
779 * fhandler.cc (fhandler_disk_file::open): Avoid checking a magic
780 number of a directory.
781
f97adf98
CF
782Mon Apr 2 00:24:08 2001 Christopher Faylor <cgf@cygnus.com>
783
784 * shared_info.h (mount_info): Remove mnt_ elements.
785 * thread.h (struct _winsup_t): Add mnt_ elements.
786 * path.cc (fillout_mntent): Use mnt_ elements from reent_winsup ().
787
1ba3935d
CF
788Sun Apr 1 20:10:34 2001 Christopher Faylor <cgf@cygnus.com>
789
790 * exceptions.cc (sigframe::call_signal_handler): Return value of
791 call_signal_handler_now.
792 * sigproc.h (sigframe): Use constructor.
793 * syscalls.cc (_read): Correct errno test prior to calling signal
794 handler.
795
2a1743c7
CF
796Sun Apr 1 00:38:06 2001 Christopher Faylor <cgf@cygnus.com>
797
0ef785e4 798 * exceptions.cc (sigframe::call_signal_handler): Move outside of "C"
2a1743c7
CF
799 block or some compilers will complain.
800
11f3a79b
CF
801Sun Apr 1 00:24:14 2001 Christopher Faylor <cgf@cygnus.com>
802
803 * exceptions.cc (call_signal_handler_now): Rename from
804 call_signal_handler to avoid C++ confusion.
805
5817ee2d
CF
806Sun Apr 1 00:08:15 2001 Christopher Faylor <cgf@cygnus.com>
807
808 * path.cc (fillout_mntent): Always remove drive root directories from
809 future consideration by "/cygdrive" reporting.
810 (cygdrive_getmnt): Avoid reporting removable drives or drives with no
811 media mounted.
812
f2aeff27
CF
813Sat Mar 31 21:56:19 2001 Christopher Faylor <cgf@cygnus.com>
814
815 * thread.h (struct _winsup_t): Remove obsolete elements. Add
816 available_drives element.
817 * path.cc (mount_info::getmntent): Report "/cygdrive" drives when
818 mounted drives are exhausted.
819 (fillout_mntent): New function.
820 (mount_item::getmntent): Use fillout_mntent.
821 (cygdrives_mntent): New function. Returns next available "/cygdrive".
822 (setmntent): Initialize available "/cygdrives".
823 * syscalls.cc: Remove some if 0'ed code.
824 * times.cc (timezone): Use more descriptive variable name.
825
f6111483
CF
826Sat Mar 31 18:59:52 2001 Christopher Faylor <cgf@cygnus.com>
827
828 * sigproc.h (class sigframe): Implement 'unregister()' method.
829 (sigframe::~sigframe): Use unregister method.
830 (sigframe::call_signal_handler): Declare new method.
831 * exceptions.cc (sigframe::call_signal_handler): New method.
832 Unregisters current sigframe before calling signal handler.
833 (setup_handler): Clear waiting threads prior to arming signal_arrived.
834 * syscalls.cc (_read): Change goto to loop. Recalculate sigframe
835 inside of loop so that constructor is called when appropriate.
836 * wait.cc (wait4): Ditto.
837
838 * signal.cc: Change "sig" to "signal" in debugging messages throughout.
839 * sigproc.cc: Ditto.
840
ab57d146
CF
841Sat Mar 31 17:12:08 2001 Christopher Faylor <cgf@cygnus.com>
842
843 * fhandler_serial.cc (fhandler_serial::raw_write): Close protected
844 handles with ForceCloseHandle or suffer spurious warnings.
845
0cec3226
CF
846Sat Mar 31 16:23:32 2001 Christopher Faylor <cgf@cygnus.com>
847
848 * fhandler.cc (fhandler_base::read): Remove special handling of CTRL-Z.
849
70afbaae
CV
850Sat Mar 31 11:09:00 2001 Corinna Vinschen <corinna@vinschen.de>
851
852 * fhandler.h (class fhandler_console): Add members `insert_mode'.
853 * fhandler_console.cc (fhandler_console::dup): Duplicate `insert_mode'.
854 (fhandler_console::fhandler_console): Initialize `insert_mode'.
c796f4f1 855 (fhandler_console::char_command): Add terminal capabilities
70afbaae
CV
856 "enter insert mode" = \E[4h and "exit insert mode" = \E[4l.
857 Care for insert mode on terminal capability "repeat char" = \E[x;yb.
858 (fhandler_console::write_normal): Care for insert mode before writing
859 to the console.
860 (array keytable): Add keymapping for modified cursor and control
861 block keys (xterm like).
862
f42da31a
CV
863Fri Mar 30 13:02:00 2001 Corinna Vinschen <corinna@vinschen.de>
864
865 * fhandler.h (class fhandler_console): Add members `savebufsiz' and
866 `savebuf' to allow save/restore of screen.
70afbaae
CV
867 * fhandler_console.cc (fhandler_console::dup): Duplicate `savebufsiz'
868 and `savebuf'.
f42da31a
CV
869 (fhandler_console::fhandler_console): Initialize `savebufsiz' and
870 `savebuf'.
871 (fhandler_console::char_command): Add terminal capabilities
872 "save screen content" = \E[?47h and "restore screen content" = \E[?47l.
873
b5eb3d0f
CF
874Wed Mar 28 19:28:50 2001 Christopher Faylor <cgf@cygnus.com>
875
876 * path.cc (chdir): Eat trailing whitespace on input path.
877
1ac6d1a1
CF
878Tue Mar 27 22:38:42 2001 Christopher Faylor <cgf@cygnus.com>
879
880 * lib/_cygwin_S_IEXEC.c: Remove "const" from globals or they never seem
881 to be defined. Wrap definitions in extern "C". Include winsup.h to
882 assure proper definitions.
883
884 * dcrt0.cc (dll_crt0_1): Call stdio_init after premain run so that
885 binmode.o, etc., will control default stdio settings.
886 * dtable.cc (dtable::init_std_file_from_handle): Allow __fmode to force
887 binmode/textmode settings. Default pipes to binmode.
888
37a2d97a
CV
889Tue Mar 27 11:31:00 2001 Corinna Vinschen <corinna@vinschen.de>
890
891 * mmap.cc (mmap): Fix conditional for previous patch.
892
1636a5a1
CV
893Mon Mar 26 18:48:00 2001 Corinna Vinschen <corinna@vinschen.de>
894
895 * mmap.cc (mmap): Outflank copy-on-write problem on 9x by
896 setting access mode to FILE_MAP_READ when read access is requested.
897
aa73152e
CF
898Sun Mar 25 20:12:21 2001 Christopher Faylor <cgf@cygnus.com>
899
900 * dlfcn.cc (check_access): Eliminate.
901 (check_path_access): Use passed in path_conv buf.
902 (get_full_path_of_dll): Use passed in name buf to avoid a static. Rip
903 out most of the path checking since LoadLibrary will do all of this
904 automatically.
905 (dlopen): Set errno when appropriate (may not be compliant?).
906 * environ.cc (posify): Don't pass in "native" path if it seems to
907 actually be posix.
908
db0421f6
CF
909Thursday Mar 22 2001 Robert Collins <rbtcollins@hotmail.com>
910
911 * fhandler.h (fhandler_dev_clipboard): Extend to support writing.
912 * fhandler_clipboard.cc (fhandler_dev_clipboard::fhandler_dev_clipboard):
913 Initialize new fields. Open clipboard here.
914 (fhandler_dev_clipboard::dup): New method.
915 (fhandler_dev_clipboard::open): Accomodate new fields. Register
916 clipboard here, if appropriate.
917 (set_clipboard): New function. Moves buffer to clipboard.
918 (fhandler_dev_clipboard::write): Truly implement clipboard writing.
919 (fhandler_dev_clipboard::read): Reimplement to allow successive reads.
920 (fhandler_dev_clipboard::lseek): Truly implement seeks in clipboard.
0ed560cb
CF
921 (fhandler_dev_clipboard::close): Clear out new fields. Support
922 sequential reads and sequential writes. Support for binary data via a
923 native clipboard format.
db0421f6 924
0b30bad4 9252001-03-22 Egor Duda <deo@logos-m.ru>
0cec3226 926
0b30bad4
CF
927 * fhandler_console.cc (fhandler_console::set_default_attr): Update
928 console color attributes on tty reset.
929
c4458148
CF
930Wed Mar 21 22:12:36 2001 Christopher Faylor <cgf@cygnus.com>
931
932 * autoload.cc (kernel32_init): New function for kernel32 autoload
933 initialization.
934 (SignalObjectAndWait): Add conditional load of this function when it is
935 available.
936
9a08b2c0
CF
9372001-03-21 Robert Collins <rbtcollins@hotmail.com>
938
939 * sched.cc: New file. Implement sched*.
940 * include/sched.h: New file. User land includes for sched*.
941 * Makefile.in: Add sched.o
942 * cygwin.din: Add exports for sched*.
943
a1299ba5
CF
944Tue Mar 20 14:48:46 2001 Christopher Faylor <cgf@cygnus.com>
945
946 * dtable.cc: Guard against new winsock.h/winsock2.h warnings when
947 mixing winsock*.h and sys/types.h.
948 * fhandler_socket.cc: Ditto.
949 * net.cc: Ditto.
950 * select.cc: Ditto.
951 * exceptions.cc: Remove unneeded define.
952
b8c8fa17
CF
953Mon Mar 19 17:43:29 2001 Christopher Faylor <cgf@cygnus.com>
954
955 * exceptions.cc (interruptible): Update debugging output.
956 (setup_handler): Ensure that wait_sig loop wakes up when we punt on
957 sending a signal.
958 * poll.cc (poll): Add signal guard here.
959
78ace8a7
ED
9602001-03-19 Egor Duda <deo@logos-m.ru>
961
962 * tty.h (tty::create_inuse): Add new parameter to allow non-
963 inheritable 'inuse' events.
964 * tty.cc (tty::create_inuse): Use new parameter.
965 * fhandler_tty.cc (fhandler_tty_master::init): Ditto.
966 * fhandler_tty.cc (fhandler_pty_master::open): Ditto.
967 * fhandler_tty.cc (fhandler_tty_master::init): Create master_alive
968 event.
969 * tty.cc (tty_list::terminate): Close master_alive event.
970 * fhandler_tty.cc (fhandler_tty_common::close): Send EOF to slaves
971 when master side is closed.
972
98750a84
CV
973Mon Mar 19 14:32:00 2001 Corinna Vinschen <corinna@vinschen.de>
974
975 * mmap.cc (map::get_list_by_fd): Avoid calling `get_namehash' when
976 file descriptor is -1.
977
30f326bf
CV
978Sat Mar 17 18:30:00 2001 Corinna Vinschen <corinna@vinschen.de>
979
980 * syscalls.cc (check_posix_perm): New static function.
981 (fpathconf): Add _PC_POSIX_PERMISSIONS and _PC_POSIX_SECURITY
982 support.
983 (pathconf): Ditto.
984 * include/cygwin/version.h: Bump API minor number to 37.
985
5e8e21d9
ED
9862001-03-18 Egor Duda <deo@logos-m.ru>
987
988 * fhandler.h (fhandler_tty_slave): Declare new methods.
989 * select.cc (fhandler_tty_slave::select_read): New method.
990 * select.cc (fhandler_tty_slave::ready_for_read): Ditto.
991 * select.cc (verify_tty_slave): New function.
992 * fhandler_termios.cc (fhandler_termios::line_edit): Empty input
993 buffer on signal.
994 * fhandler_tty.cc (fhandler_tty_slave::read): Check for input data
995 after reading from pipe. Reset event if input pipe is empty.
996 * tty.h (class tty): Allow creating events with manual reset.
997 * tty.cc (tty::get_event): Use manual_reset flag.
998 * tty.cc (tty::common_init): Create input_available_event with
999 manual reset.
1000
00a74961
CF
1001Sat Mar 17 21:48:03 2001 Christopher Faylor <cgf@cygnus.com>
1002
1003 * external.cc (fillout_pinfo): Match windows pid, as well as cygwin pid
1004 when passed in pid. Don't prematurely break when searching for a pid.
1005
1006 * thread.h (_winsup_t): Eliminate unneeded field.
1007
8eb72e63
CV
1008Sat Mar 17 20:46:00 2001 Corinna Vinschen <corinna@vinschen.de>
1009
1010 * net.cc (get_95_ifconf): Use strcasematch instead of strcasecmp.
1011 * syscalls.cc (_unlink): Ditto.
1012 (_rename): Ditto.
1013
57499703
CF
1014Sat Mar 17 12:43:15 2001 Christopher Faylor <cgf@cygnus.com>
1015
1016 * path.cc (suffix_scan::next): Avoid searching for foo.lnk twice when
1017 input is "foo".
1018
298fad46
CV
1019Sat Mar 17 18:10:00 2001 Corinna Vinschen <corinna@vinschen.de>
1020
1021 * net.cc (cygwin_socket): Set protocol to 0 when address family is
1022 AF_UNIX to avoid WSAEPROTONOSUPPORT error.
1023
f52488f7
CV
1024Sat Mar 17 09:51:32 2001 Mathew Brozowski <brozow@tavve.com>
1025
1026 * net.cc (cygwin_socket): Pass protocol parameter to socket call.
1027
b63a3f55
CF
1028Sat Mar 17 02:05:38 2001 Christopher Faylor <cgf@cygnus.com>
1029
1030 * dir.cc (readdir): Use strcasematch for consistency.
1031 * path.cc (symlink_info): Eliminate known_suffix.
1032 (path_conv::check): Always copy ext_here to end of buffer, if found.
1033 (suffix_scan): Eliminate ext_here, add suffixes_start.
1034 (suffix_scan::has): Eliminate an argument. Reorganize. Always return
1035 pointer to end of input path.
1036 (suffix_scan::next): Take a second pass through the suffix list looking
1037 for .lnk.
1038 (symlink_info::check): Eliminate known_suffix usage.
1039
db15b3e3 1040Sat Mar 17 00:10:52 2001 Christopher Faylor <cgf@cygnus.com>
5bb22c6b 1041
db15b3e3 1042 * syscalls.cc (stat_dev): Give devices full read/write by default.
5bb22c6b 1043
c0c9de3c
CF
1044Saturday Mar 17 3:45 2001 Robert Collins <rbtcollins@hotmail.com>
1045
1046 * thread.cc (MTinterface::CreateCond): Check for null attr pointer.
1047
ddca580f
CF
1048Fri Mar 16 21:13:23 2001 Christopher Faylor <cgf@cygnus.com>
1049
1050 * fhandler_termios.cc (fhandler_termios::line_edit): Don't accept input
1051 when a signal is sent or we'll end up in an EOF/signal race.
1052
b65c6896
CF
1053Fri Mar 16 20:25:40 2001 Christopher Faylor <cgf@cygnus.com>
1054
1055 * path.cc: Translate scan states from defines to enums.
1056 (suffix_scan): Rename state to nextstate for clarity.
1057 (lnk_match): Change to allow multiple states to indicate that a .lnk
1058 has been matched.
1059 (suffix_scan::has): Eliminate a goto. Handle .lnk as a special case,
1060 since a .lnk may also need to be tacked on the end of a .lnk.
1061 (suffix_scan::next): Don't increment next state. Set it specifically.
1062 Recognize new .lnk states.
1063
92f4bf97 1064Saturday Mar 17 01:19 2001 Robert Collins rbtcollins@hotmail.com
0cec3226 1065
5ccbf4b6
CF
1066 * cygwin.din: Export the new functions.
1067 * pthread.cc (pthread_cond_*): Add wrapper functions that call
1068 __pthread_cond* functions.
1069 * thread.cc (__pthread_cond_*): Implement the pthread_cond* functions.
1070 * thread.h: Add new class entries and prototypes for __pthread_cond*
1071 functions.
1072 * include/pthread.h: user land header prototypes for pthread_cond*
1073 functions and related defines.
1074
e212576d
CV
1075Wed Mar 14 16:30:00 2001 Corinna Vinschen <corinna@vinschen.de>
1076
1077 * environ.cc (parse_options): Use strtok_r instead of strtok.
1078 * security.cc (convert_string_sid_to_sid): Ditto.
1079 (aclfromtext): Ditto. Fix buffer usage.
1080
78d2c08c
CV
1081Wed Mar 14 10:11:00 2001 Corinna Vinschen <corinna@vinschen.de>
1082
1083 * path.cc (lnk_suffixes): Remove.
1084 (class suffix_scan): Add `lnk_state' flag.
1085 (suffix_scan::lnk_match): Return state of `lnk_state' now.
1086 (suffix_scan::has): Changed behaviour if file has `.lnk' suffix.
1087 (suffix_scan::next): Set `lnk_state' where appropriate.
1088 (symlink_info::check): Fix a wrong `break'.
1089 * syscalls.cc (chown_worker): Change debug statement to reflect
1090 lchown fix.
1091 (lchown): Call chown_worker with `PC_SYM_NOFOLLOW' instead of
1092 `PC_SYM_IGNORE'.
1093
1d39c83a
CV
1094Tue Mar 13 13:52:00 2001 Corinna Vinschen <corinna@vinschen.de>
1095
1096 * fhandler.cc (fhandler_disk_file::fstat): Add correct modes to
1097 symlinks when stat'ing on FAT or FAT32 file systems.
1098
e935fcf0
ED
10992001-03-12 Egor Duda <deo@logos-m.ru>
1100
1101 * fhandler.h (fhandler_termios::fixup_after_exec): New function.
344ce60c
ED
1102 * fhandler_termios.cc (fhandler_termios::fixup_after_fork): New
1103 function. Fixup output handle.
e935fcf0
ED
1104 * fhandler_tty.cc (fhandler_tty_common::fixup_after_fork): Output
1105 handle is now fixed up in fhandler_termios::fixup_after_fork().
1106
79409dc0
ED
11072001-03-12 Egor Duda <deo@logos-m.ru>
1108
1109 * fhandler.h (fhandler_termios::fhandler_termios): Enable fixup
1110 after fork.
1111 * fhandler_console.cc (fhandler_console::fhandler_console): Fixup
1112 after fork is now enabled in the base class constructor.
1113
2b777e2e
CF
1114Mon Mar 12 11:19:41 2001 Christopher Faylor <cgf@cygnus.com>
1115
1116 * mkvers.sh: Include config.h so that DEBUGGING is correctly defined.
1117
941fa5ad
CF
1118Mon Mar 12 09:47:55 2001 Christopher Faylor <cgf@cygnus.com>
1119
1120 * spawn.cc (spawn_guts): Don't set EXIT_REPARENTING if parent process
1121 is not a cygwin process (suggested by Jason Gouger
1122 <cygwin@jason-gouger.com>).
1123
d0909d91
CF
1124Sun Mar 11 16:00:58 2001 Christopher Faylor <cgf@cygnus.com>
1125
1126 * child_info.h: Bump magic number for fork/exec/spawn.
1127
2116a175
CF
1128Sat Mar 10 20:54:47 2001 Christopher Faylor <cgf@cygnus.com>
1129
1130 * autoload.cc (noload): Use proper method for multiline strings or
1131 newer gcc's complain.
1132 * exceptions.cc (unused_sig_wrapper): Ditto.
1133 * fhandler.h (fhandler_base): Make get_io_handle and friends return
1134 self.
1135 * fhandler_tty.cc (fhandler_pty_common::close_on_exec): Accomodate
1136 DEBUGGING flag to avoid spurious warnings when inheritance is set.
1137
7cf3b655
CF
1138Sat Mar 10 16:52:12 2001 Christopher Faylor <cgf@cygnus.com>
1139
1140 * shortcut.c (PATH_ALL_EXEC): Add parentheses to avoid a compiler
1141 warning.
1142
1143 * exceptions.cc (setup_handler): Clarify debugging message.
1144 * sigproc.cc (proc_subproc): Remove PROC_CHILDSTOPPED test. It is
1145 handled by normal PROC_CLEARWAIT case.
1146 (wait_sig): Eliminate "dispatched" tracking. Remove __SIGCHILDSTOPPED
1147 test. Decrement counter again before jumping out of
1148 InterlockedDecrement loop so that subsequent InterlockedIncrement will
1149 keep the counter at the correctly decremented value and also detect
1150 when there are pending signals.
1151 * sigproc.h: Remove __SIGCHILDSTOPPED element.
1152 (procstuff): Remove PROC_CHILDSTOPPED element.
1153
e2f2a27e
CF
1154Sat Mar 10 15:22:44 2001 Christopher Faylor <cgf@cygnus.com>
1155
1156 * syscalls.cc (_rename): Set errno to ENOENT when an old path doesn't
1157 exist (from Kazuhiro Fujieda <fujieda@jaist.ac.jp>). Also set EACCES
1158 when directory is not writable.
1159
6ebccdc1
CF
1160Wed Mar 7 15:49:47 2001 Christopher Faylor <cgf@cygnus.com>
1161
1162 * syscalls.cc (_read): Change definition to return ssize_t to be
1163 consistent with read.
1164 (_write): Change definition to return ssize_t to be consistent with
1165 write.
1166
efd76e41
CF
1167Wed Mar 7 01:08:21 2001 Christopher Faylor <cgf@cygnus.com>
1168
1169 * sigproc.h (sigthread): Declare new methods. Create new winapi_lock
1170 field.
1171 (sigframe:;set): Call get_winapi_lock after frame is set so that signal
1172 handler thread knows not to call SuspendThread.
1173 (sigframe::~sigframe): Release winapi_lock.
1174 * exceptions.cc (sigthread::get_winapi_lock): New method.
1175 (sigthread::release_winapi_lock): New method.
1176 (setup_handler): Use get_winapi_lock to ensure that signalled thread is
1177 not blocked in a Windows API.
1178
1179 * path.h (path_types): Avoid broken GCC warning.
1180
bf11a54f
CV
1181Tue Mar 6 14:02:00 2001 Corinna Vinschen <corinna@vinschen.de>
1182
1183 * path.cc (suffix_scan::has): Change order of conditionals
1184 to allow checking for .lnk suffixes even if in_suffixes is empty.
1185
1186Tue Mar 6 13:02:00 2001 Corinna Vinschen <corinna@vinschen.de>
7cdc9fee
CV
1187
1188 * autoload.c (cygwin_premain0): Add missing parameter.
1189 * binmode.c (cygwin_premain0): Ditto.
1190 * textmode.c (cygwin_premain0): Ditto.
1191
1192Tue Mar 6 12:04:00 2001 Jason Tiller <jtiller@sjm.com>
1193
1194 * auto_load.cc: Add "GetKeyboardLayout" entry in the list of
1195 Win32 User32.DLL exports to provide.
1196 * fhandler.h (class fhandler_console): Add meta_mask private
1197 member to remember which keystroke modifiers should generate
1198 META.
1199 * fhandler_console.cc (fhandler_console::read): Modify code that
1200 tests a keystroke for a META-escaped key to use the 'meta_mask'
1201 variable.
1202 (fhandler_console::fhandler_console): Add definition for
1203 variable "meta_mask" used to determine if a keystroke should be
1204 preceded by META in the client console stream. Set meta_mask
1205 based on whether or not user's keyboard language is English -
1206 non-English keyboards pass AltGr (right <ALT>) unmolested,
1207 whereas English keyboards now interpret left- and right-<ALT>
1208 as META.
1209
a887211b
CV
1210Mon Mar 5 20:15:00 2001 Corinna Vinschen <corinna@vinschen.de>
1211
1212 * include/a.out.h: Add copyright hint.
1213 * include/fcntl.h: Ditto.
1214 * include/lastlog.h: Ditto.
1215 * include/memory.h: Ditto.
1216 * include/mntent.h: Ditto.
1217 * include/paths.h: Ditto.
1218 * include/poll.h: Ditto.
1219 * include/syslog.h: Ditto.
1220 * include/termio.h: Ditto.
1221 * include/tzfile.h: Ditto.
1222 * include/arpa/inet.h: Ditto.
1223 * include/asm/byteorder.h: Ditto.
1224 * include/asm/socket.h: Ditto.
1225 * include/asm/types.h: Ditto.
1226 * include/cygwin/if.h: Ditto.
1227 * include/cygwin/mtio.h: Ditto.
1228 * include/cygwin/rdevio.h: Ditto.
1229 * include/cygwin/socket.h: Ditto.
1230 * include/net/if.h: Ditto.
1231 * include/netinet/in.h: Ditto.
1232 * include/netinet/in_systm.h: Ditto.
1233 * include/netinet/ip.h: Ditto.
1234 * include/netinet/ip_icmp.h: Ditto.
1235 * include/netinet/tcp.h: Ditto.
1236 * include/sys/cdefs.h: Ditto.
1237 * include/sys/cygwin.h: Ditto.
1238 * include/sys/ioctl.h: Ditto.
1239 * include/sys/mman.h: Ditto.
1240 * include/sys/mount.h: Ditto.
1241 * include/sys/mtio.h: Ditto.
1242 * include/sys/procfs.h: Ditto.
1243 * include/sys/resource.h: Ditto.
1244 * include/sys/smallprint.h: Ditto.
1245 * include/sys/socket.h: Ditto.
1246 * include/sys/strace.h: Ditto.
1247 * include/sys/syslog.h: Ditto.
1248 * include/sys/sysmacros.h: Ditto.
1249 * include/sys/termio.h: Ditto.
1250 * include/sys/termios.h: Ditto.
1251 * include/sys/uio.h: Ditto.
1252 * include/sys/un.h: Ditto.
1253 * include/sys/utsname.h: Ditto.
1254 * include/sys/vfs.h: Ditto.
1255 * include/sys/wait.h: Ditto.
1256 * regexp/regerror.c: Ditto.
1257 * regexp/regexp.h: Ditto.
1258 * regexp/regmagic.h: Ditto.
1259
95a8465b
CF
1260Mon Mar 5 01:25:03 2001 Christopher Faylor <cgf@cygnus.com>
1261
1262 * dlopen.c (dlopen): Return NULL when name is NULL (suggested by
1263 chrisiasci@aol.com).
1264
1265 * cygwin.din: Add a new, internally used export -
1266 _check_for_executable.
1267 * dcrt0.cc (dll_crt0_1): Set _check_for_executable for older binaries.
1268 Pass user_data to premain functions.
1269 * fhandler.cc (fhandler_disk_file::open): Only check for executable if
1270 the linked program is intereested in the executable bit.
1271 (fhandler_disk_file::check_execable_p): Delete.
1272 * fhandler.h (executable_states): New enumeration of various states of
1273 executable bit caring.
1274 (fhandler_base::set_execable_p): New method.
1275
1276 * fhandler_termios.cc (fhandler_termios::line_edit): Flag when a signal
1277 has been sent to the tty. Return -1 when this is so.
1278 * fhandler_console.cc (fhandler_console::read): Return -1 when signal
1279 sending character encountered.
1280
1281 * path.cc (path_conv::check): Record when path refers to a disk device.
1282 Move executable extension check here.
1283 (check_sysfile): Accomodate new EXEC path states.
1284 (has_suffix): Remove.
1285 (next_suffix): Remove.
1286 (class suffix_scan): New clas.
1287 (suffix_scan::has): New method.
1288 (suffix_scan:next): New method.
1289 (symlink_info::check): Use suffix_scan method to control for scanning
1290 for suffixes.
1291 * path.h (path_conv::exec_state): New method.
1292 * perprocess.h: Make "C" friendly.
1293 * include/cygwin/version.h: Define CYGWIN_VERSION_CHECK_FOR_S_IEXEC.
1294 Bump CYGWIN_VERSION_API_MINOR.
1295 * include/sys/cygwin.h: Change premain declarations.
1296
1297 * winsup.h: Move __cplusplus test to after builtin defines.
1298
306c4b67
ED
12992001-03-04 Egor Duda <deo@logos-m.ru>
1300
1301 * fhandler.h (class fhandler_tty_common): New mutex and event to
1302 syncronize input on master tty with slave tty.
1303 * fhandler_tty.cc (fhandler_pty_master::accept_input): Use them to
1304 syncronize with slave.
1305 * fhandler_tty.cc (fhandler_tty_slave::read): Use input mutex and
1306 event to syncronize with master. Do not limit amount of data read
1307 from master to vmin value. Interrupt on signal and return already
1308 read data, if any.
1309 * fhandler_tty.cc (fhandler_tty_slave::open): Handle input mutex and
1310 event.
1311 * fhandler_tty.cc (fhandler_tty_common::close): Ditto.
1312 * fhandler_tty.cc (fhandler_tty_common::set_close_on_exec): Ditto.
1313 * fhandler_tty.cc (fhandler_tty_common::fixup_after_fork): Ditto.
1314 * fhandler_tty.cc (fhandler_tty_common::dup): Ditto.
1315 * tty.h (tty::open_input_mutex): New function.
1316 * tty.cc (tty::common_init): Create input mutex and event.
1317
ed94def2
CV
1318Fri Mar 2 13:32:00 2001 Corinna Vinschen <corinna@vinschen.de>
1319
1320 * dir.cc (readdir): Fix creating path in symlink check.
1321
e03f5f73
CV
1322Fri Mar 2 12:33:00 2001 Corinna Vinschen <corinna@vinschen.de>
1323
1324 * dir.cc (readdir): Fix shortcut==symlink condition.
1325 * environ.cc: Add extern decl for `allow_winsymlinks'.
1326 (struct parse_thing): Add entry for `[no]winsymlinks'.
1327 * path.cc (symlink): Change to be able to create both,
1328 symlink==shortcut and symlink==systemfile, dependent of
1329 the setting of `allow_winsymlinks'.
1330 * security.cc (cygwin_logon_user): Add debug output.
1331 * shortcut.c: Add defines from path.h.
1332 (has_exec_chars): Copy from path.h.
1333 (check_shortcut): Check for executable file condition if not a
1334 shortcut.
1335
903c330d
CF
1336Thu Mar 1 21:06:07 2001 Christopher Faylor <cgf@cygnus.com>
1337
1338 * exceptions.cc (sig_handle_tty_stop): Ignore attempts to suspend a
1339 process if started by non-cygwin parent.
1340
d80999a1
CF
1341Thu Mar 1 20:48:11 2001 Christopher Faylor <cgf@cygnus.com>
1342
1343 * select.cc (peek_console): Don't report read_ready on mouse events
1344 unless we are looking for mouse events.
1345 * fhandler.h (fhandler_console::mouse_aware): New method.
1346
2de76014
CV
1347Wed Feb 28 15:10:00 2001 Corinna Vinschen <corinna@vinschen.de>
1348
1349 * uinfo.cc: Eliminate `#include <wchar.h>'.
1350
739db26a
ED
13512001-02-28 Egor Duda <deo@logos-m.ru>
1352
1353 * fhandler_floppy.cc (fhandler_dev_floppy::lseek): Determine
1354 drive geometry or partition size to allow seeking from the end of
1355 raw floppy device. Don't allow positioning past the end of media or
1356 to offsets bigger then max off_t.
1357
a53136cc
ED
13582001-02-27 Egor Duda <deo@logos-m.ru>
1359
1360 * fhandler.h (class fhandler_console): Make all variables that
1361 describe "state" of console to be members of fhandler_console.
1362 default_color is now the color which is set when console recieves
1363 reset command.
1364 * fhandler_console.cc (fhandler_console::fhandler_console): Turn
1365 mouse handling and raw keyboard mode off by default. Initialize
1366 state information.
1367 * fhandler.cc (fhandler_console::set_raw_win32_keyboard_mode): New
1368 function.
1369 * fhandler_console.cc (fhandler_console::set_default_attr): New
1370 function. Reset console attributes to default values.
1371 * fhandler_console.cc (fhandler_console::open): Reset attributes.
1372 * fhandler_console.cc (fhandler_console::get_win32_attr): New function.
1373 Calculate win32-style console attribute based on terminal attributes.
1374 * fhandler_console.cc (fhandler_console::set_cursor_maybe): Use
1375 member variable.
1376 * fhandler_console.cc (fhandler_console::read): If in raw-win32
1377 keyboard mode, encode win32 keyboard events in \033{x;y;z;t;u;wK
1378 sequences.
1379 * fhandler_console.cc (fhandler_console::dup): Copy all state
1380 information to the dup()ed handle.
1381 * fhandler_console.cc (fhandler_console::scroll_screen): Use current
1382 fill-in attribute.
1383 * fhandler_console.cc (fhandler_console::clear_screen): Ditto.
1384 * fhandler_console.cc (fhandler_console::char_command): Check if we
1385 saw '?' symbol by member variable. Set terminal attributes on \033[Xm
1386 commands. \033[24m - turn off underline mode, \033[27m - turn off
1387 reverse mode, \033[39m - restore default foreground color.
1388 \033[49m - restore default background color. \033[2000h - turn on raw
1389 keyboard mode, \033[2000l - turn off raw keyboard mode.
1390 * fhandler_console.cc (fhandler_console::write): Set attribues to
1391 default values on reset command.
1392
5b331f1e 13932001-02-26 Mike Simons <msimons@moria.simons-clan.com>
efd76e41 1394
5b331f1e
CF
1395 * times.cc (settimeofday): Replace function stub with working code.
1396
88429768
CV
1397Mon Feb 26 10:42:00 2001 Corinna Vinschen <corinna@vinschen.de>
1398
1399 * strace.cc (strace::vprntf): Move prntf functionality to this function
1400 adding an va_list interface to strace.
1401 (strace::printf): Calls strace::vprntf now.
1402 (strace_printf): New function providing an extern "C" interface to
1403 trace output.
1404 * include/sys/strace.h: Make plain C clean.
1405 (class strace): Add `vprntf' method.
1406
6626ebfe
CV
1407Mon Feb 26 0:10:00 2001 Corinna Vinschen <corinna@vinschen.de>
1408
1409 * shortcut.c: Remove #include <sys/strace.h>.
1410
649033a8
CV
1411Sun Feb 25 10:32:00 2001 Corinna Vinschen <corinna@vinschen.de>
1412
1413 * path.cc (symlink): Add a ".lnk" suffix regardless. Add a comment.
1414
80ed95f2
CV
1415Sun Feb 25 10:18:00 2001 Corinna Vinschen <corinna@vinschen.de>
1416
649033a8 1417 * shortcut.c (check_shortcut): Change symlink condition.
80ed95f2 1418
675412e9
CV
1419Fri Feb 23 10:42:00 2001 Corinna Vinschen <corinna@vinschen.de>
1420
1421 * mmap.cc (fhandler_disk_file::mmap): Use `addr' correctly.
1422 * fhandler_mem.cc (fhandler_dev_mem::mmap): Ditto.
1423
ff413a98
CV
1424Thu Feb 22 17:09:00 2001 Corinna Vinschen <corinna@vinschen.de>
1425
1426 * path.cc (symlink): Keep relative paths relative in the DOS
659b480b
CV
1427 path inside of a shortcut. If that's impossible or the target
1428 path is already absolute save an absolute path.
ff413a98 1429
c5a4eacc
CV
1430Thu Feb 22 15:33:00 2001 Corinna Vinschen <corinna@vinschen.de>
1431
1432 * cygerrno.h: Revert previous patch.
1433 * errno.cc: Ditto.
1434 * dir.cc: Eliminate `dir_suffixes'.
1435 (opendir): Remove usage of `dir_suffixes'.
1436 (rmdir): Ditto.
1437 * fhandler.cc (fhandler_disk_file::open): Remove usage of
1438 `inner_suffixes'.
1439 * path.cc: Rename `inner_suffixes' to `lnk_suffixes'.
1440 (path_conv::check): Remove usage of `inner_suffixes'.
1441 (symlink): Ditto.
1442 (symlink_info::check): Handle checking for `.lnk' in path_conv
1443 exclusively here.
1444 (chdir): Remove usage of `dir_suffixes'.
1445 * shortcut.c: Eliminate debug_printf lines.
1446 (check_shortcut): Don't set error except on failing ReadFile.
1447 * spawn.cc: Remove ".lnk" from `std_suffixes'.
1448 * syscalls.cc (_unlink): Remove usage of `inner_suffixes'.
1449 Remove ".lnk" from `stat_suffixes'.
1450 (_rename): Add check for renaming a symlink to keep the ".lnk"
1451 suffix after renaming.
1452
79e56091
CV
1453Thu Feb 22 13:38:00 2001 Corinna Vinschen <corinna@vinschen.de>
1454
1455 * shortcut.c: New file. Provides a C interface to reading of
1456 Windows shortcuts to avoid compiler flag `-fvtable-thunks'.
1457 * shortcut.h: Ditto.
1458 * Makefile.in: Add shortcut.o to DLL_OFILES.
1459 * cygerrno.h: Provide a C interface to `geterrno_from_win_error' for
1460 using in shortcut.c.
1461 * errno.cc (geterrno_from_win_error): Define as extern "C".
1462 * path.cc (struct symlink_info): Remove methods `check_shortcut' and
1463 `check_sysfile'.
1464 (shortcut_header): Move to shortcut.c.
1465 (shortcut_initalized): Ditto.
1466 (create_shortcut_header): Ditto.
1467 (cmp_shortcut_header): Ditto.
1468 (symlink_info::check_shortcut): Ditto. Reorganize as a plain C function.
1469 (symlink_info::check_sysfile): Redefine as a global function using the
1470 same parameter list as `check_shortcut' for clearness.
1471 (symlink_info::check): Change parameter list for calls to
1472 `check_shortcut' and `check_sysfile'.
1473
87e6b098
CV
1474Thu Feb 22 12:04:00 2001 Corinna Vinschen <corinna@vinschen.de>
1475
1476 * fhandler.cc (fhandler_disk_file::open): Use `inner_suffixes' when
1477 resolving real_path.
1478 * path.cc (symlink): Ditto for win32_topath.
1479
10b06c5e
CV
1480Wed Feb 21 22:41:00 2001 Corinna Vinschen <corinna@vinschen.de>
1481
1482 * Makefile.in: Add `-lshell32 -luuid' to link pass for new-cygwin1.dll.
1483 * autoload.cc: Add LoadDLLinitfunc for ole32.dll.
1484 Add LoadDLLfuncEx statements for CoInitialize@4, CoUninitialize@0
1485 and CoCreateInstance@20.
1486 * dir.cc (dir_suffixes): New datastructure.
1487 (readdir): Check for R/O *.lnk files to hide the suffix.
1488 (opendir): Use `dir_suffixes' in path conversion.
1489 (rmdir): Ditto.
1490 * fhandler.cc (fhandler_disk_file::fstat): Add S_IFLNK flag
1491 before calling `get_file_attribute'. Take FILE_ATTRIBUTE_READONLY
1492 into account only if the file is no symlink.
1493 * path.cc (inner_suffixes): New datastructure.
1494 (SYMLINKATTR): Eliminated.
1495 (path_conv::check): Use `inner_suffixes' on inner path components.
1496 (shortcut_header): New global static variable.
1497 (shortcut_initalized): Ditto.
1498 (create_shortcut_header): New function.
1499 (cmp_shortcut_header): Ditto.
1500 (symlink): Create symlinks by creating windows shortcuts. Preserve
1501 the old code.
1502 (symlink_info::check_shortcut): New method.
1503 (symlink_info::check_sysfile): Ditto.
1504 (symlink_info::check): Check for shortcuts. Move code reading
1505 old system attribute symlinks into symlink_info::check_sysfile().
1506 (chdir): Use `dir_suffixes' in path conversion.
1507 * security.cc (get_file_attribute): Check for S_IFLNK flag.
1508 Force 0777 permissions then.
1509 * spawn.cc (std_suffixes): Add ".lnk" suffix.
1510 * syscalls.cc (_unlink): Use `inner_suffixes' in path conversion.
1511 Check for shortcut symlinks to eliminate R/O attribute before
1512 calling DeleteFile().
1513 (stat_suffixes): Add ".lnk" suffix.
1514 (stat_worker): Force 0777 permissions if file is a symlink.
1515
0917ed59
ED
15162001-02-21 Egor Duda <deo@logos-m.ru>
1517
1518 * sigproc.cc (getsem): Make semaphore always non-inheritable.
1519
441d7aee
CF
1520Mon Feb 19 22:25:53 2001 Christopher Faylor <cgf@cygnus.com>
1521
1522 * dcrt0.cc (locale_init): Remove.
1523
f97e7d75
CF
15242001-02-15 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
1525
1526 * cygwin.din: Export rand48 functions.
1527 * thread.cc (MTinterface::Init): Remove the initialization of
1528 `reent_data'.
1529 * dcrt0.cc: Add the initalizer to the declaration of `reent_data'.
1530 * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 35.
1531
fc68bf34
ED
15322001-02-16 Egor Duda <deo@logos-m.ru>
1533
1534 * signal.cc (signal): Prohibit setting handlers for SIGKILL and
1535 SIGSTOP
1536 * signal.cc (sigaction): Ditto
1537 * syscalls.cc (_lseek): Return EINVAL on invalid input
1538
ee2c7251
CF
1539Wed Feb 14 14:54:40 2001 Christophe Iasci <chrisiasci@aol.com>
1540
1541 * dlfcn.cc (dlopen): Do not call LoadLibrary with a NULL pointer, when
1542 the library is not found
1543
8f8e7442 15442001-02-14 Egor Duda <deo@logos-m.ru>
efd76e41 1545
8f8e7442
CF
1546 * fhandler_console.cc (fhandler_console::char_command): Ignore unknown
1547 rendition codes in \033[xx;yym control sequences
1548
cde0c2fb
CF
1549Fri Feb 9 23:19:01 2001 Christopher Faylor <cgf@cygnus.com>
1550
1551 * fork.cc (fork_parent): Return EAGAIN when can't record pid.
1552 * pinfo.h (pinfo::remember): Return value of call to proc_subproc.
1553 * sigproc.cc (proc_subproc): Return error if can't record pid.
1554
c41482c7
CF
1555Fri Feb 9 12:17:27 2001 Christopher Faylor <cgf@cygnus.com>
1556
1557 * syscalls.cc (mknod): Add valid parameters.
1558
889109ab
CV
1559Thu Feb 8 22:09:00 2001 Corinna Vinschen <corinna@vinschen.de>
1560
1561 * mmap.cc (mmap): Check for reusing a mapping only on MAP_SHARED
1562 and on MAP_PRIVATE|MAP_ANON in the special case of offset 0.
1563
db49d0b5
CV
1564Thu Feb 8 21:57:00 2001 Corinna Vinschen <corinna@vinschen.de>
1565
1566 * mmap.cc (class list): Add member `hash'.
1567 (list::list): Initialize `hash'.
1568 (list::get_list_by_fd): Use filepath hash value to get the correct
1569 mapping list if it's not an anonymous mapping.
1570 (map::add_list): Initialize `hash' with filepath hash value.
1571 (mmap): Check for reusing a mapping only on MAP_SHARED.
1572
91d385fe
CF
1573Wed Feb 7 18:47:36 2001 Christopher Faylor <cgf@cygnus.com>
1574
1575 * signal.cc (killpg): Correct first argument.
1576
9182099c
CV
1577Wed Feb 7 22:22:00 2001 Corinna Vinschen <corinna@vinschen.de>
1578
1579 * autoload.cc: Add LoadDLLinitfunc for iphlpapi.dll.
1580 Add LoadDLLfuncEx statements for GetIfTable@12 and GetIpAddrTable@12.
1581 * fhandler_socket.cc (fhandler_socket::ioctl): Move variable
1582 definitions to the beginning of the function to allow better debugging.
1583 Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC and SIOCGIFMTU.
1584 * net.cc: Include iphlpapi.h.
1585 (get_2k_ifconf): Rewritten. Uses IP Helper API now.
1586 (get_nt_ifconf): Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC
1587 and SIOCGIFMTU.
1588 (get_95_ifconf): Ditto. Renamed from `get_9x_ifconf'.
1589 (get_ifconf): Name loopback `lo' instead of `lo0' as in Linux.
1590 Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC and SIOCGIFMTU.
1591 Call `get_95_ifconf' only on Windows 95, `get_nt_ifconf' only
1592 on Windows NT < Service Pack 3, `get_2k_ifconf otherwise.
1593 * include/asm/socket.h: Add defines for SIOCGIFHWADDR, SIOCGIFMETRIC
1594 and SIOCGIFMTU.
1595 * include/cygwin/if.h: Add `ifr_hwaddr', `ifr_metric' and `ifr_mtu'.
1596 (struct ifreq): Add `ifru_hwaddr'.
1597
d7ed877b
CV
1598Tue Feb 6 15:04:00 2001 Corinna Vinschen <corinna@vinschen.de>
1599
1600 * syscalls.cc (stat_worker): Add a check for the special case when
1601 a process creates a file using mode 000 using ntsec.
1602
ae9b22c6
CV
1603Mon Feb 5 17:00:00 2001 Corinna Vinschen <corinna@vinschen.de>
1604
1605 * fhandler.cc (fhandler_base::open): Always add GENERIC_READ access
1606 when opening raw disk devices.
1607 * fhandler_floppy.cc (fhandler_dev_floppy::lseek): Implement bytewise
1608 access.
1609 * fhandler_raw.cc (fhandler_dev_raw::open): Always open raw disk device
1610 binary.
1611 (fhandler_dev_raw::raw_write): Don't drop read buffer content when
1612 writing after read.
1613
cada03f9
CV
1614Mon Feb 5 13:30:00 2001 Corinna Vinschen <corinna@vinschen.de>
1615
1616 * mmap.cc (mmap_record::fixup_map): New method to duplicate
1617 the memory protection in a just forked child.
1618 (mmap): Realign gran_len to page boundary only on anonymous
1619 mapping before saving in the mmap_record.
1620 (munmap): Cleanup code.
1621 (msync): Ditto.
1622 (fixup_mmaps_after_fork): Ditto. Call mmap_record::fixup_map now.
1623
47f81092
CF
1624Thu Feb 1 23:08:29 2001 Christopher Faylor <cgf@cygnus.com>
1625
1626 * cygheap.cc (creturn): Correctly calculate cygheap_max.
1627
f8da1507
CF
1628Wed Jan 31 10:04:58 2001 Christopher Faylor <cgf@cygnus.com>
1629
1630 * shared.cc (shared_info::initialize): Reduce size of heap.
1631
83443511
CV
1632Wed Jan 31 13:22:00 2001 Corinna Vinschen <corinna@vinschen.de>
1633
1634 * include/sys/resource.h: Fix typo.
1635
44e6d951
CV
1636Wed Jan 31 13:20:00 2001 Corinna Vinschen <corinna@vinschen.de>
1637
83443511 1638 * include/sys/resource.h: Add RLIMIT_NLIMITS and RLIM_NLIMITS.
44e6d951 1639
4f42df7b
CF
1640Tue Jan 30 18:15:23 2001 Christopher Faylor <cgf@cygnus.com>
1641
1642 * include/cygwin/version.h: Bump version to 1.3.0.
1643
9928a7e1
CV
1644Tue Jan 30 8:55:00 2001 Corinna Vinschen <corinna@vinschen.de>
1645
1646 * pinfo.cc (pinfo::init): Use INVALID_HANDLE_VALUE instead of
1647 explicit cast (HANDLE) 0xffffffff.
1648 * shared.cc (open_shared): Ditto.
1649
747e88d3
CF
1650Mon Jan 29 17:15:22 2001 Bill Hegardt <bill@troyxcd.com>
1651
1652 * fhandler_serial.cc (raw_write): Use local copy of OVERLAPPED
1653 structure instead of shared structure to fix a race condition between
1654 read/write.
1655
68ea0dc2
CV
1656Mon Jan 29 14:30:00 2001 Corinna Vinschen <corinna@vinschen.de>
1657
1658 * mmap.cc (mmap): Remove obsolete check for MAP_SHARED|MAP_ANON as
1659 being invalid.
1660
f977222f
CV
1661Mon Jan 29 10:23:00 2001 Corinna Vinschen <corinna@vinschen.de>
1662
1663 * mmap.cc (mmap_record::find_empty): Fix loop condition.
1664
6a4878cf
CF
1665Sun Jan 28 19:40:40 2001 Christopher Faylor <cgf@cygnus.com>
1666
1667 * syscalls.cc (_link): Make sure that newpath does not exist. Set
1668 errno if it does.
1669
1670Sun Jan 28 19:29:08 2001 Christopher Faylor <cgf@cygnus.com>
1671
1672 * cygheap.cc (init_cheap): Don't specify a load address for the heap.
1673 It doesn't work on #!*& Windows 9x.
1674 (cygheap_init): Move GetUserName to memory_init.
1675 * dcrt0.cc (dll_crt0_1): Call new memory_init functin, eliminate call
1676 to heap_init.
1677 * heap.cc (heap_init): Improve error output.
1678 * heap.h: Correct some declarations.
1679 * shared.cc (mount_table_init): Remove.
1680 (memory_init): Renamed from shared_init. Reorganize to accomodate
1681 strange Windows 9x problems with cygheap/heap interaction.
1682 * shared_info.h: Rename shared_init to memory_init.
1683
ae6c8e4f
CF
1684Sun Jan 28 01:25:33 2001 Christopher Faylor <cgf@cygnus.com>
1685
1686 * include/cygwin/version.h: Bump API version.
1687
9a089f21
CF
1688Sun Jan 28 01:18:22 2001 Christopher Faylor <cgf@cygnus.com>
1689
1690 * cygheap.cc (init_cheap): Move username initialization.
1691 (cygheap_init): Here.
1692 * shared_info.h (mount_info): Add a sys_mount_table_counter field.
1693 (shared_info): Ditto.
1694 * path.cc (mount_info::conv_to_win32_path): Check that our mount table
1695 is in sync with the system mount table and reinitialize it if not.
1696 (mount_info::add_reg_mount): Bump sys_mount_table counters if the
1697 system mount table changes.
1698 (mount_info::del_reg_mount): Ditto.
1699 (mount_info::write_cygdrive_info_to_registry): Ditto.
1700 (mount_info::remove_cygdrive_info_from_registry): Ditto.
1701
2a6fc028
CF
1702Sun Jan 28 00:28:30 2001 Christopher Faylor <cgf@cygnus.com>
1703
1704 Throughout, change 'cygwin_shared.mount' to 'mount_table'.
1705 * child_info.h (child_info): Move shared_h, console_h to cygheap. Add
1706 mount_h.
1707 * cygheap.h (init_cygheap): Add shared_h, console_h.
1708 * cygheap.cc (init_cheap): Initialize heap at a fixed location after
1709 the shared memory regions. Initialize cygheap->user name here.
1710 * dcrt0.cc (dll_crt0_1): Call getpagesize () to initialize constants.
1711 Remove cygheap_init since it is done in shared_init now.
1712 (_dll_crt0): Initialize mount_h, remove shared_h and console_h
1713 initialization.
1714 * fhandler_console.cc (console_shared_h): Eliminate.
1715 (get_tty_stuff): Use cygheap->console_h rather than console_shared_h.
6a4878cf
CF
1716 * heap.cc (heap_init): Use page size constant calculated earlier in
1717 initialization.
2a6fc028
CF
1718 * shared.cc: Eliminate cygwin_shared_h. Add cygwin_mount_h.
1719 (mount_table_init): New function for initializing a user mount table.
6a4878cf
CF
1720 (open_shared_file_map): Use constant for shared memory region.
1721 Initialize cygheap and mount table here.
2a6fc028
CF
1722 (open_shared): Improve debugging output.
1723 (shared_info::initialize): Eliminate call to mount.init.
1724 (shared_terminate): Use cygheap->shared_h. Close cygwin_mount_h.
1725 (open_shared_file_map): Eliminate.
1726 * shared_info.h (mount_info): Add a version field.
6a4878cf
CF
1727 (shared_align_past): New macro for calculating location for shared
1728 memory regions.
2a6fc028 1729 * sigproc.cc (init_child_info): Eliminate shared_h, console_h.
6a4878cf
CF
1730 * spawn.cc (spawn_guts): Pass on cygwin_mount_h iff not a different
1731 user.
2a6fc028
CF
1732 * syscalls.cc (system_info): New global holding system memory defaults.
1733 (getpagesize): Use system_info.
1734 * uinfo.cc (internal_getlogin): Only fill in user name if nonexistent.
1735 * winsup.h: Declare system_info.
1736
6a4878cf
CF
1737 * passwd.cc (read_etc_passwd): Use cygheap->user.name () rather than
1738 retrieving the name again.
2a6fc028 1739
bdfeca60
CF
1740Sat Jan 27 10:18:02 2001 Christopher Faylor <cgf@cygnus.com>
1741
1742 * path.cc (path_conv::check): Detect when path has symlinks.
1743 (symlink_info::check): Remove debugging stuff.
1744 (chdir): Use posix'ized win32 path if cd'ed to a path using symlinks.
1745
206a8d88
CF
1746Fri Jan 26 21:20:28 2001 Christopher Faylor <cgf@cygnus.com>
1747
1748 * exceptions.cc (sigreturn): Call any pending signals prior to
1749 resetting the signal mask so that stacked signals behave correctly.
1750 (sigdelayed): Avoid a race where a signal could end up calling an
1751 incorrect signal handler if two signals come in close together.
1752
174f1a39
CV
1753Tue Jan 23 21:56:00 2001 Corinna Vinschen <corinna@vinschen.de>
1754
1755 * mmap.cc (fhandler_disk_file::mmap): Call CreateFileMapping with
1756 len != 0 only when performing an anonymous mapping.
1757
4c7b8250
CF
1758Mon Jan 22 15:35:28 2001 Christopher Faylor <cgf@cygnus.com>
1759
1760 * path.h: Add a new constant.
1761 * syscalls.cc (_read): Oscillate errno check.
1762
c65a3183
CF
1763Mon Jan 22 15:27:12 2001 Christopher Faylor <cgf@cygnus.com>
1764
1765 * include/cygwin/version.h: Bump API to reflect setlogmask.
1766
29c39fe3
CF
1767Sun Jan 21 22:40:25 2001 Jason Tishler <jt@dothill.com>
1768
1769 * cygwin.din: Add export for setlogmask().
1770 * syslog.cc (setlogmask): New function.
1771
c807d355
CV
1772Thu Jan 18 10:27:00 2001 Corinna Vinschen <corinna@vinschen.de>
1773
1774 * resource.cc (setrlimit): Support RLIMIT_NOFILE.
1775
4e2a97b2
CF
1776Wed Jan 17 23:23:12 2001 Christopher Faylor <cgf@cygnus.com>
1777
1778 * syscalls.cc (setdtablesize): Call with amount to increment not total
1779 amount. Return success or failure error code.
1780
a7cde2b9
CF
1781Wed Jan 17 09:47:13 2001 Christopher Faylor <cgf@cygnus.com>
1782
1783 * autoload.cc (LoadDLLinitfunc): Remove debugging statement.
1784
1785 * exceptions.cc (sig_handle_tty_stop): Move setting of PID_STOPPED to
1786 earlier in interrupt.
1787 ((interrupt_setup): i.e., here.
1788 (sig_handle): Don't queue multiple SIGSTOPS.
1789 * fhandler.h (bg_check_types): Enumerate return value of bg_check for
1790 clarity.
1791 * signal.cc (kill_pgrp): Minor cleanup.
1792 * fhandler_termios.cc (fhandler_termios::bg_check): Use enumerated type
1793 for function return. Don't raise signal if a signal is already queued.
1794 * fhandler_console.cc (fhandler_console::read): Use enumerated return
1795 type for bg_check.
1796 * select.cc: Ditto, throughout.
1797 * read.cc: Ditto, throughout.
1798 * termios.cc: Ditto, throughout.
1799 (_read): YA interrupt detect simplification.
1800 * wait.cc (wait4): Ditto.
1801
cb503978
CV
1802Wed Jan 17 10:56:00 2001 Corinna Vinschen <corinna@vinschen.de>
1803
1804 * cygheap.cc (cygheap_user::~cygheap_user): Temporarily
1805 disable free'ing memory.
1806
9fedfd57
CV
1807Tue Jan 16 18:01:00 2001 Corinna Vinschen <corinna@vinschen.de>
1808
1809 * mmap.cc (mmap): Initialize fh to avoid compiler warnings.
1810
9470a80c
CF
1811Mon Jan 15 21:07:00 2001 Christopher Faylor <cgf@cygnus.com>
1812
1813 * wait.cc (wait4): Rename variable for consistency. Allow restartable
1814 signal behavior.
1815
9334c89c
CV
1816Mon Jan 15 23:15:00 2001 Corinna Vinschen <corinna@vinschen.de>
1817
1818 * mmap.cc (mmap): Add more parameter checking. Change error output
1819 in case of EINVAL. Treat mmapping /dev/zero like MAP_ANONYMOUS.
1820
c6dd43f2
CV
1821Mon Jan 15 20:34:00 2001 Corinna Vinschen <corinna@vinschen.de>
1822
1823 * mmap.cc: include <unistd.h>. Define some bit operations for
1824 the new page map.
1825 (mmap_record): Change type of base_address_ to caddr_t.
1826 Add map_map_ member. Add several methods to manipulate map_map_.
1827 (mmap_record::alloc_map): New method.
1828 (mmap_record::free_map): Ditto.
1829 (mmap_record::find_empty): Ditto.
1830 (mmap_record::map_map): Ditto.
1831 (mmap_record::unmap_map): Ditto.
1832 (list::add_record): Change return type to `mmap_record *'.
1833 Allocate page map.
1834 (list::match): New method.
1835 (mmap): Partly rewritten to take care for the new page map. Add some
1836 parameter checking.
1837 (munmap): Ditto.
1838
66097f06
CV
1839Mon Jan 15 13:50:00 2001 Corinna Vinschen <corinna@vinschen.de>
1840
1841 * heap.cc (heap_init): Fix extern declaration of getpagesize.
1842 * syscalls.cc (getpagesize): Fix another typo.
1843
dc3651b6
CV
1844Mon Jan 15 12:48:00 2001 Corinna Vinschen <corinna@vinschen.de>
1845
1846 * syscalls.cc (getpagesize): Save pagesize in global variable to
1847 avoid calling GetSystemInfo too often.
1848 * heap.cc (getpagesize): Eliminate.
1849 (heap_init): Use getpagesize function from syscalls.cc.
1850
4cf2c0e0
CV
1851Mon Jan 15 11:56:00 2001 Corinna Vinschen <corinna@vinschen.de>
1852
1853 * sysconf.cc (sysconf): return `getpagesize ()' on _SC_PAGESIZE
1854 request to avoid implementing the same twice.
1855
a3ec080b
CF
1856Sun Jan 14 14:07:50 2001 Christopher Faylor <cgf@cygnus.com>
1857
1858 * syscalls.cc (_read): Use more lightweight method for determining if
1859 read has been interrupted by a signal.
1860
c3d62298
CF
1861Fri Jan 12 00:35:15 2001 Christopher Faylor <cgf@cygnus.com>
1862
1863 * debug.h: Add regparm attributes to some functions.
1864
1865 * signal.cc (sigaction): Don't treat SIGCONT specially.
1866
6a4878cf
CF
1867 * exceptions.cc (interrupt_setup): Save sa_flags of interrupted signal
1868 for later use.
c3d62298
CF
1869 (sig_handler): Default any stopping signal to SIGSTOP.
1870 (call_signal_handler): New function.
1871 (sigdelayed0): New function.
6a4878cf
CF
1872 * sigproc.cc (sigproc_init): Initialize SIGSTOP sigaction for special
1873 behavior.
c3d62298
CF
1874 * sigproc.h: Define call_signal_handler.
1875 * syscalls.cc (_read): Allow restartable signal behavior.
1876
c4efddf6
CV
1877Thu Jan 11 13:17:00 2001 Corinna Vinschen <corinna@vinschen.de>
1878
1879 * fhandler.h (fhandler_base): New method `fixup_mmap_after_fork'.
1880 (fhandler_disk_file: Ditto.
1881 (fhandler_dev_mem): Ditto.
1882 * fhandler_mem.cc (fhandler_dev_mem::open): Set OBJ_INHERIT attribute
1883 for device\physicalmemory handle.
1884 (fhandler_dev_mem::mmap): Ditto.
6a4878cf
CF
1885 * fhandler_mem.cc (fhandler_dev_mem::fixup_mmap_after_fork): New
1886 method.
1887 * mmap.cc (mmap_record): Add private `fdesc_' member. Change
1888 constructor accordingly.
c4efddf6
CV
1889 (get_fd): New method.
1890 (mmap): Use new mmap_record constructor.
1891 (fhandler_base::fixup_mmap_after_fork): New method.
1892 (fhandler_disk_file::fixup_mmap_after_fork): Ditto.
6a4878cf 1893 (fixup_mmaps_after_fork): Call `fixup_mmap_after_fork' of appropriate
c4efddf6
CV
1894 fhandler class.
1895
7416e1d2
CF
1896Wed Jan 10 22:08:30 2001 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
1897
1898 * sigproc.cc (wait_sig): Allow SIGCONT when stopped.
1899
55ae1dff
CV
1900Tue Jan 9 16:55:00 2001 Corinna Vinschen <corinna@vinschen.de>
1901
1902