aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/ChangeLog
blob: f7268546fe9407a4a95d4d5b7d5f2ba40b43f9af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
2013-01-20  Christopher Faylor  <me.cygwin2013@cgf.cx>

	Throughout, update copyrights to reflect dates which correspond to
	main-branch checkins.  Regularize copyright format.

2013-01-20  Christopher Faylor  <me.cygwin2013@cgf.cx>

	Throughout, change __attribute__ ((regparm (N))) to just __regN.
	Throughout, (mainly in fhandler*) start fixing gcc 4.7.2 mismatch
	between regparm definitions and declarations.
	* gendef: Define some functions to take @ declaration to accommodate
	_regN defines which use __stdcall.
	* gentls_offsets: Define __regN macros as empty.
	* autoload.cc (wsock_init): Remove unneeded regparm attribute.
	* winsup.h (__reg1): Define.
	(__reg2): Define.
	(__reg3): Define.

	* advapi32.cc (DuplicateTokenEx): Coerce some initializers to avoid
	warnings from gcc 4.7.2.
	* exceptions.cc (status_info): Declare struct to use NTSTATUS.
	(cygwin_exception::dump_exception): Coerce e->ExceptionCode to
	NTSTATUS.
	* fhandler_clipboard.cc (cygnativeformat): Redefine as UINT to avoid
	gcc 4.7.2 warnings.
	(fhandler_dev_clipboard::read): Ditto.

2013-01-20  Christopher Faylor  <me.cygwin2013@cgf.cx>

	* update-copyright (update_maybe): Accommodate perl-style copyright
	comments.

2013-01-20  Christopher Faylor  <me.cygwin2013@cgf.cx>

	* update-copyright: Silently skip nonexistent files.  Display filename
	on update.  Don't update non-Red Hat copyrights.

2013-01-20  Christopher Faylor  <me.cygwin2013@cgf.cx>

	* update-copyright: Update standard copyright information based on cvs
	log and current sandbox status.

2013-01-20  Christopher Faylor  <me.cygwin2013@cgf.cx>

	* malloc_wrapper.cc: Change 'use_internal_malloc' to 'use_internal'
	throughout.
	(export_malloc_called): Delete.
	(internal_malloc_determined): New variable.
	(malloc_init): Control calculation of internal/external malloc based on
	'internal_malloc_determined'.  Use import_address() to determine if
	malloc in user_data is ours or not.
	* miscfuncs.cc (thread_wrapper): Make static.
	(__import_address): Define new function.
	* miscfuncs.h (import_address): New define.
	(__import_address): Declare new function.

2013-01-20  Christopher Faylor  <me.cygwin2013@cgf.cx>

	* sigproc.cc (sig_dispatch_pending): Add correct regparm attributes to
	match declaration.
	(pid_exists): Ditto.
	(proc_subproc): Ditto.
	(sig_clear): Ditto.
	(sig_send): Ditto.
	(checkstate): Ditto.

2013-01-19  Corinna Vinschen  <corinna@vinschen.de>

	* syscalls.cc (rename): Remove ill-conceived NFS workaround from
	2013-01-10 for self-inflicted NFS server problem.

2013-01-19  Christopher Faylor  <me.cygwin2013@cgf.cx>

	* exceptions.cc (ctrl_c_handler): Remove special-case handler for
	"cygwin_finished_initializing".
	* sigproc.cc (exit_thread): Undefine ExitThread earlier to avoid
	recursion on error return.

2013-01-18  Corinna Vinschen  <corinna@vinschen.de>

	* errno.cc (errmap): Map ERROR_LOCK_VIOLATION to EBUSY.

2013-01-18  Corinna Vinschen  <corinna@vinschen.de>

	* mmap.cc (handler_disk_file::msync): Add call to FlushFileBuffers
	to implement MS_SYNC.

2013-01-17  Christopher Faylor  <me.cygwin2013@cgf.cx>

	* mmap.cc (handler_disk_file::msync): Retry up to 99 times if
	FlushViewOFile fails with ERROR_LOCK_VIOLATION.

2013-01-16  Christopher Faylor  <me.cygwin2013@cgf.cx>

	* sigproc.cc (no_signals_available): Finally remove this macro
	entirely.
	(exit_thread): Ensure process lock is released on error exit.
	(sig_send): Simplify "its_me" test.  Remove no_signals_available tests.

2013-01-16  Christopher Faylor  <me.cygwin2013@cgf.cx>

	* pthread.cc (pthread_exit): Add kludge to accommodate noreturn attribute.

2013-01-14  Antti Kantee  <pooka@iki.fi>

	* include/pthread.h (pthread_exit): Mark as "noreturn".

2013-01-14  Christopher Faylor  <me.cygwin2013@cgf.cx>

	* exceptions.cc (signal_exit): Move captive process termination...
	(_cygtls::interrupt_setup): ...into here.
	(sigpacket::process): Simplify setting of handler when have_execed.
	(_cygtls::interrupt_setup): Don't call proc_subproc when we've execed.
	* globals.cc (exit_states): Delete unneeded ES_EXEC_EXIT.
	* pinfo.cc (pinfo::exit): Change debugging output.  Call proc_terminate
	rather than the now-obsolete sigproc_terminate.  Don't set exit_state
	to ES_EXEC_EXIT.  Set exit_state to ES_FINAL later.
	* sigproc.cc (sigproc_terminate): Delete function.
	(wait_sig): Don't call proc_subproc if have_execed.
	* sigproc.h (sigproc_terminate): Delete declaration.
	* sync.h (lock_process::lock_process): Don't set exit_state to
	ES_PROCESS_LOCKED.
	(lock_process::operator LONG): Define.

