]> sourceware.org Git - newlib-cygwin.git/blame - winsup/cygwin/ChangeLog
* Merge in cygwin-64bit-branch.
[newlib-cygwin.git] / winsup / cygwin / ChangeLog
CommitLineData
61522196
CV
12013-04-23 Corinna Vinschen <corinna@vinschen.de>
2
3 * Merge in cygwin-64bit-branch. See ChangeLog.64bit for details.
4
40702aef
CV
52013-04-22 Corinna Vinschen <corinna@vinschen.de>
6
7 * include/sys/queue.h: Delete in favor of more complete newlib file.
8
a1467f64
CV
92013-04-22 Corinna Vinschen <corinna@vinschen.de>
10
11 Adapt to changes in newlib's sys/cdefs.h:
12 * include/sys/sysinfo.h (struct sysinfo): Rename __unused member to __f.
13 * libc/fts.c (__FBSDID): Drop definition.
14 * regex/regexec.c (__unused): Drop definition.
15
fc1ff115
CV
162013-04-22 Corinna Vinschen <corinna@vinschen.de>
17
18 * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 19.
19
48f81ac6
CV
202013-04-16 Corinna Vinschen <corinna@vinschen.de>
21
22 * glob.cc: Include winsup.h before anything else.
23
492ee4ee
CV
242013-04-12 Corinna Vinschen <corinna@vinschen.de>
25
26 * path.cc (symlink_info::check): Drop PC_KEEP_HANDLE flag for
27 unrecognized reparse points as well. Reorganize code and comments
28 handling reparse points for better readability.
29
8f81761b
CV
302013-04-11 Corinna Vinschen <corinna@vinschen.de>
31
32 * hires.h (hires_ns::nsecs): Declare with bool parameter.
33 * times.cc (hires_ns::nsecs): Take bool parameter. If set to true,
34 don't use prime value (== return system wide absolute value).
35
9d215508
CF
362013-04-08 Christopher Faylor <me.cygwin2013@cgf.cx>
37
38 * cygtls.h (_cygtls::reset_signal_arrived): Actually reset the
39 signal_arrived event.
b49dae4a 40 (_cygtls::handle_SIGCONT): Declare new function.
9d215508
CF
41 * cygwait.cc (is_cw_sig_handle): Delete.
42 (is_cw_sig_cont): New convenience define.
43 (cygwait): Clear signal if is_cw_sig_cont and we got a SIGCONT.
44 * cygwait.h (cw_wait_mask): Add cw_sig_cont.
45 * exceptions.cc (sig_handle_tty_stop): Tighten "incyg" region. Use
46 cw_sig_cont param for cygwait. Don't zero signal here outside of lock.
47 (sigpacket::setup_handler): Don't check for in_forkee since we will now
48 never get here in that state.
49 (_cygtls::handle_SIGCONT): Define new function.
50 (sigpacket::process): Call handle_SIGCONT early to deal with SIGCONT.
51 Nuke continue_now handling. Allow SIGKILL to kill a suspended process.
52 Delete a couple of now-unneeded labels.
53 (_cygtls::call_signal_handler): Reorganize setting of incyg within
54 lock.
55 * sigproc.cc (pending_signals): Simplify.
56 (pending_signals::clear): New method.
57 (_cygtls::remove_wq): Reorganize to always close wq.thread_ev if it
58 exists to avoid handle leaks.
59 (sig_clear): Simplify by just calling sigq.clear().
60 (sig_dispatch_pending): Always call sigq.pending even in signal thread
61 to force another loop in wait_sig.
62 (sig_send): Remove a "goto out" just before out: label.
63 (pending_signals::add): Simplify.
64 (pending_signals::del): Delete.
65 (pending_signals::next): Delete.
66 (wait_sig): Define variable q to be the start of the signal queue.
67 Just iterate through sigq queue, deleting processed or zeroed signals.
68 Only set clearwait when the current signal is SIGCHLD.
69 * sigproc.h: Add a comment about an unused enum.
70
2617a915
CV
712013-04-08 Corinna Vinschen <corinna@vinschen.de>
72
73 * fhandler_socket.cc (get_inet_addr): Handle abstract AF_LOCAL socket.
74 (fhandler_socket::recv_internal): Create abstract socket name for
75 AF_LOCAL datagram sockets. Explain why we do that.
76
f653639a
CF
772013-04-07 Christopher Faylor <me.cygwin2013@cgf.cx>
78
79 * cygheap.cc (init_cygheap::find_tls): Add a comment.
80 * dcrt0.cc (parent_sigmask): Delete.
81 (dll_crt0_1): Use spawn_info->moreinfo->sigmask rather than saved
82 parent signal mask.
83 * thread.cc (pthread::thread_init_wrapper): Add comment stressing the
84 importance of maintaining ordering of statements.
85
9158bb11
CV
862013-04-05 Corinna Vinschen <corinna@vinschen.de>
87
88 * mmap.cc (is_mmapped_region): Call LIST_UNLOCK on premature return.
89
7810aa7c
CV
902013-04-03 Corinna Vinschen <corinna@vinschen.de>
91
92 * fhandler_proc.cc (format_proc_loadavg): Raise too small buffer size
93 to avoid overwriting unrelated cygheap memory.
94
d1bef838
CV
952013-04-03 Corinna Vinschen <corinna@vinschen.de>
96
97 * path.cc (class suffix_scan): Add member namelen.
98 (suffix_scan::name_len): New method.
99 (suffix_scan::has): Store namelen since we have it already anyway.
100 Add a bit of explanation and a FIXME to comment.
101 (suffix_scan::next): Never attach extra .lnk suffix if resulting
102 filename length exceeds NAME_LEN.
103 (symlink_info::check): Bail out immediately with ENAMETOOLONG if
104 filename length exceeds NAME_LEN.
105
8f8eeb70
CF
1062013-03-31 Christopher Faylor <me.cygwin2013@cgf.cx>
107
108 * child_info.h (cygheap_exec_info::sigmask): Declare new field.
109 * cygheap.cc (init_cygheap::find_tls): Rename threadlist_ix -> ix.
110 Only take one pass through thread list, looking for eligible threads to
111 signal. Set a new param indicating that function has found a sigwait*
112 mask.
113 * cygheap.h (init_cygheap::find_tls): Reflect new parameter.
114 * dcrt0.cc (parent_sigmask): New variable.
115 (child_info_spawn::handle_spawn): Save parent's signal mask here.
116 (dll_crt0_1): Restore parent's signal mask to tls sigmask as
117 appropriate. Call sig_dispatch_pending to flush signal queue when we
118 can finally do something with signals.
119 * exceptions.cc (sigpacket::process): Avoid attempting to handle
120 signals if we haven't finished initializing. Rely on the fact that
121 find_tls will do mask checking and don't do it again. Delete ill-named
122 'dummy' variable.
123 * sigproc.cc (cygheap_exec_info::alloc): Save calling thread's signal
124 mask in new sigmask field.
125 (wait_sig): Try to debug when WFSO fails and DEBUGGING is defined.
126 * thread.cc (pthread::set_tls_self_pointer): Make this a true automatic
127 method rather than inexplicably relying on a thread parameter.
128 (pthread::thread_init_wrapper): Accommodate set_tls_self_pointer change
129 to non-static. Initialize sigmask before setting tid or suffer signal
130 races.
037ad80a 131 * thread.h (pthread::set_tls_self_pointer): Make non-static, delete
8f8eeb70
CF
132 parameter.
133
4aa4632a
CV
1342013-03-29 Corinna Vinschen <corinna@vinschen.de>
135
136 * cygthread.cc (cygthread::terminate_thread): Only try to free
137 thread stack on systems not freeing it by themselves.
138 * wincap.h (wincaps::terminate_thread_frees_stack): New element.
139 * wincap.cc: Implement above element throughout.
140
bb93b7ab
CF
1412013-03-29 Christopher Faylor <me.cygwin2013@cgf.cx>
142
143 * pinfo.h (pinfo::status_exit): Rename from former static function in
144 pinfo.cc.
145 (pinfo::operator == (char *)): Remove unused operator.
146 * pinfo.cc (pinfo::status_exit): Move this function info pinfo class.
147 Use progname from the pinfo rather than myself. Be defensive when
148 inspecting procinfo.
149
6fcb2238
CF
1502013-03-29 Christopher Faylor <me.cygwin2013@cgf.cx>
151
152 * sigproc.cc (wait_sig): Avoid uninitialized use of nb when retrying.
153 Consolidate two error messages into one.
154
5e31c80e
CF
1552013-03-28 Christopher Faylor <me.cygwin2013@cgf.cx>
156
157 * sigproc.cc (pending_signals::retry): Declare new element.
158 (pending_signals::pending): Force an additional loop through wait_sig
159 by setting retry whenever this function is called.
6fcb2238 160 (wait_sig): Reorganize to wait for SIGHOLD at bottom. Always add
5e31c80e
CF
161 signal to pending queue and work on whole queue rather than just the
162 one signal. Loop when sigq.retry is set. Fix long-broken check for
163 SIGCHLD after queued signals.
164
1a863e04
CF
1652013-03-28 Christopher Faylor <me.cygwin2013@cgf.cx>
166
167 * exceptions.cc (exception::handle): Generalize comment.
168
56bc657c
CF
1692013-03-09 Christopher Faylor <me.cygwin2013@cgf.cx>
170
171 * cygtls.h (_cygtls::signal_debugger): Change argument type.
172 (_cygtls::copy_context): Delete declaration.
173 * exceptions.cc (exception::handle): Don't call copy_context() here.
174 Move signal_handler call earlier and always call it.
175 (_cygtls::copy_context): Delete definition.
176 (_cygtls::signal_debugger): Move copy_context logic here. Suspend
177 thread receiving signal before gathering context information.
178
6a375e03
CF
1792013-03-08 Christopher Faylor <me.cygwin2013@cgf.cx>
180
181 * spawn.cc (child_info_spawn::worker): Save and restore my_wr_proc_pipe
182 around non-execing operations to avoid handle leak seen in
183 http://cygwin.com/ml/cygwin/2013-03/msg00152.html .
184
8981489b
CV
1852013-03-07 Corinna Vinschen <corinna@vinschen.de>
186
187 * include/sys/un.h (UNIX_PATH_MAX): Rename from UNIX_PATH_LEN to
188 follow Linux.
189 * fhandler_socket.cc: Change UNIX_PATH_LEN to UNIX_PATH_MAX throughout.
190 (fhandler_socket::recv_internal): Don't return prematurely in case of
191 successful return. For AF_LOCAL sockets, overwrite returned AF_INET
192 name with AF_LOCAL name.
193
b5545a7b
CV
1942013-03-07 Corinna Vinschen <corinna@vinschen.de>
195
196 * fhandler_socket.cc (fhandler_socket::bind): Fix check for AF_LOCAL
197 filename length to allow non-NUL terminated strings within namelen
198 bytes. Copy over sun_path to local array sun_path to have a
199 NUL-terminated string for subsequent function calls. Move path_conv
200 check before OS bind call to not bind the socket before being sure
201 the file doesn't exist. Add and fix comments.
202
bd142b93
CV
2032013-03-06 Corinna Vinschen <corinna@vinschen.de>
204
205 * mount.cc (fs_names): Add trailing NULL element to avoid potential
206 SEGV in format_proc_filesystems.
207
aad4a3c9
CF
2082013-03-01 Christopher Faylor <me.cygwin2013@cgf.cx>
209
f77f82bb 210 * exceptions.cc (exception::handle): Eliminate buggy recursed variable;
aad4a3c9
CF
211 just check if we're exiting.
212
1ef8ce71
CV
2132013-02-26 Corinna Vinschen <corinna@vinschen.de>
214
215 * include/pthread.h (pthread_atfork): Add missing declaration.
216
7b3739f2
YS
2172013-02-20 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
218
219 * include/error.h (error_message_count): Declare as dllimport.
220 (error_one_per_line): Ditto.
221 (error_print_progname): Ditto.
222
064e3a91
CV
2232013-02-08 Corinna Vinschen <corinna@vinschen.de>
224
225 * child_info.h (CURR_CHILD_INFO_MAGIC): Update.
226 (class child_info_fork): Drop extraneous semicolon.
227
cf4acdbc
CV
2282013-02-04 Corinna Vinschen <corinna@vinschen.de>
229
230 * fhandler_socket.cc (fhandler_socket::bind): Fix error code for
231 empty filename.
232
188fc1cf
CV
2332013-02-04 Corinna Vinschen <corinna@vinschen.de>
234
235 * fhandler_socket.cc (fhandler_socket::bind): Fix length check of
236 AF_LOCAL filename so it never accesses memory beyond namelen. Also
237 make sure filename is NUL-terminated.
238
118e51be
CF
2392013-01-31 Christopher Faylor <me.cygwin2013@cgf.cx>
240
241 * DevNotes: Add entry cgf-000022.
242 * cygtls.h (_cygtls::func): Define as a sa_sigaction style function.
243 * exceptions.cc (sig_handle_tty_stop): Ditto.
244 (_cygtls::interrupt_setup): Fix coercion to accommodate 'func' change.
245 (ctrl_c_handler): Use tty kill_pgrp to send a signal.
246 (sigpacket::process): Don't process sigflush here.
247 (_cygtls::call_signal_handler): Reorganize to avoid a race. Always
248 call sa_sigaction style function.
249 * fhandler_termios.cc (is_flush_sig): Define new function.
250 (tty_min::kill_pgrp): Handle tty flush when signal detected.
251 (fhandler_termios::bg_check): Be slightly more paranoid about checking
252 for valid tty.
253 (fhandler_termios::sigflush): Don't flush unless tty owner.
254 * fhandler_tty.cc (fhandler_pty_slave::ioctl): Use tty kill_pgrp to
255 send signal.
256 (fhandler_pty_master::ioctl): Ditto.
257 * signal.cc (killsys): Delete definition.
258 * sigproc.h (killsys): Delete declaration.
259 * include/cygwin/signal.h (siginfo_t): Simplify union/struct nesting
260 slightly. Implement mechanism to allow cygwin data passing.
261
a69e2790
CF
2622013-01-23 Christopher Faylor <me.cygwin2013@cgf.cx>
263
264 * miscfuncs.cc (__import_address): Check if malloc field points
265 directly at 'malloc'.
266
0e8c8b00
CF
2672013-01-23 Christopher Faylor <me.cygwin2013@cgf.cx>
268
269 * miscfuncs.cc (__import_address): On second thought, the chance that
270 this pointer could be NULL is very low so don't bother checking for it.
271
df37bdc5
CF
2722013-01-23 Christopher Faylor <me.cygwin2013@cgf.cx>
273
274 * exceptions.cc (exception::handle): Make attempt to recursively dump
275 stack fatal.
276
1fc747f3
CF
2772013-01-22 Christopher Faylor <me.cygwin2013@cgf.cx>
278
279 * miscfuncs.cc (__import_address): Avoid NULL explicitly.
280
9c4478df
CF
2812013-01-22 Christopher Faylor <me.cygwin2013@cgf.cx>
282
283 * miscfuncs.cc (__import_address): Avoid treating random instructions
284 as import jump.
285 * malloc_wrapper.cc (malloc_init): Remove comment about 64-bit.
286
93ff4bbe
CF
2872013-01-21 Christopher Faylor <me.cygwin2013@cgf.cx>
288
289 * dcrt0.cc (dll_crt0_1): Comment assumption.
290 * exceptions.cc (sigpacket::setup_handler): Avoid sending signals
291 during fork processing.
292
3b1a8c57
CF
2932013-01-21 Christopher Faylor <me.cygwin2013@cgf.cx>
294
295 * dcrt0.cc (dll_crt0_1): Flag that we are working "incyg". Handle any
296 signals (presumably exiting signals) which may have come in while we
297 are in the process of setting up.
298
f5183c25
CF
2992013-01-21 Christopher Faylor <me.cygwin2013@cgf.cx>
300
301 * update-copyright: Recognize configure.ac scripts too.
302
6d348494
CF
3032013-01-21 Christopher Faylor <me.cygwin2013@cgf.cx>
304
305 * cygerrno.h (__reg3): Define.
306 * cygmalloc.h (__reg3): Ditto.
307
a526df1e
CF
3082013-01-21 Christopher Faylor <me.cygwin2013@cgf.cx>
309
310 * cygerrno.h: Conditionally define __regN for cygserver.
311
2033ccdd
CF
3122013-01-20 Christopher Faylor <me.cygwin2013@cgf.cx>
313
314 * malloc_wrapper.cc (malloc_init): Re-add inadvertently dropped comment
315 which explains what's going on with the use_internal calculation.
316
bc837d22
CF
3172013-01-20 Christopher Faylor <me.cygwin2013@cgf.cx>
318
319 Throughout, update copyrights to reflect dates which correspond to
320 main-branch checkins. Regularize copyright format.
321
6e75c72b
CF
3222013-01-20 Christopher Faylor <me.cygwin2013@cgf.cx>
323
324 Throughout, change __attribute__ ((regparm (N))) to just __regN.
325 Throughout, (mainly in fhandler*) start fixing gcc 4.7.2 mismatch
326 between regparm definitions and declarations.
327 * gendef: Define some functions to take @ declaration to accommodate
328 _regN defines which use __stdcall.
329 * gentls_offsets: Define __regN macros as empty.
330 * autoload.cc (wsock_init): Remove unneeded regparm attribute.
331 * winsup.h (__reg1): Define.
332 (__reg2): Define.
333 (__reg3): Define.
334
335 * advapi32.cc (DuplicateTokenEx): Coerce some initializers to avoid
336 warnings from gcc 4.7.2.
337 * exceptions.cc (status_info): Declare struct to use NTSTATUS.
338 (cygwin_exception::dump_exception): Coerce e->ExceptionCode to
339 NTSTATUS.
340 * fhandler_clipboard.cc (cygnativeformat): Redefine as UINT to avoid
341 gcc 4.7.2 warnings.
342 (fhandler_dev_clipboard::read): Ditto.
343
d89e61f3
CF
3442013-01-20 Christopher Faylor <me.cygwin2013@cgf.cx>
345
346 * update-copyright (update_maybe): Accommodate perl-style copyright
347 comments.
348
eb0876b2
CF
3492013-01-20 Christopher Faylor <me.cygwin2013@cgf.cx>
350
351 * update-copyright: Silently skip nonexistent files. Display filename
352 on update. Don't update non-Red Hat copyrights.
353
0413f0bd
CF
3542013-01-20 Christopher Faylor <me.cygwin2013@cgf.cx>
355
356 * update-copyright: Update standard copyright information based on cvs
357 log and current sandbox status.
358
4713b1b2
CF
3592013-01-20 Christopher Faylor <me.cygwin2013@cgf.cx>
360
361 * malloc_wrapper.cc: Change 'use_internal_malloc' to 'use_internal'
362 throughout.
363 (export_malloc_called): Delete.
364 (internal_malloc_determined): New variable.
365 (malloc_init): Control calculation of internal/external malloc based on
366 'internal_malloc_determined'. Use import_address() to determine if
367 malloc in user_data is ours or not.
368 * miscfuncs.cc (thread_wrapper): Make static.
369 (__import_address): Define new function.
370 * miscfuncs.h (import_address): New define.
371 (__import_address): Declare new function.
372
1471537a
CF
3732013-01-20 Christopher Faylor <me.cygwin2013@cgf.cx>
374
375 * sigproc.cc (sig_dispatch_pending): Add correct regparm attributes to
376 match declaration.
377 (pid_exists): Ditto.
378 (proc_subproc): Ditto.
379 (sig_clear): Ditto.
380 (sig_send): Ditto.
381 (checkstate): Ditto.
382
a32a9a87
CV
3832013-01-19 Corinna Vinschen <corinna@vinschen.de>
384
385 * syscalls.cc (rename): Remove ill-conceived NFS workaround from
386 2013-01-10 for self-inflicted NFS server problem.
387
d5c97794
CF
3882013-01-19 Christopher Faylor <me.cygwin2013@cgf.cx>
389
390 * exceptions.cc (ctrl_c_handler): Remove special-case handler for
391 "cygwin_finished_initializing".
392 * sigproc.cc (exit_thread): Undefine ExitThread earlier to avoid
393 recursion on error return.
394
5d858e49
CV
3952013-01-18 Corinna Vinschen <corinna@vinschen.de>
396
397 * errno.cc (errmap): Map ERROR_LOCK_VIOLATION to EBUSY.
398
3992013-01-18 Corinna Vinschen <corinna@vinschen.de>
b31aa390
CV
400
401 * mmap.cc (handler_disk_file::msync): Add call to FlushFileBuffers
402 to implement MS_SYNC.
403
c5eb7a49
CF
4042013-01-17 Christopher Faylor <me.cygwin2013@cgf.cx>
405
406 * mmap.cc (handler_disk_file::msync): Retry up to 99 times if
407 FlushViewOFile fails with ERROR_LOCK_VIOLATION.
408
211dd84b
CF
4092013-01-16 Christopher Faylor <me.cygwin2013@cgf.cx>
410
411 * sigproc.cc (no_signals_available): Finally remove this macro
412 entirely.
413 (exit_thread): Ensure process lock is released on error exit.
414 (sig_send): Simplify "its_me" test. Remove no_signals_available tests.
415
b01065f1
CF
4162013-01-16 Christopher Faylor <me.cygwin2013@cgf.cx>
417
418 * pthread.cc (pthread_exit): Add kludge to accommodate noreturn attribute.
419
b8540dae
CF
4202013-01-14 Antti Kantee <pooka@iki.fi>
421
422 * include/pthread.h (pthread_exit): Mark as "noreturn".
423
b712b440
CF
4242013-01-14 Christopher Faylor <me.cygwin2013@cgf.cx>
425
18905f55 426 * exceptions.cc (signal_exit): Move captive process termination...
b712b440
CF
427 (_cygtls::interrupt_setup): ...into here.
428 (sigpacket::process): Simplify setting of handler when have_execed.
429 (_cygtls::interrupt_setup): Don't call proc_subproc when we've execed.
430 * globals.cc (exit_states): Delete unneeded ES_EXEC_EXIT.
431 * pinfo.cc (pinfo::exit): Change debugging output. Call proc_terminate
432 rather than the now-obsolete sigproc_terminate. Don't set exit_state
433 to ES_EXEC_EXIT. Set exit_state to ES_FINAL later.
434 * sigproc.cc (sigproc_terminate): Delete function.
435 (wait_sig): Don't call proc_subproc if have_execed.
436 * sigproc.h (sigproc_terminate): Delete declaration.
437 * sync.h (lock_process::lock_process): Don't set exit_state to
438 ES_PROCESS_LOCKED.
439 (lock_process::operator LONG): Define.
440
2f47bbd5
CF
4412013-01-11 Christopher Faylor <me.cygwin2013@cgf.cx>
442
443 * DevNotes: Add entry cgf-000021.
444 * select.cc (select): Unconditionally return when a signal is detected.
445 (select_stuff::wait): Ditto.
446
71421974
CV
4472013-01-11 Corinna Vinschen <corinna@vinschen.de>
448
449 * syscalls.cc (rename): Drop handling paths > 32757 chars, emit EINVAL
450 instead, thus simplifying code allocating and filling pfri. Drop size
451 and use constant expression in NtSetInformationFile call. Add comments.
452 Drop redundant test for fs_serial_number and change comment accordingly.
453
09707415
CV
4542013-01-11 Thomas Wolff <towo@towo.net>
455
456 * fhandler.h (class dev_console): Flag for expanded control sequence.
457 * fhandler_console.cc (char_command): Supporting cursor style modes.
458
34ce8088
CV
4592013-01-10 Corinna Vinschen <corinna@vinschen.de>
460
461 * path.h (path_conv::fs_type): New method.
462 * syscalls.cc (rename): Check for cross-device situation before
463 touching anything. Explain why. Workaround NFS bug in call to
464 NtSetInformationFile(FileRenameInformation).
465
2b814a19
CV
4662013-01-09 Corinna Vinschen <corinna@vinschen.de>
467
468 * cygerrno.h: Fix copyright.
469 * exceptions.cc: Drop comment explaining removed variable.
470
85d8e389
CV
4712013-01-09 Corinna Vinschen <corinna@vinschen.de>
472
473 * dcrt0.cc (main_thread_sinit): New inline function. Fix and explain
474 a stdio initialization issue.
475 (dll_crt0_1): Call main_thread_sinit rather than __sinit.
476
98f16610
CF
4772013-01-07 Christopher Faylor <me.cygwin2013@cgf.cx>
478
479 * thread.cc (pthread_rwlock::lookup_reader): Remove parameter: always
480 assume that we're looking for the current thread.
481 (pthread_rwlock::tryrdlock): Eliminate self variable. Accommodate
482 change in lookup_reader().
483 (pthread_rwlock::unlock): Ditto.
484 (pthread_rwlock::rdlock): Ditto. Move add_reader call after writer
485 tests to more closely mimic old behavior.
486 (pthread_rwlock::wrlock): Accommodate change in lookup_reader().
487 * thread.h ((pthread_rwlock::lookup_reader): Eliminate argument.
488
8f3f61eb
CF
4892013-01-07 Christopher Faylor <me.cygwin2013@cgf.cx>
490
491 * thread.cc (pthread_rwlock::add_reader): Perform new operation here
492 and return pointer to allocated RWLOCK_READER structure.
493 (pthread_rwlock::rdlock): Reorganize to reflect new add_reader
494 functionality.
495 (pthread_rwlock::tryrdlock): Ditto. Remove unneeded call to
496 lookup_reader().
497 * thread.h (pthread_rwlock::RWLOCK_READER::RWLOCK_READER): New
498 constructor.
499 (pthread_rwlock::add_reader): Reflect new functionality.
500
0fd830ef
CF
5012013-01-03 Christopher Faylor <me.cygwin2013@cgf.cx>
502
503 * globals.cc (exit_states): Renumber so that ES_EXIT_STARTING is first,
504 as intended.
505 * sigproc.cc (wait_sig): Only stop accepting signals after
506 exit_state > ES_EXIT_STARTING.
507
fba91299
CF
5082013-01-03 Christopher Faylor <me.cygwin2013@cgf.cx>
509
510 * sigproc.cc (exit_thread): Set thread signal mask so that no signals
511 are sent to an exiting thread.
512
d8e0d0a1
CF
5132013-01-02 Christopher Faylor <me.cygwin2013@cgf.cx>
514
515 * sigproc.cc (no_signals_available): Remove exit_state test since
516 signals are available in a limited fashion when exiting.
517 (sig_dispatch_pending): Ditto.
518 (sig_send): Ditto.
519 (exit_thread): Rearrange to avoid an unnecessary DuplicateProcess when
520 exiting.
521 (wait_sig): Allow special signals when exiting.
522
36e97781
CF
5232013-01-02 Christopher Faylor <me.cygwin2013@cgf.cx>
524
525 * DevNotes: Add entry cgf-000020, relating to previous checkin.
526
5272013-01-02 Christopher Faylor <me.cygwin2013@cgf.cx>
ca77b848
CF
528
529 * cygtls.h (_cygtls::signal_exit): Delete from class.
530 * exception.h (cygwin_exception): New class.
531 (cygwin_exception::dumpstack): Declare new function.
532 (cygwin_exception::context): Ditto.
533 (cygwin_exception::dump_exception): Ditto.
534 * exceptions.cc (cygwin_exception::dump_exception): Move into
535 cygwin_exception class. Accommodate new variable names.
536 (cygwin_exception::dumpstack): Ditto stackdump -> dumpstack.
537 (exception::handle): Move andreas processing earlier. Defer signal
538 processing decisions to the signal thread where they belong. Pass
539 exception information to sig_send via new siginfo_t si_cyg field.
540 (ctrl_c_handler): Wait for SIGHUP signal to be processed since it could
541 cause a process exit and we don't want races with thread exit lock.
542 (signal_exit): Move back here from sigproc.cc. Modify arguments and
543 remove from sigpacket class. Decide when to dump core based on signal
544 type.
545 (sigpacket::process): Handle exiting signals in context of threads
546 rather than in the signal thread. Signal debugger on non-Windows
547 signals. Remove setup_signal_exit call.
548 * sigproc.cc (no_signals_available): Remove argument.
549 (signal_exit_code): Delete.
550 (close_my_readsig): Ditto.
551 (_cygtls::signal_exit): Move to exceptions.cc.
552 (sigproc_terminate): Don't attempt to terminate signal thread.
553 (setup_signal_exit): Delete.
554 (exit_thread): Use new si_cyg entry in siginfo_t.
555 (sig_send): Just use empty initializer for si. Accommodate change in
556 no_signals_available argument.
557 (wait_sig): Remove attempt to "go asynchronous" on process exit.
558 Delete __SIGEXIT handling. Don't ever exit.
559 * sigproc.h: Remove __SIGEXIT from signal enum. Renumber.
560 * include/cygwin/signal.h (siginfo_t): Add si_cyg entry.
This page took 0.089964 seconds and 5 git commands to generate.