]>
Commit | Line | Data |
---|---|---|
61522196 CV |
1 | 2013-04-23 Corinna Vinschen <corinna@vinschen.de> |
2 | ||
3 | * Merge in cygwin-64bit-branch. See ChangeLog.64bit for details. | |
4 | ||
40702aef CV |
5 | 2013-04-22 Corinna Vinschen <corinna@vinschen.de> |
6 | ||
7 | * include/sys/queue.h: Delete in favor of more complete newlib file. | |
8 | ||
a1467f64 CV |
9 | 2013-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 |
16 | 2013-04-22 Corinna Vinschen <corinna@vinschen.de> |
17 | ||
18 | * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 19. | |
19 | ||
48f81ac6 CV |
20 | 2013-04-16 Corinna Vinschen <corinna@vinschen.de> |
21 | ||
22 | * glob.cc: Include winsup.h before anything else. | |
23 | ||
492ee4ee CV |
24 | 2013-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 |
30 | 2013-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 |
36 | 2013-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 |
71 | 2013-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 |
77 | 2013-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 |
86 | 2013-04-05 Corinna Vinschen <corinna@vinschen.de> |
87 | ||
88 | * mmap.cc (is_mmapped_region): Call LIST_UNLOCK on premature return. | |
89 | ||
7810aa7c CV |
90 | 2013-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 |
95 | 2013-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 |
106 | 2013-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 |
134 | 2013-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 |
141 | 2013-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 |
150 | 2013-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 |
155 | 2013-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 |
165 | 2013-03-28 Christopher Faylor <me.cygwin2013@cgf.cx> |
166 | ||
167 | * exceptions.cc (exception::handle): Generalize comment. | |
168 | ||
56bc657c CF |
169 | 2013-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 |
179 | 2013-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 |
185 | 2013-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 |
194 | 2013-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 |
203 | 2013-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 |
208 | 2013-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 |
213 | 2013-02-26 Corinna Vinschen <corinna@vinschen.de> |
214 | ||
215 | * include/pthread.h (pthread_atfork): Add missing declaration. | |
216 | ||
7b3739f2 YS |
217 | 2013-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 |
223 | 2013-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 |
228 | 2013-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 |
233 | 2013-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 |
239 | 2013-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 |
262 | 2013-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 |
267 | 2013-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 |
272 | 2013-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 |
277 | 2013-01-22 Christopher Faylor <me.cygwin2013@cgf.cx> |
278 | ||
279 | * miscfuncs.cc (__import_address): Avoid NULL explicitly. | |
280 | ||
9c4478df CF |
281 | 2013-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 |
287 | 2013-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 |
293 | 2013-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 |
299 | 2013-01-21 Christopher Faylor <me.cygwin2013@cgf.cx> |
300 | ||
301 | * update-copyright: Recognize configure.ac scripts too. | |
302 | ||
6d348494 CF |
303 | 2013-01-21 Christopher Faylor <me.cygwin2013@cgf.cx> |
304 | ||
305 | * cygerrno.h (__reg3): Define. | |
306 | * cygmalloc.h (__reg3): Ditto. | |
307 | ||
a526df1e CF |
308 | 2013-01-21 Christopher Faylor <me.cygwin2013@cgf.cx> |
309 | ||
310 | * cygerrno.h: Conditionally define __regN for cygserver. | |
311 | ||
2033ccdd CF |
312 | 2013-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 |
317 | 2013-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 |
322 | 2013-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 |
344 | 2013-01-20 Christopher Faylor <me.cygwin2013@cgf.cx> |
345 | ||
346 | * update-copyright (update_maybe): Accommodate perl-style copyright | |
347 | comments. | |
348 | ||
eb0876b2 CF |
349 | 2013-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 |
354 | 2013-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 |
359 | 2013-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 |
373 | 2013-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 |
383 | 2013-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 |
388 | 2013-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 |
395 | 2013-01-18 Corinna Vinschen <corinna@vinschen.de> |
396 | ||
397 | * errno.cc (errmap): Map ERROR_LOCK_VIOLATION to EBUSY. | |
398 | ||
399 | 2013-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 |
404 | 2013-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 |
409 | 2013-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 |
416 | 2013-01-16 Christopher Faylor <me.cygwin2013@cgf.cx> |
417 | ||
418 | * pthread.cc (pthread_exit): Add kludge to accommodate noreturn attribute. | |
419 | ||
b8540dae CF |
420 | 2013-01-14 Antti Kantee <pooka@iki.fi> |
421 | ||
422 | * include/pthread.h (pthread_exit): Mark as "noreturn". | |
423 | ||
b712b440 CF |
424 | 2013-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 |
441 | 2013-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 |
447 | 2013-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 |
454 | 2013-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 |
459 | 2013-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 |
466 | 2013-01-09 Corinna Vinschen <corinna@vinschen.de> |
467 | ||
468 | * cygerrno.h: Fix copyright. | |
469 | * exceptions.cc: Drop comment explaining removed variable. | |
470 | ||
85d8e389 CV |
471 | 2013-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 |
477 | 2013-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 |
489 | 2013-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 |
501 | 2013-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 |
508 | 2013-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 |
513 | 2013-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 |
523 | 2013-01-02 Christopher Faylor <me.cygwin2013@cgf.cx> |
524 | ||
525 | * DevNotes: Add entry cgf-000020, relating to previous checkin. | |
526 | ||
527 | 2013-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. |