2013-01-11  Christopher Faylor  <me.cygwin2013@cgf.cx>

	* DevNotes: Add entry cgf-000021.
	* select.cc (select): Unconditionally return when a signal is detected.
	(select_stuff::wait): Ditto.

2013-01-11  Corinna Vinschen  <corinna@vinschen.de>

	* syscalls.cc (rename): Drop handling paths > 32757 chars, emit EINVAL
	instead, thus simplifying code allocating and filling pfri.  Drop size
	and use constant expression in NtSetInformationFile call.  Add comments.
	Drop redundant test for fs_serial_number and change comment accordingly.

2013-01-11  Thomas Wolff  <towo@towo.net>

	* fhandler.h (class dev_console): Flag for expanded control sequence.
	* fhandler_console.cc (char_command): Supporting cursor style modes.

2013-01-10  Corinna Vinschen  <corinna@vinschen.de>

	* path.h (path_conv::fs_type): New method.
	* syscalls.cc (rename): Check for cross-device situation before
	touching anything.  Explain why.  Workaround NFS bug in call to
	NtSetInformationFile(FileRenameInformation).

2013-01-09  Corinna Vinschen  <corinna@vinschen.de>

	* cygerrno.h: Fix copyright.
	* exceptions.cc: Drop comment explaining removed variable.

2013-01-09  Corinna Vinschen  <corinna@vinschen.de>

	* dcrt0.cc (main_thread_sinit): New inline function.  Fix and explain
	a stdio initialization issue.
	(dll_crt0_1): Call main_thread_sinit rather than __sinit.

2013-01-07  Christopher Faylor  <me.cygwin2013@cgf.cx>

	* thread.cc (pthread_rwlock::lookup_reader): Remove parameter: always
	assume that we're looking for the current thread.
	(pthread_rwlock::tryrdlock): Eliminate self variable.  Accommodate
	change in lookup_reader().
	(pthread_rwlock::unlock): Ditto.
	(pthread_rwlock::rdlock): Ditto.  Move add_reader call after writer
	tests to more closely mimic old behavior.
	(pthread_rwlock::wrlock): Accommodate change in lookup_reader().
	* thread.h ((pthread_rwlock::lookup_reader): Eliminate argument.

2013-01-07  Christopher Faylor  <me.cygwin2013@cgf.cx>

	* thread.cc (pthread_rwlock::add_reader): Perform new operation here
	and return pointer to allocated RWLOCK_READER structure.
	(pthread_rwlock::rdlock): Reorganize to reflect new add_reader
	functionality.
	(pthread_rwlock::tryrdlock): Ditto.  Remove unneeded call to
	lookup_reader().
	* thread.h (pthread_rwlock::RWLOCK_READER::RWLOCK_READER): New
	constructor.
	(pthread_rwlock::add_reader): Reflect new functionality.

2013-01-03  Christopher Faylor  <me.cygwin2013@cgf.cx>

	* globals.cc (exit_states): Renumber so that ES_EXIT_STARTING is first,
	as intended.
	* sigproc.cc (wait_sig): Only stop accepting signals after
	exit_state > ES_EXIT_STARTING.

2013-01-03  Christopher Faylor  <me.cygwin2013@cgf.cx>

	* sigproc.cc (exit_thread): Set thread signal mask so that no signals
	are sent to an exiting thread.

2013-01-02  Christopher Faylor  <me.cygwin2013@cgf.cx>

	* sigproc.cc (no_signals_available): Remove exit_state test since
	signals are available in a limited fashion when exiting.
	(sig_dispatch_pending): Ditto.
	(sig_send): Ditto.
	(exit_thread): Rearrange to avoid an unnecessary DuplicateProcess when
	exiting.
	(wait_sig): Allow special signals when exiting.

2013-01-02  Christopher Faylor  <me.cygwin2013@cgf.cx>

	* DevNotes: Add entry cgf-000020, relating to previous checkin.

2013-01-02  Christopher Faylor  <me.cygwin2013@cgf.cx>

	* cygtls.h (_cygtls::signal_exit): Delete from class.
	* exception.h (cygwin_exception): New class.
	(cygwin_exception::dumpstack): Declare new function.
	(cygwin_exception::context): Ditto.
	(cygwin_exception::dump_exception): Ditto.
	* exceptions.cc (cygwin_exception::dump_exception): Move into
	cygwin_exception class.  Accommodate new variable names.
	(cygwin_exception::dumpstack): Ditto stackdump -> dumpstack.
	(exception::handle): Move andreas processing earlier.  Defer signal
	processing decisions to the signal thread where they belong.  Pass
	exception information to sig_send via new siginfo_t si_cyg field.
	(ctrl_c_handler): Wait for SIGHUP signal to be processed since it could
	cause a process exit and we don't want races with thread exit lock.
	(signal_exit): Move back here from sigproc.cc.  Modify arguments and
	remove from sigpacket class.  Decide when to dump core based on signal
	type.
	(sigpacket::process): Handle exiting signals in context of threads
	rather than in the signal thread.  Signal debugger on non-Windows
	signals.  Remove setup_signal_exit call.
	* sigproc.cc (no_signals_available): Remove argument.
	(signal_exit_code): Delete.
	(close_my_readsig): Ditto.
	(_cygtls::signal_exit): Move to exceptions.cc.
	(sigproc_terminate): Don't attempt to terminate signal thread.
	(setup_signal_exit): Delete.
	(exit_thread): Use new si_cyg entry in siginfo_t.
	(sig_send): Just use empty initializer for si.  Accommodate change in
	no_signals_available argument.
	(wait_sig): Remove attempt to "go asynchronous" on process exit.
	Delete __SIGEXIT handling.  Don't ever exit.
	* sigproc.h: Remove __SIGEXIT from signal enum.  Renumber.
	* include/cygwin/signal.h (siginfo_t): Add si_cyg entry.