]>
Commit | Line | Data |
---|---|---|
f054a20f CF |
1 | 2004-10-19 Christopher Faylor <cgf@timesys.com> |
2 | ||
3 | * fhandler_console.cc (fhandler_console::fixup_after_exec): Fix error | |
4 | message. | |
5 | ||
96536b50 CF |
6 | 2004-10-12 Christopher Faylor <cgf@timesys.com> |
7 | ||
8 | * select.cc (start_thread_socket): Remove unused code. | |
9 | ||
cbec131f CF |
10 | 2004-10-11 Christopher Faylor <cgf@timesys.com> |
11 | ||
12 | * fhandler_termios.cc (fhandler_termios::tcsetpgrp): Revert previous checkin. | |
13 | ||
1cda1322 CF |
14 | 2004-10-10 Christopher Faylor <cgf@timesys.com> |
15 | ||
16 | * cygtls.h (exitsock): New element. | |
17 | (exitsock_sin): Ditto. | |
18 | * cygtls.cc (_cygtls::init_thread): Initialize exitsock to invalid handle. | |
19 | (_cygtls::call2): Close exitsock if it is valid. | |
20 | * select.cc (struct socketinf): Remove sin element. | |
21 | (start_thread_socket): Initialize one SOCK_DGRAM socket per thread | |
22 | instead of (apparently) expensive opening and closing of socket with | |
23 | each select call. | |
24 | (socket_cleanup): Send a byte to the exitsock socket as a way to | |
25 | potentially signal a waiting-for-socket thread to exit. | |
26 | * tlsoffsets.h: Regenerate. | |
27 | ||
60cb120f CV |
28 | 2004-10-07 Corinna Vinschen <corinna@vinschen.de> |
29 | ||
30 | * cygheap.h (class cygheap_user): Add psystemroot member and | |
31 | env_systemroot method. | |
32 | * environ.cc (struct spenv): Add add_always member. | |
1cda1322 | 33 | (spenvs): Accommodate new add_always member. Add |
60cb120f CV |
34 | cygheap_user::env_systemroot method to SYSTEMROOT entry. |
35 | (build_env): Check add_always member when adding missing environment | |
36 | variables from spenvs. | |
37 | * uinfo.cc (cygheap_user::env_systemroot): New method. | |
38 | ||
9286b553 CV |
39 | 2004-10-07 Corinna Vinschen <corinna@vinschen.de> |
40 | ||
41 | * dcrt0.cc (dll_crt0_0): Drop duplicated line. | |
42 | ||
859d85de CF |
43 | 2004-10-07 Christopher Faylor <cgf@timesys.com> |
44 | ||
45 | * spawn.cc (pthread_cleanup::oldmask): Default to invalid signal mask. | |
46 | (do_cleanup): Test for invalid signal mask to decide whether to restore | |
47 | the mask rather than assuming zero mask indicates that there is nothing | |
48 | to do. | |
49 | ||
b9cd8fb5 CV |
50 | 2004-10-07 Mark Paulus <mark.paulus@mci.com> |
51 | ||
52 | * fhandler_tty.cc (fhandler_tty_slave::read): Use previously | |
53 | evaluated time_to_wait value. | |
54 | ||
b0637a51 PH |
55 | 2004-10-05 Pierre Humblet <pierre.humblet@ieee.org> |
56 | ||
57 | * external.cc (check_ntsec): Do not call wincap.has_security. | |
58 | * path.cc (path_conv::check): Ditto. | |
59 | * security.cc (get_object_attribute): Ditto. | |
60 | (get_file_attribute): Ditto. | |
61 | ||
01903046 CF |
62 | 2004-10-05 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl> |
63 | ||
64 | * pinfo.cc (_pinfo::commune_send): Correct debugging output. | |
65 | ||
34421ac3 CF |
66 | 2004-10-04 Christopher Faylor <cgf@timesys.com> |
67 | ||
68 | * include/cygwin/signal.h: Add siginterrupt definition. | |
69 | ||
e49bc789 PH |
70 | 2004-10-02 Pierre Humblet <pierre.humblet@ieee.org> |
71 | ||
72 | * path.h (enum path_types): Delete PATH_ISDISK. | |
73 | (path_conv::isdisk): Delete method. | |
74 | (path_conv::set_isdisk): Ditto. | |
75 | * path.cc (path_conv::check): Do not call set_isdisk. | |
1cda1322 | 76 | * uinfo.cc(pwdgrp::load): Do not call pc.isdisk. |
e49bc789 | 77 | |
e3e443e4 CF |
78 | 2004-09-28 Christopher Faylor <cgf@timesys.com> |
79 | ||
80 | * fhandler_termios.cc (fhandler_termios::tcsetpgrp): Disallow attempts | |
81 | to set the process group to a nonexistent process group. | |
82 | ||
2b94cfce CV |
83 | 2004-09-27 Corinna Vinschen <corinna@vinschen.de> |
84 | ||
85 | * lib/_cygwin_crt0_common.cc: Revert patch from 2004-09-16. Brakes | |
86 | newly built DLLs. | |
87 | ||
98fc1a6d CF |
88 | 2004-09-24 Christopher Faylor <cgf@timesys.com> |
89 | Sergey Ivanov <seriv@parkheights.dyndns.org> | |
90 | ||
91 | * path.cc (mount_info::read_cygdrive_info_from_registry): Default | |
92 | /cygdrive to binary mode. | |
93 | ||
20e474d7 PH |
94 | 2004-09-22 Pierre Humblet <pierre.humblet@ieee.org> |
95 | ||
96 | * path.cc (normalize_win32_path): Only look for : in second position. | |
97 | Avoid infinite loop with names starting in double dots. | |
98fc1a6d | 98 | (mount_info::conv_to_win32_path): Do not worry about a trailing dot. |
20e474d7 PH |
99 | (hash_path_name): Ditto. |
100 | ||
0ae97cf7 CF |
101 | 2004-09-20 Christopher Faylor <cgf@timesys.com> |
102 | ||
103 | * exceptions.cc (sig_handle_tty_stop): Set flag earlier. | |
104 | ||
e58412a2 CF |
105 | 2004-09-20 Christopher Faylor <cgf@timesys.com> |
106 | ||
107 | * exceptions.cc (sig_handle_tty_stop): Set flag that we are in a cygwin | |
108 | function to avoid a probably erroneous stack walk. | |
109 | ||
af444ab7 CV |
110 | 2004-09-17 Corinna Vinschen <corinna@vinschen.de> |
111 | ||
112 | * syscalls.cc (unlink): Don't use "delete on close" on remote shares. | |
113 | ||
95a12a85 CV |
114 | 2004-09-17 Corinna Vinschen <corinna@vinschen.de> |
115 | ||
ac652b50 | 116 | * cygwin.din (_impure_ptr): Add export again. There are libs out there. |
95a12a85 | 117 | |
368ffbe3 CV |
118 | 2004-09-16 Corinna Vinschen <corinna@vinschen.de> |
119 | ||
120 | * cygwin.din (_impure_ptr): Don't export. | |
121 | (reent_data): Export. | |
122 | * lib/_cygwin_crt0_common.cc (_impure_ptr): Drop entirely. Don't | |
123 | initialize _impure_ptr or u->impure_ptr_ptr. | |
124 | ||
22a1a24f CF |
125 | 2004-09-15 Corinna Vinschen <corinna@vinschen.de> |
126 | ||
127 | * cygwin.din (_impure_ptr): Export. | |
128 | (reent_data): Don't export. | |
129 | * dcrt0.cc (reent_data): Drop. | |
130 | (__cygwin_user_data): Initialize impure_ptr as GLOBAL_REENT. | |
131 | (_dll_crt0): Initialize _impure_ptr as GLOBAL_REENT. | |
132 | * lib/_cygwin_crt0_common.cc (_impure_ptr): Drop. Declare extern as | |
133 | dllimport instead. | |
134 | ||
a9f36d28 CF |
135 | 2004-09-14 Christopher Faylor <cgf@timesys.com> |
136 | ||
137 | * cygtls.h: Add alignment kludge to fix disparity between compilers. | |
138 | * tlsoffsets.h: Regenerate. | |
139 | ||
140 | * fork.cc (slow_pid_reuse): Use define to control number of pids held | |
141 | to prevent pid reuse. | |
142 | ||
599b41c4 CV |
143 | 2004-09-14 Sam Steingold <sds@gnu.org> |
144 | ||
145 | * autoload.cc (EnumProcessModules): Add. | |
146 | * dlfcn.cc (dlsym): Handle RTLD_DEFAULT using EnumProcessModules(). | |
147 | * include/dlfcn.h (RTLD_DEFAULT): Define to NULL. | |
148 | ||
fc3a4274 CF |
149 | 2004-09-13 Christopher Faylor <cgf@timesys.com> |
150 | ||
151 | * fork.cc (slow_pid_reuse): Temporarily double the number of pids held | |
152 | to prevent pid reuse. | |
153 | ||
a5eb75d6 CF |
154 | 2004-09-12 Christopher Faylor <cgf@timesys.com> |
155 | ||
156 | * sigproc.cc (wait_sig): Ensure that waiting threads are awoken after | |
157 | returning from a hold condition. | |
158 | ||
3d65bb97 CF |
159 | 2004-09-12 Christopher Faylor <cgf@timesys.com> |
160 | ||
161 | * child_info.h (CURR_CHILD_INFO_MAGIC): Update. | |
162 | ||
d584454c CF |
163 | 2004-09-11 Pierre Humblet <pierre.humblet@ieee.org> |
164 | Christopher Faylor <cgf@timesys.com> | |
165 | ||
166 | * exceptions.cc: (ctrl_c_handler): Do nothing while a Cygwin subprocess | |
167 | is starting. | |
168 | ||
169 | 2004-09-10 Christopher Faylor <cgf@timesys.com> | |
170 | ||
171 | * child_info.h (init_child_info): Remove pid argument from declaration. | |
172 | * cygheap.h (init_cygheap::pid): New element. | |
173 | * dcrt0.cc (dll_crt0_0): Eliminate handling of now-noexistent cygpid | |
de4e88a8 CF |
174 | parameter in child_info struct. Set forkee to 'true' rather than |
175 | cygpid since the pid value was never used. | |
d584454c CF |
176 | (dll_crt0_1): Ditto. |
177 | (_dll_crt0): Ditto. | |
178 | * fork.cc (fork_child): Don't wait for sigthread. This is handled in | |
179 | the fork call now. | |
de4e88a8 CF |
180 | (fork_parent): Remove obsolete pid argument from init_child_info call. |
181 | Don't do anything special with cygpid when DEBUGGING. | |
d584454c CF |
182 | (fork): Delay all signals during fork. |
183 | (fork_init): Don't do anything special when DEBUGGING. | |
184 | * pinfo.cc (set_myself): Remove pid parameter. Use new pid field in | |
185 | cygheap. | |
186 | (pinfo_init): Don't pass pid argument to set_myself. | |
187 | * sigproc.cc (sig_send): Wait for dwProcessId to be non-zero as well as | |
188 | sendsig. | |
189 | (init_child_info): Eliminate handling of pid. | |
190 | (wait_sig): Implement method to temporarily hold off sending signals. | |
191 | * sigproc.h (__SIGHOLD): New enum. | |
192 | (__SIGNOHOLD): Ditto. | |
193 | * spawn.cc (spawn_guts): Remove obsolete pid argument from | |
194 | init_child_info call. | |
195 | ||
d495ee9f CV |
196 | 2004-09-10 Corinna Vinschen <corinna@vinschen.de> |
197 | ||
198 | * fhandler.cc (fhandler_base::dup): Use debug_printf. | |
199 | ||
4875a4b6 CV |
200 | 2004-09-10 Corinna Vinschen <corinna@vinschen.de> |
201 | ||
202 | * Makefile.in: Create libutil.a from bsdlib.o exports. | |
203 | * bsdlib.cc (logwtmp): Move from syscalls.cc to here. | |
204 | (login): Ditto. | |
205 | (logout): Ditto. | |
206 | ||
207 | * winsup.h (EXPORT_ALIAS): New macro. | |
208 | * exec.cc: Define alias symbols using EXPORT_ALIAS macro. | |
209 | * syscalls.cc: Ditto. | |
210 | * times.cc: Ditto. | |
211 | ||
1f97020a CV |
212 | 2004-09-09 Corinna Vinschen <corinna@vinschen.de> |
213 | ||
214 | * fhandler_tape.cc (fhandler_dev_tape::open): Fix typo. | |
215 | ||
64232968 CV |
216 | 2004-09-09 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl> |
217 | ||
218 | * pipe.cc (create_selectable_pipe): Work around bug in Windows 95 | |
219 | where CreateNamedPipe returns NULL. | |
220 | ||
a4563209 PH |
221 | 2004-09-08 Pierre Humblet <pierre.humblet@ieee.org> |
222 | ||
223 | * cygheap.h (cwdstuff::drive_length): New member. | |
224 | (cwdstuff::get_drive): New method. | |
225 | * path.cc (normalize_win32_path): Simplify by using cwdstuff::get_drive. | |
226 | (mount_info::conv_to_win32_path): Use cwdstuff::get_drive as default for /. | |
227 | (cwdstuff::set): Initialize drive_length. | |
228 | ||
6f7a746c CF |
229 | 2004-09-07 Christopher Faylor <cgf@timesys.com> |
230 | ||
231 | * cygtls.cc (_cygtls::init_thread): Set __sdidinit to negative value to | |
232 | indicate that it is "special". | |
233 | * thread.cc (pthread::exit): If __sdidinit is < 0, it was never really | |
234 | initialized so reset it to 0 before calling _reclaim_reent. | |
235 | ||
dda37cd2 CF |
236 | 2004-09-05 Christopher Faylor <cgf@timesys.com> |
237 | ||
238 | * include/cygwin/version.h: Bump DLL minor number to 12. | |
239 | ||
eea5dd97 CV |
240 | 2004-09-03 Corinna Vinschen <corinna@vinschen.de> |
241 | ||
242 | * security.cc: Fix a few more strace_prints. | |
243 | ||
0cd9f74f CF |
244 | 2004-09-02 Christopher Faylor <cgf@timesys.com> |
245 | ||
246 | Regularize most strace_prints throughout so that %E is always preceded | |
247 | by a comma and elminate most uses of "foo = %s" to "foo %s". | |
248 | ||
6644c628 CF |
249 | 2004-09-02 Bob Byrnes <byrnes@curl.com> |
250 | Christopher Faylor <cgf@timesys.com> | |
251 | ||
252 | * autoload.cc (NtQueryInformationFile): Return nonzero on error. | |
253 | * ntdll.h (FILE_PIPE_LOCAL_INFORMATION): Add. | |
254 | (NtQueryInformationFile): Fix types for last two arguments. | |
255 | * pipe.cc: Include stdlib.h, limits.h, and ntdll.h. | |
256 | (create_selectable_pipe): New function to create a pipe that can be | |
257 | used with NtQueryInformationFile for select. | |
258 | (fhandler_pipe::create): Call create_selectable_pipe instead of | |
259 | CreatePipe. | |
260 | (pipe): Use DEFAULT_PIPEBUFSIZE as argument to create_pipe. | |
261 | * select.cc: Include limits.h and ntdll.h. | |
262 | (peek_pipe): Add select_printf output. Call NtQueryInformationFile to | |
263 | implement select for write on pipes. | |
264 | (fhandler_pipe::select_read): Reorder field assignments to be | |
265 | consistent with fhandler_pipe::select_write. | |
266 | (fhandler_pipe::select_write): Initialize startup, verify, cleanup, and | |
267 | write_ready fields for select_record. | |
268 | (fhandler_pipe::select_except): Tweak indentation to be consistent with | |
269 | fhandler_pipe::select_write. | |
270 | ||
72067cca CF |
271 | 2004-08-30 Pierre Humblet <pierre.humblet@ieee.org> |
272 | ||
273 | * fork.cc (fork_parent): Return the cygpid directly derived from the | |
274 | winpid. | |
275 | ||
1af912ce CF |
276 | 2004-08-30 Christopher Faylor <cgf@timesys.com> |
277 | ||
278 | * fork.cc (fork_parent): Record child's pid when we're sure that it has | |
279 | been filled out by the child. | |
280 | * pinfo.cc (pinfo::init): Trivial change. | |
281 | ||
c01edcda CV |
282 | 2004-08-29 Corinna Vinschen <corinna@vinschen.de> |
283 | ||
284 | * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Allow to report | |
285 | success on systems with ntsec and ntea set. | |
286 | ||
ddea76a6 CV |
287 | 2004-08-28 Pierre Humblet <pierre.humblet@ieee.org> |
288 | ||
72067cca | 289 | * fhandler.cc (fhandler_base::write): In the lseek_bug case, set EOF |
ddea76a6 CV |
290 | before zero filling. Combine similar error handling statements. |
291 | ||
2e41976b PH |
292 | 2004-08-28 Pierre Humblet <pierre.humblet@ieee.org> |
293 | ||
294 | * syscalls.cc (ftruncate64): On 9x, call write with a zero length | |
295 | to zero fill when the file is extended. | |
296 | ||
bb647ab6 CV |
297 | 2004-08-24 Corinna Vinschen <corinna@vinschen.de> |
298 | ||
299 | * syscalls.cc (link): Avoid compiler warning. | |
300 | ||
12618f5f CV |
301 | 2004-08-21 Corinna Vinschen <corinna@vinschen.de> |
302 | ||
303 | * environ.cc (set_ntea): New function. | |
304 | (set_ntsec): Ditto. | |
305 | (set_smbntsec): Ditto. | |
306 | (parse_thing): Change ntea, ntsec and smbntsec settings to call | |
307 | appropriate functions. | |
308 | ||
7c481712 CV |
309 | 2004-08-20 Corinna Vinschen <corinna@vinschen.de> |
310 | ||
311 | * fhandler_tape.cc (fhandler_dev_tape::raw_read): Use ?: instead of | |
312 | if/else. | |
313 | (fhandler_dev_tape::raw_write): Return -1 in case of error. | |
314 | ||
b9188d6c CV |
315 | 2004-08-19 Corinna Vinschen <corinna@vinschen.de> |
316 | ||
317 | * errno.cc (_sys_errlist): Change various text to their english Linux | |
318 | counterparts. Unify layout. | |
319 | (strerror): Remove switch statement. | |
320 | ||
8cb783ba CV |
321 | 2004-08-19 Corinna Vinschen <corinna@vinschen.de> |
322 | ||
323 | * fhandler.cc (fhandler_base::open): Set shared flags to 0 when | |
324 | opening a tape device. | |
325 | ||
82b30180 CV |
326 | 2004-08-19 Corinna Vinschen <corinna@vinschen.de> |
327 | ||
f0eeb667 | 328 | * fhandler_socket.cc (fhandler_socket::dup): Increment dtable's |
82b30180 CV |
329 | need_fixup_before counter on successful dup. |
330 | * net.cc (cygwin_getpeername): Add file descriptor to debug output. | |
331 | ||
8f663bd6 CV |
332 | 2004-08-17 Pierre Humblet <pierre.humblet@ieee.org> |
333 | ||
334 | * fhandler.h (fhandler_dev_dsp:~fhandler_dev_dsp): Delete. | |
335 | (fhandler_dev_dsp::open_count): Delete. | |
336 | (fhandler_dev_dsp::close_audio_in): New method declaration. | |
337 | (fhandler_dev_dsp::close_audio_in): Ditto. | |
338 | * fhandler_dsp.cc: Add and edit debug_printf throughout. | |
339 | (fhandler_dev_dsp::Audio::denyAccess): Delete. | |
340 | (fhandler_dev_dsp::Audio::fork_fixup): Ditto. | |
341 | (fhandler_dev_dsp::Audio::getOwner): Ditto. | |
342 | (fhandler_dev_dsp::Audio::clearOwner): Ditto. | |
343 | (fhandler_dev_dsp::Audio::owner_): Ditto. | |
344 | (fhandler_dev_dsp::Audio::setformat): Ditto, rename to setconvert. | |
345 | (fhandler_dev_dsp::Audio::lock): Ditto, move to queue. | |
346 | (fhandler_dev_dsp::Audio::unlock): Ditto. | |
347 | (fhandler_dev_dsp::Audio::lock_): Ditto. | |
348 | (fhandler_dev_dsp::Audio::bufferIndex_): New member, from Audio_out | |
349 | and Audio_in. | |
350 | (fhandler_dev_dsp::Audio::pHdr_): Ditto. | |
351 | (fhandler_dev_dsp::Audio::wavehdr_): Ditto. | |
352 | (fhandler_dev_dsp::Audio::bigwavebuffer_): ditto. | |
353 | (fhandler_dev_dsp::Audio::Qisr2app_): Ditto. | |
354 | (fhandler_dev_dsp::Audio::setconvert): New method, from old setformat. | |
355 | (fhandler_dev_dsp::Audio::queue::lock): New method. | |
356 | (fhandler_dev_dsp::Audio::queue::unlock): Ditto. | |
357 | (fhandler_dev_dsp::Audio::queue::dellock): Ditto. | |
358 | (fhandler_dev_dsp::Audio::queue::isvalid): Ditto. | |
359 | (fhandler_dev_dsp::Audio::queue::lock_): New member. | |
360 | (fhandler_dev_dsp::Audio::queue::depth1_): Delete. | |
361 | (fhandler_dev_dsp::Audio_out::fork_fixup): New method. | |
362 | (fhandler_dev_dsp::Audio_out::isvalid): New method. | |
363 | (fhandler_dev_dsp::Audio_out::start): Remove arguments. | |
364 | (fhandler_dev_dsp::Audio_out::parsewav): Change arguments and set | |
365 | internal state. | |
366 | (fhandler_dev_dsp::Audio_out::emptyblocks): Delete. | |
367 | (fhandler_dev_dsp::Audio_out::Qapp2app_): Ditto. | |
368 | (fhandler_dev_dsp::Audio_out::Qisr2app_): Ditto, move to Audio. | |
369 | (fhandler_dev_dsp::Audio_out::bufferIndex_): Ditto. | |
370 | (fhandler_dev_dsp::Audio_out::pHdr_): Ditto. | |
371 | (fhandler_dev_dsp::Audio_out::wavehdr_): Ditto. | |
372 | (fhandler_dev_dsp::Audio_out::bigwavefuffer_): Ditto. | |
373 | (fhandler_dev_dsp::Audio_out::freq_): New member. | |
374 | (fhandler_dev_dsp::Audio_out::bits_): New member. | |
375 | (fhandler_dev_dsp::Audio_out::channels_): New member. | |
376 | (fhandler_dev_dsp::Audio_in::fork_fixup): New method. | |
377 | (fhandler_dev_dsp::Audio_in::isvalid): New method. | |
378 | (fhandler_dev_dsp::Audio_in::Qapp2app_): Delete. | |
379 | (fhandler_dev_dsp::Audio_in::Qisr2app_): Ditto, move to Audio. | |
380 | (fhandler_dev_dsp::Audio_in::bufferIndex_): Ditto. | |
381 | (fhandler_dev_dsp::Audio_in::pHdr_): Ditto. | |
382 | (fhandler_dev_dsp::Audio_in::wavehdr_): Ditto. | |
383 | (fhandler_dev_dsp::Audio_in::bigwavefuffer_): Ditto. | |
384 | (fhandler_dev_dsp::Audio::queue::queue): Simplify. | |
385 | (fhandler_dev_dsp::Audio::queue::send): Use lock. | |
386 | (fhandler_dev_dsp::Audio::queue::query): Do not use depth1_. | |
387 | (fhandler_dev_dsp::Audio::queue::recv): Ditto. | |
388 | (fhandler_dev_dsp::Audio::Audio): Adapt to new class members. | |
389 | (fhandler_dev_dsp::Audio::~Audio): Ditto | |
390 | (fhandler_dev_dsp::Audio_out::start): Reorganize. | |
391 | (fhandler_dev_dsp::Audio_out::stop): Simplify. | |
392 | (fhandler_dev_dsp::Audio_out::init): Reset the queue and clear flag. | |
393 | (fhandler_dev_dsp::Audio_out::write): Reorganize to allocate audio_out. | |
394 | (fhandler_dev_dsp::Audio_out::buf_info): Use appropriate block size. | |
395 | (fhandler_dev_dsp::Audio_out::callback_sampledone): Do not use lock. | |
396 | (fhandler_dev_dsp::Audio_out::waitforspace): Simplify. | |
397 | (fhandler_dev_dsp::Audio_out::waitforallsent):Ditto. | |
398 | (fhandler_dev_dsp::Audio_out::sendcurrent): Reorganize. | |
399 | Clear flag before requeuing. | |
400 | (fhandler_dev_dsp::Audio_out::parsewav): | |
401 | (fhandler_dev_dsp::Audio_in::start): Reorganize. | |
402 | (fhandler_dev_dsp::Audio_in::stop): Simplify. | |
403 | (fhandler_dev_dsp::Audio_in::queueblock): Ditto. | |
404 | Requeue header in case of error. | |
405 | (fhandler_dev_dsp::Audio_in::init): Reset the queue and clear flag. | |
406 | (fhandler_dev_dsp::Audio_in::waitfordata): Simplify. | |
407 | Do not UnprepareHeader if the flag is zero. | |
408 | (fhandler_dev_dsp::Audio_in::buf_info): Ditto. | |
409 | (fhandler_dev_dsp::Audio_in::callback_blockfull): Do not use lock. | |
410 | (fhandler_dev_dsp::open_count): Delete. | |
411 | (fhandler_dev_dsp::open): Only check existence, do not allocate | |
412 | anything. Set flags appropriately. Create archetype. | |
413 | (fhandler_dev_dsp::write): Call archetype as needed. Create audio_out. | |
414 | (fhandler_dev_dsp::read): Call archetype as needed. Create audio_in. | |
415 | (fhandler_dev_dsp::close): Call archetype as needed. | |
416 | Call close_audio_in and close_audio_out. | |
417 | (fhandler_dev_dsp::close_audio_in): New function. | |
418 | (fhandler_dev_dsp::close_audio_out): New function. | |
419 | (fhandler_dev_dsp::dup): Use archetypes. | |
420 | (fhandler_dev_dsp::ioctl): Call archetype as needed. Reorganize for | |
421 | new structures. | |
422 | (fhandler_dev_dsp::fixup_after_fork): Call archetype as needed. | |
423 | (fhandler_dev_dsp::fixup_after_exec): Call archetype as needed. | |
424 | Clear audio_in and audio_out. | |
425 | ||
252dd881 PH |
426 | 2004-08-14 Pierre Humblet <pierre.humblet@ieee.org> |
427 | ||
428 | * fhandler.cc (fhandler_base::open_9x): Set file attributes | |
429 | for new files. | |
430 | ||
cb3f750c CF |
431 | 2004-08-11 Christopher Faylor <cgf@timesys.com> |
432 | ||
433 | * net.cc (cygwin_gethostbyname): Show failing host name on error. | |
434 | ||
fe3db6cc CF |
435 | 2004-08-10 Christopher Faylor <cgf@redhat.com> |
436 | ||
437 | * select.cc (select_stuff::wait): Correctly check for w4 array bounds. | |
438 | ||
3410b5be CV |
439 | 2004-08-03 Corinna Vinschen <corinna@vinschen.de> |
440 | ||
441 | * errno.cc (errmap): Add ERROR_TOO_MANY_LINKS -> EMLINK mapping. | |
442 | * syscalls.cc (link): Only copy files if FS doesn't support hard links. | |
443 | ||
26462985 CV |
444 | 2004-07-26 Christopher January <chris@atomice.net> |
445 | ||
446 | * fhandler_proc.cc (format_proc_cpuinfo): Remove Intel-specific flags | |
447 | from /proc/cpuinfo on non-Intel processors. Added new AMD-specific | |
448 | flags. Changed Intel flag names to match Linux. | |
449 | ||
634d51d9 CF |
450 | 2004-07-24 Christopher Faylor <cgf@timesys.com> |
451 | ||
452 | * dcrt0.cc (dll_crt0_0): Use proper boolean arguments. | |
453 | * pinfo.cc (pinfo::init): Don't consider MapViewOfFileEx error to be | |
454 | fatal if exiting. | |
455 | * pinfo.h (pinfo::init): Eliminate default argument and supply the | |
456 | argument in the one case that needed it. | |
457 | ||
65c5aa77 CV |
458 | 2004-07-24 Corinna Vinschen <corinna@vinschen.de> |
459 | Christopher Faylor <cgf@timesys.com> | |
460 | ||
461 | * autoload.cc (GetNativeSystemInfo): Add. | |
462 | (IsWow64Process): Add. | |
463 | * init.cc (respawn_wow64_process): New function. | |
464 | (dll_entry): If process has been started from a 64 bit | |
465 | process, call respawn_wow64_process. | |
34b14e0b | 466 | * uname.cc (uname): On 64 bit systems, use GetNativeSystemInfo. |
65c5aa77 CV |
467 | Show actual CPU type. |
468 | ||
061095b5 CV |
469 | 2004-07-23 Corinna Vinschen <corinna@vinschen.de> |
470 | ||
471 | * dtable.cc (dtable::get_debugger_info): Make stderr r/w according | |
472 | to SUSv3. | |
473 | ||
0544d116 CV |
474 | 2004-07-22 Corinna Vinschen <corinna@vinschen.de> |
475 | ||
476 | * fhandler_tty.cc (fhandler_tty_slave::open): Use requested flag | |
477 | values also when copying fhandler from archetype. | |
478 | ||
5b7534fe CF |
479 | 2004-07-22 Christopher Faylor <cgf@timesys.com> |
480 | ||
481 | * pinfo.cc (pinfo::init): Print handle in hex when MapViewOfFile fails. | |
482 | ||
7d9c458d CV |
483 | 2004-07-20 Corinna Vinschen <corinna@vinschen.de> |
484 | ||
485 | * shm.cc: Whitespace fixes. | |
486 | ||
894c6777 CF |
487 | 2004-07-20 Christopher Faylor <cgf@timesys.com> |
488 | ||
489 | * Makefile.in (clean): Remove cygwin.def since it is autogenerated. | |
490 | ||
bc2c5114 CV |
491 | 2004-07-19 Corinna Vinschen <corinna@vinschen.de> |
492 | ||
493 | * fhandler_dsp.cc (fhandler_dev_dsp::Audio_out::init): Fix non-ISO | |
494 | expression. | |
495 | * fhandler_floppy.cc (fhandler_dev_floppy::open): Remove unused | |
496 | variable. | |
497 | * fhandler_proc.cc (format_proc_meminfo): Fix compiler warning. | |
498 | ||
1d2fd388 CF |
499 | 2004-07-16 Christopher Faylor <cgf@timesys.com> |
500 | ||
501 | * pinfo.cc (pinfo::init): Guard against MapViewOfFileEx failure. | |
502 | ||
e348b39a CV |
503 | 2004-07-15 Corinna Vinschen <corinna@vinschen.de> |
504 | ||
505 | * mmap.cc (mmap_record::alloc_page_map): Mark pages as allocated even | |
506 | on Windows 9x, FWIW. | |
507 | ||
0c0ad23a CV |
508 | 2004-07-15 Corinna Vinschen <corinna@vinschen.de> |
509 | ||
510 | * mmap.cc (mprotect): When MAP_WRITE protection is requested, use | |
511 | READWRITE or WRITECOPY protection, whatever has been used when the | |
512 | page has been allocated initially. | |
513 | ||
4243412a CV |
514 | 2004-07-15 Corinna Vinschen <corinna@vinschen.de> |
515 | ||
516 | * fhandler.h (class fhandler_dev_raw): Remove is_writing flag. | |
517 | Remove declaration of writebuf. | |
518 | (class fhandler_dev_floppy): Remove declaration of close. | |
519 | * fhandler_floppy.cc (fhandler_dev_floppy::close): Delete. | |
520 | (fhandler_dev_floppy::lseek): Remove calls to writebuf. Set | |
521 | eom_detected to false after successful seek. | |
522 | * fhandler_raw.cc (fhandler_dev_raw::writebuf): Delete. | |
523 | (fhandler_dev_raw::raw_read): Remove calls to writebuf. | |
524 | (fhandler_dev_raw::raw_write): Always invalidate buffer. | |
525 | ||
5ba42c7f CV |
526 | 2004-07-15 Corinna Vinschen <corinna@vinschen.de> |
527 | ||
528 | * mmap.cc (class mmap_record): Fix return type of get_offset. | |
529 | (mmap_record::fixup_page_map): Fix off by one error. | |
530 | (list::search_record): Use long as type of "start" argument in both, | |
531 | declaration and definition. Use long as type for local variable "i". | |
532 | ||
83967714 CF |
533 | 2004-07-14 Dave Korn <dk@artimi.com> |
534 | ||
535 | * fhandler_registry.cc (registry_listing): Correct typo. | |
536 | (fhandler_registry::fill_filebuf): Set size of newly expanded buffer | |
537 | prior to calling RegQueryValueEx. | |
538 | ||
dd3a7a20 CV |
539 | 2004-07-14 Corinna Vinschen <corinna@vinschen.de> |
540 | ||
541 | * fhandler_raw.cc (fhandler_dev_raw::raw_write): Remove buffered | |
542 | write entirely. | |
543 | ||
1d470711 CV |
544 | 2004-07-07 Corinna Vinschen <corinna@vinschen.de> |
545 | ||
546 | * spawn.cc (spawn_guts): Check if script is executable. | |
547 | ||
78c6a5b5 CV |
548 | 2004-06-30 Corinna Vinschen <corinna@vinschen.de> |
549 | ||
550 | * times.cc (hires_ms::usecs): Don't overreact. | |
551 | ||
fbd5a0b8 CV |
552 | 2004-06-30 Corinna Vinschen <corinna@vinschen.de> |
553 | ||
554 | * times.cc (hires_ms::usecs): Reinit timer when system time overflows. | |
555 | ||
76a3f968 CF |
556 | 2004-06-27 Christopher Faylor <me@cgf.cx> |
557 | ||
558 | * thread.cc (__cygwin_lock_lock): Don't bother locking when there is | |
559 | only one known thread. | |
560 | (__cygwin_lock_unlock): Ditto for unlocking. | |
561 | ||
c624912e CV |
562 | 2004-06-23 Tomas Ukkonen <tomas.ukkonen@iki.fi> |
563 | ||
564 | * fhandler_proc.cc (format_proc_cpuinfo): Test CPU vendor and print | |
565 | AMD specific 3dnow capabilities. | |
566 | ||
f0d14ca9 CV |
567 | 2004-06-23 Pierre Humblet <pierre.humblet@ieee.org> |
568 | ||
569 | * fhandler_socket.cc (fhandler_socket::release): Call | |
570 | WSASetLastError last. | |
571 | ||
c0508da2 CF |
572 | 2004-06-21 Christopher Faylor <cgf@alum.bu.edu> |
573 | ||
574 | * autoload.cc (wsock_init): Keep lock while modifying return address. | |
575 | ||
456afc5d CV |
576 | 2004-06-17 Corinna Vinschen <corinna@vinschen.de> |
577 | ||
578 | * fhandler.cc (fhandler_base::open): Remove 9x specific code. | |
579 | ||
bd0e9c7a | 580 | 2004-06-17 Pierre Humblet <pierre.humblet@ieee.org> |
f0d14ca9 | 581 | |
bd0e9c7a PH |
582 | * fhandler.cc (fhandler_base::open_9x): Do not check for null name. |
583 | Move debug_printf to common code line. | |
584 | (fhandler_base::open): Ditto. Initialize upath. Remove second argument | |
585 | of pc.get_nt_native_path. | |
586 | * path.h (path_conv::get_nt_native_path): Remove second argument. | |
587 | * path.cc (path_conv::get_nt_native_path): Ditto. Call str2uni_cat. | |
588 | * security.h (str2buf2uni_cat): Delete declaration. | |
589 | (str2uni_cat): New declaration. | |
590 | * security.cc (str2buf2uni): Get length from sys_mbstowcs call. | |
591 | (str2buf2uni_cat): Delete function. | |
592 | (str2uni_cat): New function. | |
593 | * miscfuncs.cc (sys_mbstowcs): Add debug_printf. | |
594 | ||
f6d9664b CV |
595 | 2004-06-17 Corinna Vinschen <corinna@vinschen.de> |
596 | ||
597 | * fhandler.cc (fhandler_base::open): Substitute FILE_SUPERSEDE with | |
598 | FILE_OVERWRITE_IF. | |
599 | ||
cc24f9b6 CF |
600 | 2004-06-09 Christopher Faylor <cgf@alum.bu.edu> |
601 | ||
602 | * include/cygwin/version.h: REALLY bump dll minor version to 11. | |
603 | ||
35fe2c08 CV |
604 | 2004-06-08 Egor Duda <deo@corpit.ru> |
605 | ||
606 | * include/cygwin/ipc.h: Make IPC_INFO visible only for ipc system | |
607 | utilities, to make it consistent with declaration of struct seminfo. | |
608 | ||
694a67c4 CV |
609 | 2004-06-08 Pierre Humblet <pierre.humblet@ieee.org> |
610 | ||
611 | * path.cc (fchdir): Pass the Posix path to chdir. | |
612 | ||
beffbc5e CF |
613 | 2004-06-07 Christopher Faylor <cgf@alum.bu.edu> |
614 | ||
615 | * dtable.cc (dtable::find_fifo): Release lock after fifo found (still | |
616 | racy). | |
617 | * fhandler.h (fhandler_fifo::get_io_handle): New fifo-specific method. | |
618 | * fhandler_fifo.cc (fhandler_fifo::close): Close output_handle only if | |
619 | it is open. | |
620 | (fhandler_fifo::open_not_mine): Reorganize slightly. Don't call _pinfo | |
621 | methods when the fifo is owned by me or suffer dtable lock_cs deadlock. | |
622 | (fhandler_fifo::open): Call open_not_mine first, otherwise open myself | |
623 | (racy). | |
624 | * pinfo.cc (_pinfo::commune_recv): Duplicate fifo handles here in | |
625 | requesting processes arena to avoid one potential race (of many). | |
626 | (_pinfo::commune_send): Move all PICOM_FIFO code under one case | |
627 | statement. | |
628 | ||
629 | * thread.cc (pthread::init_mainthread) Use existing hMainProc handle | |
630 | rather than calling GetCurrentProcess. | |
631 | ||
cf4bfdb2 CF |
632 | 2004-06-04 Christopher Faylor <cgf@alum.bu.edu> |
633 | ||
634 | * winbase.h (ilockincr): Add more neverending changes from the | |
635 | inexplicable world of gcc asm constraint magic. Should stop random | |
636 | crashes. | |
637 | (ilockdecr): Ditto. | |
638 | ||
04612c69 CF |
639 | 2004-06-03 Christopher Faylor <cgf@alum.bu.edu> |
640 | ||
641 | * autoload.cc (IsDosDeviceName_U): Define. | |
642 | * ntdll.h (IsDosDeviceName_U): Declare. | |
643 | * fhandler.cc (fhandler_base::open): Check to see if win32_name is a | |
644 | dos device and just call the 9x open if so. | |
645 | ||
604ca5fa CF |
646 | 2004-06-03 Christopher Faylor <cgf@alum.bu.edu> |
647 | ||
648 | * winbase.h (ilockincr): More changes from the inexplicable world of | |
649 | gcc asm magic. | |
650 | (ilockdecr): Ditto. | |
651 | ||
ee94df3e CF |
652 | 2004-06-03 Christopher Faylor <me@cgf.cx> |
653 | ||
654 | * winbase.h (ilockincr): YA correction to ensure correct operation with | |
655 | no optimization. | |
656 | (ilockdecr): Ditto. | |
657 | ||
414bfc10 CV |
658 | 2004-06-03 Corinna Vinschen <corinna@vinschen.de> |
659 | ||
660 | * cygserver.h (CYGWIN_SERVER_VERSION_API): Bump. | |
661 | ||
378e5a02 CV |
662 | 2004-06-03 Corinna Vinschen <corinna@vinschen.de> |
663 | ||
664 | * include/cygwin/ipc.h (IPC_KEY_IS_SHMID): Redefine to a more sensible | |
665 | value. | |
666 | ||
e847fe13 CF |
667 | 2004-06-02 Christopher Faylor <cgf@alum.bu.edu> |
668 | ||
669 | * cygheap.cc (cmalloc): Add debugging hook. | |
670 | ||
1a21f331 CF |
671 | 2004-06-02 Christophe Jaillet <christophe.jaillet@wanadoo.fr> |
672 | ||
673 | * spawn.cc (find_exec): Use has_slash to determine if path has a slash | |
674 | rather than calculating this twice. | |
675 | ||
2d5afa98 PH |
676 | 2004-05-30 Pierre Humblet <pierre.humblet@ieee.org> |
677 | ||
1a21f331 | 678 | * path.cc (mount_info::add_item): Make sure native path has drive |
2d5afa98 | 679 | or UNC form. Call normalize_xxx_path instead of [back]slashify. |
1a21f331 | 680 | Remove test for double slashes. Reorganize to always debug_print. |
2d5afa98 | 681 | |
c4c9eb5f CF |
682 | 2004-05-28 Pierre Humblet <Pierre.Humblet@ieee.org> |
683 | ||
684 | * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Only try to open | |
685 | the file if it uses an acl. | |
686 | ||
e3778517 CF |
687 | 2004-05-28 Pierre Humblet <Pierre.Humblet@ieee.org> |
688 | ||
689 | * path.cc (chdir): Always use the normalized_path as posix_cwd, except | |
690 | if it starts with a drive. | |
691 | ||
37eadb6f CF |
692 | 2004-05-25 Christopher Faylor <cgf@alum.bu.edu> |
693 | ||
694 | * winbase.h: Semi-revert previous patch as it caused strange behavior. | |
695 | Use syntax similar to that recommended in mingw-dvlpr. | |
696 | ||
9a17d61b CF |
697 | 2004-05-25 Christopher Faylor <cgf@alum.bu.edu> |
698 | ||
699 | * include/cygwin/version.h: Bump DLL minor number to 11. | |
700 | ||
1b1f85fa CF |
701 | 2004-05-25 Christopher Faylor <cgf@alum.bu.edu> |
702 | ||
703 | * winbase.h: Add proper attributions for memory operands throughout. | |
704 | ||
41bba72e CF |
705 | 2004-05-24 Christopher Faylor <cgf@alum.bu.edu> |
706 | ||
707 | * include/cygwin/version.h: Bump api minor version number. | |
708 | ||
709 | 2004-05-24 Christopher Faylor <cgf@alum.bu.edu> | |
710 | ||
711 | * cygwin.din: Export atoll. | |
712 | ||
bfa76897 CF |
713 | 2004-05-20 Christopher Faylor <cgf@alum.bu.edu> |
714 | ||
715 | * tty.cc (tty_list::allocate_tty): Leave tty_mutex armed on successful | |
716 | return from !with_console | |
717 | * fhandler_tty.cc (fhandler_pty_master::open): Release tty_mutex here | |
718 | after all initialization is done. | |
719 | ||
aac9c88c CV |
720 | 2004-05-17 Corinna Vinschen <corinna@vinschen.de> |
721 | ||
722 | * grp.cc (getgrgid_r): Replace struct group by struct __group32 in | |
723 | argument definition. | |
724 | (getgrnam_r): Ditto. | |
725 | ||
68509b30 CV |
726 | 2004-05-17 Corinna Vinschen <corinna@vinschen.de> |
727 | ||
728 | * cygwin.din: Add symbols flockfile, ftrylockfile, funlockfile, | |
729 | getgrgid_r, getgrnam_r and getlogin_r. | |
730 | * grp.cc (getgrgid_r): New function. | |
731 | (getgrnam_r): Ditto. | |
732 | * syscalls.cc (flockfile): Ditto. | |
733 | (ftrylockfile): Ditto. | |
734 | (funlockfile): Ditto. | |
735 | * sysconf.cc (sysconf): Return LOGIN_NAME_MAX in case of | |
736 | _SC_LOGIN_NAME_MAX. | |
737 | * thread.cc (__cygwin_lock_trylock): Define int. Return value from | |
738 | call to pthread_mutex_trylock. | |
739 | * uinfo.cc (getlogin_r): New function. | |
740 | * include/limits.h: Define LOGIN_NAME_MAX. | |
741 | * include/cygwin/version.h: Bump API minor number. | |
742 | * include/sys/lock.h: Add declarations for __cygwin_lock_xxx functions. | |
743 | * include/sys/stdio.h: Add define for _ftrylockfile. | |
744 | ||
3271e9f9 CF |
745 | 2004-05-17 Christopher Faylor <cgf@alum.bu.edu> |
746 | ||
747 | * tty.cc (tty_list::init): Move hmaster initialization earlier to | |
748 | prevent compilation error. | |
749 | ||
641654f7 CF |
750 | 2004-05-17 Christopher Faylor <cgf@alum.bu.edu> |
751 | ||
752 | Change the name "title_mutex" to "tty_mutex" throughout. | |
753 | * tty.h (tty_list::allocate_tty): Turn argument into a boolean. | |
754 | * tty.cc (tty_list::init): Protect entire allocation operation with | |
755 | tty_mutex (formerly title_mutex) to protect against allocation races. | |
756 | ||
32880f1e CV |
757 | 2004-05-16 Corinna Vinschen <corinna@vinschen.de> |
758 | ||
759 | * fhandler_socket.cc (fhandler_socket::recvfrom): Use original flags | |
760 | value in each WSARecvFrom call. | |
761 | (fhandler_socket::recvmsg): Ditto. Reformat slightly. | |
762 | ||
0c565ab3 CF |
763 | 2004-05-15 Christopher Faylor <cgf@alum.bu.edu> |
764 | ||
765 | * cygthread.cc (cygthread::is): Eliminate. | |
766 | * cygthread.h (cygthread::is): Eliminate declaratin. | |
767 | * fhandler_console.cc (fhandler_console::read): Only wait for | |
768 | signal_arrived in the main thread. | |
769 | * fhandler_socket.cc: Include new "wininfo.h". | |
770 | (fhandler_socket::ioctl): Use 'winmsg' rather than 'gethwnd()'. | |
771 | * sync.cc (muto::grab): Define new function. | |
772 | (muto::acquire): Use tls pointer rather than tid. | |
773 | (muto::acquired): Ditto. | |
774 | (muto::reset): Delete. | |
775 | (muto::release): Ditto. Also implement "close on last release". | |
776 | * sync.h (muto::tid): Delete. | |
777 | (muto::tls): New field. | |
778 | (muto::ismine): Delete. | |
779 | (muto::owner): Delete. | |
780 | (muto::unstable): Delete. | |
781 | (muto::reset): Delete. | |
782 | (muto::upforgrabs): New method. | |
783 | (muto::grab): Ditto. | |
784 | (new_muto_name): New define. | |
785 | * wininfo.h: New file. | |
786 | (wininfo): New class. | |
787 | * window.cc: Rework throughout to use winfo class for controlling | |
788 | invisible window operation. | |
789 | (gethwnd): Delete definition. | |
790 | * winsup.h (gethwnd): Delete declaration. | |
791 | ||
71af2ed3 CF |
792 | 2004-05-15 Christopher Faylor <cgf@alum.bu.edu> |
793 | ||
794 | * cygheap.h: Remove some parameter names from declarations throughout. | |
795 | (cygheap::set): Reflect changes in declaration for arguments and return | |
796 | value from previous checkin. | |
797 | ||
982c8ecd CF |
798 | 2004-05-15 Pierre Humblet <pierre.humblet@ieee.org> |
799 | ||
800 | * cygheap.h (cwdstuff::set): Modify return value and arguments. | |
801 | * path.cc (chdir): Specify PC_POSIX. Do not call SetCurrentDirectory. | |
802 | Set posix_cwd in a way that does not break find.exe. Change call to | |
803 | cwd.set. | |
804 | (cwdstuff::get_initial): Do not call GetCurrentDirectory here. | |
805 | (cwdstuff::set): Call SetCurrentDirectory and GetCurrentDirectory as | |
806 | needed. | |
807 | ||
8d8bc1e1 CV |
808 | 2004-05-12 Corinna Vinschen <corinna@vinschen.de> |
809 | ||
810 | * path.cc (path_conv::check): Don't bail out with error if path is "//". | |
811 | ||
191ea07a CV |
812 | 2004-05-12 Corinna Vinschen <corinna@vinschen.de> |
813 | ||
814 | * cygheap.h (struct init_cygheap): Add mt_h member. | |
815 | * fhandler_tape.cc (mt_h): Drop in favor of cygheap based handle. | |
816 | (mtinfo_init): Use cygheap->mt_h handle. Protect it. | |
817 | ||
982c8ecd | 818 | 2004-05-12 Pierre Humblet <pierre.humblet@ieee.org> |
8bdfa78a PH |
819 | |
820 | * tty.h: Remove the %d or %x from all cygtty strings. | |
821 | (tty::open_output_mutex): Only declare. | |
822 | (tty::open_input_mutex): Ditto. | |
823 | (tty::open_mutex): New definition. | |
824 | * fhandler_tty.cc (fhandler_tty_slave::open): Declare buf with | |
825 | size CYG_MAX_PATH and replace __small_printf calls by shared_name. | |
826 | * tty.cc (tty::create_inuse): Ditto. | |
827 | (tty::get_event): Ditto. | |
828 | (tty::common_init): Ditto. | |
829 | (tty::open_output_mutex): New method definition. | |
830 | (tty::open_input_mutex): Ditto. | |
831 | (tty::open_mutex): New method. | |
832 | ||
191ea07a | 833 | 2004-05-11 Corinna Vinschen <corinna@vinschen.de> |
0175b531 CV |
834 | |
835 | * fhandler.cc (fhandler_base::open): Set file attributes to correct | |
836 | value when creating files. | |
837 | * path.h (class path_conv): Add write accessor for file_attributes. | |
838 | ||
75b5f30f CV |
839 | 2004-05-10 Corinna Vinschen <corinna@vinschen.de> |
840 | ||
841 | * fhandler.h (class fhandler_socket): Add "owner" status flag. | |
842 | * fhandler_socket.cc (wait): Take flag parameter to take FD_OOB into | |
843 | account. Don't wait infinitely. | |
844 | (fhandler_socket::recvfrom): Also wait for FD_OOB if socket owner. | |
845 | (fhandler_socket::recvmsg): Ditto. | |
846 | (fhandler_socket::sendto): Ditto. | |
847 | (fhandler_socket::sendmsg): Ditto. | |
848 | (fhandler_socket::fcntl): Set owner status flag if F_SETOWN with own | |
849 | pid is called. | |
850 | ||
94f29ccd PH |
851 | 2004-05-09 Pierre Humblet <pierre.humblet@ieee.org> |
852 | ||
853 | * environ.cc (build_env): Only try to construct required-but-missing | |
854 | variables while issetuid. | |
855 | ||
ac300315 | 856 | 2004-05-08 Pierre Humblet <pierre.humblet@ieee.org> |
71af2ed3 | 857 | Christopher Faylor <cgf@timesys.com> |
ac300315 CF |
858 | |
859 | * syscalls.cc: Include environ.h. | |
860 | (chroot): Set errno in case of path error. Call getwinenv. | |
861 | * environ.cc: Remove the NO_COPY attribute of conv_envvars. | |
862 | ||
f8aae275 CV |
863 | 2004-05-07 Corinna Vinschen <corinna@vinschen.de> |
864 | ||
865 | * fhandler_mem.cc (fhandler_dev_mem::fhandler_dev_mem): Move | |
866 | initialization of "mem_size" from here... | |
867 | (fhandler_dev_mem::open): ...to here. Fix typo in FH_PORT case. | |
868 | ||
367ff06e CV |
869 | 2004-05-07 Gerd Spalink <Gerd.Spalink@t-online.de> |
870 | ||
871 | * fhandler_dsp.cc (fhandler_dev_dsp::Audio_out::stop): Move delete of | |
872 | bigwavebuffer_ so that it is always cleaned, also in child processes. | |
873 | (fhandler_dev_dsp::Audio_in::stop): Ditto. | |
874 | (fhandler_dev_dsp::close): Stop audio play immediately in case of | |
875 | abnormal exit. | |
876 | ||
3e101fb2 | 877 | 2004-05-07 Corinna Vinschen <corinna@vinschen.de> |
dab22ff6 | 878 | |
3e101fb2 CV |
879 | Revert code reversion from 2004-04-03. So, revert to async I/O again. |
880 | * fhandler.h (status): Add "closed" flag. | |
881 | (prepare): New method declaration. | |
882 | (wait): Ditto. | |
883 | (release): Ditto. | |
884 | * fhandler_socket.cc: Don't include wsock_event.h. | |
885 | (fhandler_socket::prepare): New method, moved from wsock_event. | |
886 | (fhandler_socket::wait): Ditto. | |
887 | (fhandler_socket::release): New method. | |
888 | (fhandler_socket::recvfrom): Simplify loop. | |
889 | (fhandler_socket::recvmsg): Ditto. | |
890 | (fhandler_socket::sendto): Ditto. | |
891 | (fhandler_socket::sendmsg): Ditto. | |
892 | * net.cc: Don't include wsock_event.h. | |
893 | (wsock_event::prepare): Remove. | |
894 | (wsock_event::wait): Ditto. | |
895 | * wsock_event.h: Remove. | |
dab22ff6 | 896 | |
9b0b76ba CF |
897 | 2004-05-06 Christopher Faylor <cgf@alum.bu.edu> |
898 | ||
899 | * thread.cc (pthread::create): Move postcreate call to avoid a | |
900 | potential race. | |
901 | (pthread::cancelable_wait): Don't allow signal interrupt unless main | |
902 | thread. | |
903 | ||
1940656a CF |
904 | 2004-05-07 Pierre Humblet <pierre.humblet@ieee.org> |
905 | Christopher Faylor <cgf@timesys.com> | |
906 | ||
dab22ff6 CF |
907 | * path.cc (mount_info::conv_to_posix_path): Return proper status when |
908 | chrooted. | |
1940656a | 909 | |
14017d53 PH |
910 | 2004-05-06 Pierre Humblet <pierre.humblet@ieee.org> |
911 | ||
912 | * path.cc (path_conv::check): Strip trailing dots and spaces and | |
913 | return error if the final component had only dots and spaces. | |
914 | (normalize_posix_path): Revert 2004-04-30. | |
71af2ed3 | 915 | (chdir): Do not check for trailing spaces. Do not set native_dir |
14017d53 PH |
916 | to c:\ for virtual devices. Pass only native_dir to cwd.set. |
917 | (cwdstuff::set): Assume posix_cwd is already normalized. | |
918 | ||
6767691f | 919 | 2004-05-04 Christopher Faylor <cgf@alum.bu.edu> |
5cc2189c CF |
920 | |
921 | * path.cc (normalize_win32_path): Detect components with only dots. | |
922 | Remove a final . if it follows '\\'. | |
923 | (mount_info::conv_to_win32_path): Only backslashify the path when no | |
924 | mount is found. | |
925 | (chdir): Do not look for components with only dots. | |
926 | ||
6767691f | 927 | 2004-05-04 Pierre Humblet <pierre.humblet@ieee.org> |
3dcb399b CF |
928 | Christopher Faylor <cgf@alum.bu.edu> |
929 | ||
930 | * path.cc (is_unc_share): Remove redundant tests. | |
931 | ||
423ea473 CV |
932 | 2004-05-04 Corinna Vinschen <corinna@vinschen.de> |
933 | ||
934 | * crt0.o (mainCRTStartup): 16 byte align stack for main function. | |
935 | ||
ad7ba32b CV |
936 | 2004-05-04 Corinna Vinschen <corinna@vinschen.de> |
937 | ||
938 | * path.cc (check_sysfile): Don't scan string twice. | |
939 | ||
1e98729b CV |
940 | 2004-05-03 Corinna Vinschen <corinna@vinschen.de> |
941 | ||
942 | * dir.cc (writable_directory): Remove. | |
943 | (mkdir): Remove call to writable_directory. | |
944 | * syscalls.cc (unlink): Ditto. | |
945 | (rename): Ditto. | |
946 | * winsup.h (writable_directory): Remove declaration. | |
947 | ||
43b2d5ba CV |
948 | 2004-04-30 Corinna Vinschen <corinna@vinschen.de> |
949 | ||
950 | * fhandler.cc (fhandler_base::open): Call path_conv::get_nt_native_path | |
951 | for evaluating NT path. | |
952 | * path.cc (normalize_posix_path): Remove trailing dots and spaces. | |
953 | (path_conv::get_nt_native_path): New function. | |
954 | * path.h (class path_conv): Declare get_nt_native_path method. | |
955 | ||
e6b21daf CV |
956 | 2004-04-30 Corinna Vinschen <corinna@vinschen.de> |
957 | ||
958 | * fhandler.cc (fhandler_base::open): Fix NT native path evaluation | |
959 | to allow opening serial ports. | |
960 | ||
72f3756e CV |
961 | 2004-04-30 DJ Delorie <dj@redhat.com> |
962 | ||
963 | * init.cc (threadfunc_fe): Hack to make thread stacks always 16 | |
964 | byte aligned. | |
965 | ||
b7ede86c CV |
966 | 2004-04-21 Yitzchak Scott-Thoennes <sthoenna@efn.org> |
967 | ||
968 | * syscalls.cc (lseek64): Fix debug_printf format string. | |
969 | (truncate64): Ditto. | |
970 | ||
971 | 2004-04-21 Corinna Vinschen <corinna@vinschen.de> | |
972 | ||
973 | * fhandler.cc (fhandler_base::lseek): Force res to -1 on error. | |
974 | ||
9f9231b3 CF |
975 | 2004-04-20 Christopher Faylor <cgf@alum.bu.edu> |
976 | ||
977 | * path.cc (is_unc_share): Rename from slash_unc_prefix_p throughout. | |
978 | ||
979 | 2004-04-20 Pierre Humblet <pierre.humblet@ieee.org> | |
980 | ||
981 | * path.cc (normalize_posix_path): Process all Posix paths and map three | |
982 | or more initial slashes to a single one. Simplify processing following | |
983 | two initial slashes. | |
984 | (normalize_win32_path): Make last argument non-optional and do not | |
985 | check for NULL value. | |
986 | ||
c8daf998 CV |
987 | 2004-04-20 Pierre Humblet <pierre.humblet@ieee.org> |
988 | ||
989 | * fhandler_disk_file.cc (fhandler_base::open_fs): Change | |
990 | set_file_attribute call to indicate that NT security isn't used. | |
991 | (fhandler_disk_file::fchmod): Rearrange to isolate 9x related | |
992 | statements. | |
993 | Do not set FILE_ATTRIBUTE_SYSTEM. | |
994 | (fhandler_disk_file::fchown): Check noop case first. | |
995 | * fhandler.cc (fhandler_base::open9x): Remove ntsec related statements. | |
996 | (fhandler_base::set_name): Do not set namehash. | |
997 | * fhandler.h (fhandler_base::get_namehash): Compute and set namehash if | |
998 | needed. | |
999 | * syscalls.cc (access): Verify that fh is not NULL. Do not set PC_FULL. | |
1000 | (chmod): Ditto. | |
1001 | (chown_worker): Ditto. | |
1002 | (stat_worker): Ditto. Verify if the path exists. | |
1003 | ||
1b557b43 CV |
1004 | 2004-04-20 Corinna Vinschen <corinna@vinschen.de> |
1005 | ||
1006 | * fhandler.cc (fhandler_base::open): Remove special DEV_FLOPPY_MAJOR | |
1007 | treatment. | |
1008 | * fhandler_raw.cc (fhandler_dev_raw::open): Simplify write-only case. | |
1009 | * fhandler_tape.cc (fhandler_dev_tape::raw_write): Add accidentally | |
1010 | dropped condition. | |
1011 | ||
fc0ac9df CV |
1012 | 2004-04-20 Corinna Vinschen <corinna@vinschen.de> |
1013 | ||
1014 | * fhandler.cc (fhandler_base::open): Add FILE_READ_ATTRIBUTES when | |
1015 | only GENERIC_WRITE access is requested. | |
1016 | ||
f9e8db24 CV |
1017 | 2004-04-19 Corinna Vinschen <corinna@vinschen.de> |
1018 | ||
1019 | * include/cygwin/mtio.h (GMT_ASYNC): New define. | |
1020 | (MT_ST_ASYNC_WRITES): Remove "Not supported" comment. | |
1021 | ||
0c8731b8 CV |
1022 | 2004-04-19 Corinna Vinschen <corinna@vinschen.de> |
1023 | ||
1024 | * errno.cc (errmap): Handle ERROR_IO_PENDING. | |
1025 | * fhandler.cc (fhandler_base::open): Make tape I/O asynchronous. | |
1026 | * fhandler.h (class fhandler_dev_tape): Add mt_evt member. | |
1027 | * fhandler_tape.cc (mtinfo_drive::initialize): Initialize async_writes. | |
1028 | (mtinfo_drive::close): Handle async writes. | |
1029 | (mtinfo_drive::read): Add mt_evt parameter. Use overlapped I/O. | |
1030 | (mtinfo_drive::async_wait): New function. | |
1031 | (mtinfo_drive::write): Add mt_evt parameter. Use overlapped I/O. | |
1032 | Handle async writes. | |
1033 | (mtinfo_drive::_set_pos): Handle async writes. | |
1034 | (mtinfo_drive::set_partition): Ditto. | |
1035 | (mtinfo_drive::prepare): Ditto. | |
1036 | (mtinfo_drive::get_status): Drop useless "else". Handle async_writes | |
1037 | flag. | |
1038 | (mtinfo_drive::set_options): Handle async_writes flags. | |
1039 | (fhandler_dev_tape::close): Close mt_evt handle. | |
1040 | (fhandler_dev_tape::raw_read): Create mt_evt handle and use in call | |
1041 | to mtinfo_drive::read. | |
1042 | (fhandler_dev_tape::raw_write): Create mt_evt handle and use in call | |
1043 | to mtinfo_drive::write. | |
1044 | * mtinfo.h (MTINFO_VERSION): Bump. | |
1045 | (enum dirty_state): Add async_write_pending state. | |
1046 | (class mtinfo_drive): Add OVERLAPPED struct "ov". Add async_writes | |
1047 | flag. | |
1048 | (mtinfo_drive::async_wait): Add declaration. | |
1049 | (mtinfo_drive::read): Add mt_evt parameter. | |
1050 | (mtinfo_drive::write): Ditto. | |
1051 | ||
1052 | * registry.cc (load_registry_hive): Call enable_restore_privilege | |
1053 | instead of set_process_privilege. | |
1054 | ||
1facc71a CV |
1055 | 2004-04-19 Corinna Vinschen <corinna@vinschen.de> |
1056 | ||
1057 | * fhandler_tape.cc (mtinfo_drive::_set_pos): Take additional dont_wait | |
1058 | parameter. Use in call to SetTapePosition. | |
1cda1322 | 1059 | (mtinfo_drive::set_pos): Accommodate _set_pos calls to above change. |
1facc71a CV |
1060 | (mtinfo_drive::set_partition): Ditto. |
1061 | * mtinfo.h (mtinfo_drive::_set_pos): Change declaration accordingly. | |
1062 | ||
e8597065 CV |
1063 | 2004-04-16 Corinna Vinschen <corinna@vinschen.de> |
1064 | ||
1065 | * autoload.cc (NtCreateFile): Add. | |
1066 | * dir.cc (mkdir): Change set_file_attribute call to indicate that | |
1067 | NT security isn't used. | |
1068 | * fhandler.cc (fhandler_base::open_9x): New method, created from | |
1069 | fhandler_base::open. | |
1070 | (fhandler_base::open): Rearrange to use NtCreateFile instead of | |
1071 | CreateFile. | |
1072 | * fhandler.h (enum query_state): Redefine query_null_access to | |
1073 | query_stat_control. query_null_access isn't allowed in NtCreateFile. | |
1074 | (fhandler_base::open_9x): Declare. | |
1075 | * fhandler_disk_file.cc (fhandler_base::fstat_fs): Use | |
1076 | query_stat_control first, query_read_control if that fails. | |
1077 | (fhandler_disk_file::fchmod): Call enable_restore_privilege before | |
1078 | trying to open for query_write_control. Don't fall back to | |
1079 | opening for query_read_control. | |
1080 | (fhandler_disk_file::fchown): Ditto. | |
1081 | (fhandler_disk_file::facl): Only request restore privilege and query | |
1082 | access necessary for given cmd. | |
1083 | * fhandler_raw.cc (fhandler_dev_raw::open): Call fhandler_base::open | |
1084 | instead of opening device here. | |
1085 | * ntdll.h (NtCreateFile): Declare. | |
1086 | * path.cc (symlink_worker): Change set_file_attribute call to indicate | |
1087 | that NT security isn't used. | |
1088 | * sec_acl.cc (getacl): Fix bracketing. | |
1089 | * sec_helper.cc (enable_restore_privilege): New function. | |
1090 | * security.cc (str2buf2uni_cat): New function. | |
1091 | (write_sd): Don't request restore permission here. | |
1092 | * security.h (set_process_privileges): Drop stale declaration. | |
1093 | (str2buf2uni): Declare. | |
1094 | (str2buf2uni_cat): Declare. | |
1095 | (enable_restore_privilege): Declare. | |
1096 | * syscalls.cc (fchown32): Return immediate success on 9x. | |
1097 | ||
ee0afa42 CF |
1098 | 2004-04-15 Christopher Faylor <cgf@alum.bu.edu> |
1099 | ||
1100 | * autoload.cc (dll_chain1): Rename to dll_chain. Remove old dll_chain | |
1101 | code. | |
1102 | (wsock_init): Avoid unneeded winsock_active tests. | |
1103 | * winsup.h (winsock_active): Delete. | |
1104 | ||
703b16e3 CV |
1105 | 2004-04-15 Corinna Vinschen <corinna@vinschen.de> |
1106 | ||
4be0ce32 | 1107 | * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Try opening |
703b16e3 CV |
1108 | in query_read mode if query_write fails. |
1109 | * fhandler_disk_file.cc (fhandler_disk_file::fchown): Ditto. | |
1110 | * fhandler_disk_file.cc (fhandler_disk_file::facl): Ditto. | |
1111 | ||
e84c7766 CV |
1112 | 2004-04-14 Corinna Vinschen <corinna@vinschen.de> |
1113 | ||
1114 | * ntdll.h: Fix copyright date. | |
ca1b76b8 | 1115 | * sec_acl.cc (acl_worker): Delete allocated fhandler. |
e84c7766 CV |
1116 | * syscalls.cc (chown_worker): Ditto. |
1117 | (chmod): Ditto. | |
1118 | (stat_worker): Use get_namehash instead of hash_path_name. | |
1119 | ||
a653f600 CV |
1120 | 2004-04-14 Corinna Vinschen <corinna@vinschen.de> |
1121 | ||
1122 | * sec_acl.cc (getacl): Avoid compiler warning. | |
1123 | * security.cc (write_sd): Ditto. Fix error handling. | |
1124 | ||
0c5f00f9 CV |
1125 | 2004-04-14 Corinna Vinschen <corinna@vinschen.de> |
1126 | ||
1127 | * syscalls.cc (fstat64): Use get_namehash instead of hash_path_name. | |
1128 | ||
e3d1d515 CV |
1129 | 2004-04-14 Corinna Vinschen <corinna@vinschen.de> |
1130 | ||
1131 | * fhandler.cc (fhandler_base::open): Simplify access evaluation | |
1132 | expression. | |
1133 | (fhandler_base::facl): New method. | |
1134 | * fhandler.h: Declare facl method in fhandler_base, | |
1135 | fhandler_disk_file and fhandler_virtual. | |
1136 | * fhandler_disk_file.cc (fhandler_disk_file::facl): New method. | |
1137 | * fhandler_virtual.cc (fhandler_virtual::facl): New method. | |
1138 | * sec_acl.cc: Remove forward declaration for aclsort32 and acl32. | |
1139 | (setacl): Remove static. Add and use handle parameter. | |
1140 | (getacl): Ditto. | |
1141 | (acl_worker): Reorganize to call fhandler's facl method eventually. | |
1142 | (facl32): Ditto. | |
1143 | * security.cc (get_nt_object_security): Remove static. | |
1144 | * security.h: Add extern declarations for get_nt_object_security, | |
1145 | aclsort32, acl32, getacl and setacl. | |
1146 | ||
ddf9c4a7 CV |
1147 | 2004-04-14 Corinna Vinschen <corinna@vinschen.de> |
1148 | ||
1cda1322 | 1149 | * fhandler.cc (fhandler_base::open): Accommodate query_write_control |
ddf9c4a7 CV |
1150 | query_state. |
1151 | (fhandler_base::fchown): New method. | |
1152 | * fhandler.h: Declare fchown method in fhandler_base, | |
1153 | fhandler_disk_file and fhandler_virtual. | |
1154 | (enum query_state): Add query_write_control. | |
1155 | * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Set query_state | |
1156 | to query_write_control. Only remove FILE_ATTRIBUTE_READONLY if not | |
1157 | setting security descriptor. | |
1158 | (fhandler_disk_file::fchown): New method. | |
1159 | * fhandler_virtual.cc (fhandler_virtual::fchown): New method. | |
1160 | * sec_acl.cc (setacl): Call write_sd with additional handle attribute. | |
1161 | * security.cc (write_sd): Take handle argument. Only request owner | |
1162 | if getting SE_RESTORE_NAME privilege failed. Only open file if | |
1163 | NtSetSecurityObject failed or handle is NULL. | |
1164 | (set_nt_attribute): Call write_sd with additional handle attribute. | |
1165 | * security.h (write_sd): Declare with additional handle argument. | |
e3d1d515 CV |
1166 | * syscalls.cc (chown_worker): Reorganize to call fhandler's fchown |
1167 | method eventually. | |
1168 | (fchown): Ditto. | |
ddf9c4a7 | 1169 | |
f4ae6dc6 CV |
1170 | 2004-04-14 Corinna Vinschen <corinna@vinschen.de> |
1171 | ||
1172 | * autoload.cc (NtSetSecurityObject): Add. | |
1173 | * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Only request | |
1174 | READ_CONTROL rights when opening the file. | |
1175 | * ntdll.h (NtSetSecurityObject): Add declaration. | |
1176 | * security.cc (write_sd): Call NtSetSecurityObject instead of | |
1177 | BackupWrite. | |
1178 | (get_nt_object_security): Don't free security descriptor here. | |
1179 | ||
1180 | 2004-04-14 Corinna Vinschen <corinna@vinschen.de> | |
1181 | ||
1182 | * syscalls.cc (ttyname): Use buffer of length TTY_NAME_MAX + 1. | |
1183 | * sysconf.cc (sysconf): Handle _SC_TTY_NAME_MAX request. | |
1184 | * include/limits.h: Define TTY_NAME_MAX and _POSIX_TTY_NAME_MAX. | |
1185 | ||
93d66ddc CV |
1186 | 2004-04-14 Corinna Vinschen <corinna@vinschen.de> |
1187 | ||
1188 | * cygwin.din: Export rand_r and ttyname_r. | |
1189 | * syscalls.cc (ttyname_r): New function. | |
1190 | (ttyname): Move functionality to ttyname_r. Call it from here. | |
1191 | * include/cygwin/version.h: Bump API minor number. | |
1192 | ||
b923181e PH |
1193 | 2004-04-14 Pierre Humblet <pierre.humblet@ieee.org> |
1194 | ||
93d66ddc | 1195 | * path.h (path_conv::set_symlink): Add argument. |
4be0ce32 | 1196 | (path_conv::get_symlink_length): New method. |
93d66ddc CV |
1197 | (path_conv::symlink_length): New member. |
1198 | * path.cc (path_conv::check): Pass symlen to set_symlink. | |
1199 | * fhandler_disk_file.cc (fhandler_base::fstat_helper): For symlinks | |
4be0ce32 | 1200 | set st_size from get_symlink_length. |
b923181e | 1201 | |
29b6b8ca CV |
1202 | 2004-04-13 Corinna Vinschen <corinna@vinschen.de> |
1203 | ||
1204 | * security.cc (set_nt_attribute): Only call get_nt_object_security | |
1205 | if handle is NULL. | |
1206 | ||
854c8700 CV |
1207 | 2004-04-13 Corinna Vinschen <corinna@vinschen.de> |
1208 | ||
1209 | * dir.cc (mkdir): Call set_file_attribute with additional handle | |
1210 | argument. | |
1211 | * fhandler.cc (fhandler_base::fchmod): New method. | |
1212 | * fhandler.h: Declare fchmod method in fhandler_base, | |
1213 | fhandler_disk_file and fhandler_virtual. | |
1214 | * fhandler_disk_file.cc (fhandler_disk_file::fchmod): New method. | |
1215 | (fhandler_base::open_fs): Call set_file_attribute with additional | |
1216 | handle argument. | |
1217 | * fhandler_virtual.cc (fhandler_virtual::fchmod): New method. | |
1218 | * path.cc (symlink_worker): Call set_file_attribute with additional | |
1219 | handle argument. | |
1220 | * security.cc (get_nt_object_security): New function. | |
1221 | (get_nt_object_attribute): Call get_nt_object_security. | |
1222 | (set_nt_attribute): Add handle argument. Call get_nt_object_security | |
1223 | first, read_sd only if that fails. | |
1224 | (set_file_attribute): Add handle argument. | |
1225 | * security.h (set_file_attribute): Declare with additional handle | |
1226 | argument. | |
1227 | * syscalls.cc (stat_suffixes): Move to beginning of file. | |
1228 | (chown_worker): Call set_file_attribute with additional handle argument. | |
1229 | (chmod): Reorganize to call fhandler's fchmod method eventually. | |
1230 | (fchmod): Ditto. | |
1231 | ||
71ffba49 CV |
1232 | 2004-04-13 Corinna Vinschen <corinna@vinschen.de> |
1233 | ||
1234 | * autoload.cc (NtQuerySecurityObject): Add. | |
1235 | * ntdll.h (STATUS_BUFFER_TOO_SMALL): Add definition. | |
1236 | (NtQuerySecurityObject): Add declaration. | |
1237 | * security.cc (get_nt_object_attribute): Always use | |
1238 | NtQuerySecurityObject to retrieve security descriptor. | |
1239 | ||
37194b25 CV |
1240 | 2004-04-13 Gerd Spalink <Gerd.Spalink@t-online.de> |
1241 | ||
1242 | * fhandler_dsp.cc (fhandler_dev_dsp::Audio_out::stop): Add optional | |
1243 | boolean argument so that playing can be stopped without playing | |
1244 | pending buffers. | |
1245 | (fhandler_dev_dsp::ioctl): Stop playback immediately for | |
1246 | SNDCTL_DSP_RESET. Do not reset audio parameters in this case. | |
1247 | Add support for ioctl SNDCTL_DSP_GETISPACE. | |
1248 | (fhandler_dev_dsp::Audio_out::emptyblocks): Now returns the number of | |
1249 | completely empty blocks. | |
1250 | (fhandler_dev_dsp::Audio_out::buf_info): p->fragments is now the number | |
1251 | of completely empty blocks. This conforms with the OSS specification. | |
1252 | (fhandler_dev_dsp::Audio_out::parsewav): Ignore wave headers that are | |
1253 | not aligned on four byte boundary. | |
1254 | (fhandler_dev_dsp::Audio_in::buf_info): New, needed for | |
1255 | SNDCTL_DSP_GETISPACE. | |
1256 | ||
825b3882 CV |
1257 | 2004-04-13 Corinna Vinschen <corinna@vinschen.de> |
1258 | ||
1259 | * winsup.h (IMPLEMENT_STATUS_FLAG): New macro to define status flag | |
1260 | accessor methods unambiguously. | |
1261 | * fhandler.h: Use IMPLEMENT_STATUS_FLAG throughout where possible. | |
1262 | * fhandler_termios.cc (fhandler_termios::tcinit): Call corrected | |
1263 | accessor for initialized status flag. | |
1264 | * mtinfo.h (class mtinfo_drive): Use IMPLEMENT_STATUS_FLAG throughout. | |
1265 | * path.cc (fs_info::update): Remove duplicate call to flags(). | |
1266 | * path.h (struct fs_info): Use IMPLEMENT_STATUS_FLAG where possible. | |
1267 | (path_conv::is_auto_device): Fix spacing. | |
1268 | * tty.h (class tty_min): Use IMPLEMENT_STATUS_FLAG throughout. | |
1269 | ||
d84a4e2e CF |
1270 | 2004-04-12 Christopher Faylor <cgf@alum.bu.edu> |
1271 | ||
1272 | * thread.cc (pthread::thread_init_wrapper): Wait later to get more | |
1273 | parallel behavior. | |
1274 | ||
3e78b5d7 CF |
1275 | 2004-04-12 Christopher Faylor <cgf@alum.bu.edu> |
1276 | ||
1277 | * thread.cc (pthread::create): Use thread mutex to control | |
1278 | synchronization rather than creating a suspended thread. Wait for | |
1279 | "cancellation event" to indicate that started thread has been properly | |
1280 | initialized. | |
1281 | (pthread::thread_init_wrapper): Use set_tls_self_pointer() to set tid | |
1282 | and cygtls. Signal with cancel_event when done. | |
1283 | ||
b96dbd20 PH |
1284 | 2004-04-12 Pierre Humblet <pierre.humblet@ieee.org> |
1285 | ||
3e78b5d7 | 1286 | * path.cc (path_conv::check): Fix "tail filling" logic. |
b96dbd20 | 1287 | |
1ed8d187 CF |
1288 | 2004-04-11 Christopher Faylor <cgf@alum.bu.edu> |
1289 | ||
1290 | * cygheap.h: Replace inexplicably removed closing brace. | |
1291 | ||
0cb38eb5 CF |
1292 | 2004-04-11 Christopher Faylor <cgf@alum.bu.edu> |
1293 | ||
1294 | * cygheap.h (CYGHEAP_SLOP): Reduce drastically to avoid collisions. | |
1295 | ||
3301015b CF |
1296 | 2004-04-11 Pierre Humblet <pierre.humblet@ieee.org> |
1297 | ||
1298 | * dtable.cc (dtable::extend): Change order of memcpy and cfree. | |
1299 | ||
66d9ac39 CV |
1300 | 2004-04-10 Corinna Vinschen <corinna@vinschen.de> |
1301 | ||
1302 | * syscalls.cc (sync): Define void according to SUSv3. | |
1303 | ||
bb090650 CV |
1304 | 2004-04-10 Corinna Vinschen <corinna@vinschen.de> |
1305 | ||
1306 | * sec_acl.cc (setacl): Use correct offset when trying to combine | |
1307 | standard and default entry of same type. | |
1308 | ||
7224437c CV |
1309 | 2004-04-10 Pierre Humblet <pierre.humblet@ieee.org> |
1310 | ||
1311 | * fhandler.cc (rootdir): Add and use second argument. | |
1312 | * winsup.h (rootdir): Add second argument in declaration. | |
1313 | * path.cc (fs_info::update): Modify call to rootdir. | |
1314 | * syscalls.cc (check_posix_perm): Ditto. | |
1315 | (statfs): Ditto. Move syscall_printf near top. | |
1316 | ||
56551a9b CV |
1317 | 2004-04-10 Corinna Vinschen <corinna@vinschen.de> |
1318 | ||
1319 | * Use new unified status_flag accessor methods from classes fhandler_*, | |
1320 | tty_min, mtinfo and fs_info thoroughout. | |
1321 | * fhandler.h: Redefine all set_close_on_exec methods to take a bool | |
1322 | argument. | |
1323 | (enum conn_state): Rename from connect_state. | |
1324 | (class fhandler_base): Rename some status flags to align with | |
1325 | accessor method names. Drop encoded flag entirely. Unify status | |
1326 | accessor methods. Const'ify all read accessor methods. | |
1327 | (class fhandler_socket): Ditto. | |
1328 | (class fhandler_dev_raw): Ditto. | |
1329 | * fhandler_disk_file.cc (fhandler_base::fstat_fs): Use fs.fs_is_fat() | |
1330 | instead of evaluating FATness of file system here. | |
1331 | (fhandler_disk_file::opendir): Drop call to set_encoded(). | |
1332 | (fhandler_disk_file::readdir): Use pc.isencoded() directly. | |
1333 | * mtinfo.h (class mtinfo_drive): Const'ify all read accessor methods. | |
1334 | * path.cc (fsinfo_cnt): Add. | |
1cda1322 | 1335 | (fs_info::update): Accommodate class changes. Evaluate file system |
56551a9b CV |
1336 | name specific flags right here. Add thread safety for reading and |
1337 | writing global fsinfo array. | |
1338 | * path.h (enum path_types): Drop values for flags kept in fs already. | |
1339 | (struct fs_info): Move status informatin into private struct type | |
1340 | status_flags. Add accessor methods. Remove path and file system | |
1341 | name string arrays in favor of status bits. | |
1342 | (class path_conv): Use new fs_info status information where | |
1343 | appropriate. | |
1344 | (path_conf::fs_has_ea): Rename from fs_fast_ea. | |
1345 | (path_conf::fs_has_acls): New method. | |
1346 | (path_conf::root_dir): Remove. | |
1347 | (path_conf::volname): Remove. | |
1348 | * syscalls (statfs): Evaluate root dir locally. | |
1349 | * tty.h (class tty_min): Unify status accessor methods. Const'ify | |
1350 | all read accessor methods. | |
1351 | ||
56a188d1 CF |
1352 | 2004-04-09 Thomas Pfaff <tpfaff@gmx.net> |
1353 | ||
1354 | * thread.h (pthread::init_mainthread): Remove parameter forked. | |
1355 | (pthread::set_tls_self_pointer): New static function. | |
1356 | * thread.cc (MTinterface::fixup_after_fork): Change call to | |
1357 | pthread::init_mainthread. | |
1358 | (pthread::init_mainthread): Remove parameter forked. Simplify thread | |
1359 | self pointer handling. | |
1360 | (pthread::self): Set thread self pointer to null_pthread if thread has | |
1361 | not been initialized. | |
1362 | (pthread::set_tls_self_pointer): New static function. | |
1363 | ||
60210cc7 CF |
1364 | 2004-04-05 Pierre Humblet <pierre.humblet@ieee.org> |
1365 | ||
1366 | * path.cc (path_conv::check): Optimize symlink replacements. | |
1367 | ||
1368 | 2004-04-09 Pierre Humblet <pierre.humblet@ieee.org> | |
1369 | ||
1370 | * path.cc (normalize_posix_path): Add "tail" argument and set it. | |
1371 | Always have a final slash for directories. Pass 3rd argument to | |
1372 | normalize_win32_path. | |
1373 | (path_conv::check): Pass tail to normalize_posix_path. Set | |
1374 | need_directory and remove final slash after that call. Remove last | |
1375 | argument to mount_table->conv_to_win32_path(). Remove noop dostail | |
1376 | check. Remove fs.update() from inner loop. Improve tail finding | |
1377 | search. | |
1378 | (normalize_win32_path): Add and set tail argument. | |
1379 | (mount_item::build_win32): Avoid calling strcpy. | |
1380 | (mount_info::conv_to_win32_path): Remove third argument and simplify | |
1381 | because the source is normalized. Keep /proc path in Posix form. Call | |
1382 | win32_device_name() only once. | |
1383 | (mount_info::conv_to_posix_path): Add and use 3rd argument to | |
1384 | normalize_win32_path to avoid calling strlen. | |
1385 | (cwdstuff::set): Add 3rd argument to normalize_posix_path and remove | |
1386 | final slash if any. | |
1387 | * shared_info.h (mount_info::conv_to_win32_path): Remove last argument | |
1388 | in declaration. | |
1389 | ||
ff084343 CV |
1390 | 2004-04-09 Corinna Vinschen <corinna@vinschen.de> |
1391 | ||
1392 | * fhandler.h (class fhandler_dev_raw): Move status bits into protected | |
1393 | bitfield struct type status_flags. Drop unused has_written bit. | |
1394 | Add accessor methods. | |
1395 | (fhandler_dev_raw::clear): Remove. | |
1396 | (fhandler_dev_raw::reset_devbuf): Remove. | |
1397 | * fhandler_floppy.cc (fhandler_dev_floppy::lseek): Use accessor method | |
1398 | for is_writing. | |
1399 | * fhandler_raw.cc: Use status accessor methods throughout. | |
1400 | (fhandler_dev_raw::clear): Remove. | |
1401 | (fhandler_dev_raw::fhandler_dev_raw): Drop clear call. | |
1402 | (fhandler_dev_raw::~fhandler_dev_raw): Ditto. | |
1403 | * fhandler_tape.cc: Use mtinfo::status accessor methods throughout. | |
1404 | (mtinfo_drive::close): Fix conditional to enable BSD semantics | |
1405 | correctly. | |
1406 | (mtinfo_drive::get_status): Rename from mtinfo_drive::status. | |
1407 | * mtinfo.h (class mtinfo_drive): Move status bits into private bitfield | |
1408 | struct type status_flags. Add accessor methods. | |
1409 | Rename status method to get_status. | |
1410 | ||
535309a6 CV |
1411 | 2004-04-09 Corinna Vinschen <corinna@vinschen.de> |
1412 | ||
1413 | * path.cc (fsinfo): Global storage for file system information. | |
1414 | (fs_info::update): Store file system information also in fsinfo and | |
1415 | short circuit GetVolumeInformation by using alredy stored file system | |
1416 | information. | |
1417 | ||
7aa88267 CV |
1418 | 2004-04-09 Corinna Vinschen <corinna@vinschen.de> |
1419 | ||
1420 | * fhandler.h (fhandler_base::status): Declare private. | |
1421 | (fhandler_base::open_status): Ditto. | |
1422 | (class fhandler_socket): Move status bits into private bitfield struct | |
1423 | type status_flags. Change accessor methods appropriately. | |
1cda1322 | 1424 | * fhandler_socket.cc (fhandler_socket::fhandler_socket): Accommodate |
7aa88267 CV |
1425 | above status bit changes. |
1426 | * tty.h: Remove status bit enumerator. | |
1427 | (TTYISSETF): Remove. | |
1428 | (TTYSETF): Remove. | |
1429 | (TTYCLEARF): Remove. | |
1430 | (TTYCONDSETF): Remove. | |
1431 | (tty_min::status): Define as private bitfield struct type status_flags. | |
1432 | Add appropriate accessor methods. | |
1433 | * fhandler_console.cc: Use tty_min::status accessor methods throughout. | |
1434 | * fhandler_termios.cc: Ditto. | |
1435 | * winsup.h (__ISSETF): Remove. | |
1436 | (__SETF): Remove. | |
1437 | (__CLEARF): Remove. | |
1438 | (__CONDSETF): Remove. | |
1439 | ||
b79f85c2 CV |
1440 | 2004-04-09 Corinna Vinschen <corinna@vinschen.de> |
1441 | ||
1442 | * fhandler.cc (fhandler_base::write): Use bool parameter in calls to | |
1443 | set_did_lseek. | |
1cda1322 | 1444 | (fhandler_base::fhandler_base): Accommodate new status and open_status |
b79f85c2 CV |
1445 | constructor. |
1446 | * fhandler.h: Remove status bit enumerator. | |
1447 | (FHDEVN): Remove. | |
1448 | (FHISSETF): Remove. | |
1449 | (FHSETF): Remove. | |
1450 | (FHCLEARF): Remove. | |
1451 | (FHCONDSETF): Remove. | |
1452 | (FHSTATOFF): Remove. | |
1453 | (UNCONNECTED, CONNECT_PENDING, CONNECTED): Substitute by enum | |
1454 | connect_state. | |
3e78b5d7 | 1455 | (fhandler_base::status): Define as bitfield struct type status_flags. |
1cda1322 | 1456 | Remove unused flags entirely. Accommodate all status access methods. |
b79f85c2 CV |
1457 | (open_status): Define as bitfield struct type status_flags. |
1458 | (fhandler_socket): Move socket related status bits to here. Redefine | |
1cda1322 | 1459 | had_connect_or_listen to be part of these status bits. Accommodate |
b79f85c2 CV |
1460 | related access methods. |
1461 | * fhandler_disk_file.cc (fhandler_base::fstat_helper): Use pc.issymlink | |
3e78b5d7 | 1462 | instead of dropped method get_symlink_p. |
b79f85c2 CV |
1463 | (fhandler_base::open_fs): Remove setting dropped status flags. |
1464 | * fhandler_socket.cc: Use values from enum connect_state throughout. | |
1465 | (fhandler_socket::fhandler_socket): Initialize status bits. | |
1466 | * fhandler_virtual.cc (fhandler_virtual::open): Remove setting dropped | |
1467 | status flags. | |
1468 | * net.cc: Use values from enum connect_state throughout. | |
1469 | * select.cc: Ditto. | |
1470 | * shared_info.h: Protect struct console_state using _FHANDLER_H_ | |
1471 | instead of FHDEVN. | |
1472 | ||
00dd058f CV |
1473 | 2004-04-09 Corinna Vinschen <corinna@vinschen.de> |
1474 | ||
1475 | * security.cc (get_file_attribute): Fix conditional. | |
1476 | ||
6ea87bc1 CF |
1477 | 2004-04-08 Christopher Faylor <cgf@bosbc.com> |
1478 | ||
1479 | * child_info.h: Update CHILD_INFO_MAGIC after 2004-04-03 change. | |
1480 | ||
6eee18ea CV |
1481 | 2004-04-08 Corinna Vinschen <corinna@vinschen.de> |
1482 | ||
1483 | * path.cc (hash_path_name): Replace hash algorithm with SDBM. | |
1484 | ||
1485 | 2004-04-08 Corinna Vinschen <corinna@vinschen.de> | |
a9a5b2ea CV |
1486 | |
1487 | * fhandler.cc (fhandler_base::open): Set query access mode according | |
1488 | to query_open setting. | |
1489 | (fhandler_base::fhandler_base): Initialize query_open. | |
1490 | * fhandler.h (FH_QUERYOPEN): Drop. | |
1491 | (enum query_state): Add. | |
1492 | (class fhandler_base): Add query_open member. | |
1493 | (fhandler_base::get_query_open): Redefine to use query_open. | |
1494 | (fhandler_base::set_query_open): Ditto. | |
1495 | * fhandler_disk_file.cc (fhandler_base::fstat_fs): Remove O_DIROPEN | |
1496 | from open_flags since it's added in open_fs anyway. Remove | |
1497 | query_open_already. Use new query_open settings. Rearrange slightly. | |
1498 | (fhandler_base::fstat_helper): Add get_io_handle as parameter to | |
1499 | get_file_attribute. | |
1500 | * security.cc (get_nt_object_attribute): Make returning an int. | |
1501 | Return -1 on error, 0 otherwise. | |
1502 | (get_file_attribute): Take an object handle as argument. Move down | |
1503 | to allow calling get_nt_object_attribute in case a non-NULL handle | |
1504 | is given. | |
1505 | * security.h (get_file_attribute): Add handle to argument list. | |
1cda1322 | 1506 | * syscalls.cc (chown_worker): Accommodate new definition of |
a9a5b2ea CV |
1507 | get_file_attribute. |
1508 | ||
284a55c3 CF |
1509 | 2004-04-07 Pierre Humblet <pierre.humblet@ieee.org> |
1510 | ||
1511 | * path.cc (path_prefix_p): Optimize test order. | |
1512 | ||
49294f00 CV |
1513 | 2004-04-06 Corinna Vinschen <corinna@vinschen.de> |
1514 | ||
1515 | * Makefile.in (EXTRALIBS): Add libtextreadmode.a. | |
1516 | (INSTOBJS): Add textreadmode.o. | |
1517 | * textreadmode.c: New file. | |
1518 | ||
1519 | 2004-04-06 Corinna Vinschen <corinna@vinschen.de> | |
b8eac1de CV |
1520 | |
1521 | * fhandler_disk_file.cc (fhandler_base::fstat_helper): Request | |
1522 | compressed size only if the matching attributes are set. Use | |
1523 | NtQueryInformationFile instead of GetCompressedFileSize. | |
1524 | (fhandler_base::fstat_by_handle): Remove NT 3.5 cruft since | |
1525 | local.dwVolumeSerialNumber isn't used subsequently. | |
1526 | * ntdll.h: Add typedefs for FILE_COMPRESSION_INFORMATION and | |
1527 | FILE_INFORMATION_CLASS. | |
1528 | ||
49294f00 | 1529 | 2004-04-06 Corinna Vinschen <corinna@vinschen.de> |
cffd8968 CV |
1530 | |
1531 | * fhandler_raw.cc (fhandler_dev_raw::open): Actually use "options". | |
1532 | ||
7e57d6d2 CV |
1533 | 2004-04-04 Gerd Spalink <Gerd.Spalink@t-online.de> |
1534 | ||
1535 | * fhandler_dsp.cc (fhandler_dev_dsp::ioctl): Add implementation | |
1536 | for ioctl codes SNDCTL_DSP_CHANNELS and SNDCTL_DSP_GETCAPS. | |
1537 | ||
1b957b1c | 1538 | 2004-04-03 Christopher Faylor <cgf@bosbc.com> |
129c8a0e | 1539 | |
7e57d6d2 CV |
1540 | * child_info.h (child_info::cygheap_reserve_sz): Rename from |
1541 | cygheap_alloc_sz. | |
129c8a0e CF |
1542 | * cygheap.cc: Rename alloc_sz to reserve_sz throughout. |
1543 | ||
321ddf24 CV |
1544 | 2004-04-03 Corinna Vinschen <corinna@vinschen.de> |
1545 | ||
1546 | * fhandler.h (class fhandler_socket): Remove has_been_closed member. | |
1547 | * fhandler_socket.cc (fhandler_socket::recvfrom): Revert to | |
1548 | overlapped I/O. | |
1549 | (fhandler_socket::recvmsg): Ditto. | |
1550 | (fhandler_socket::sendto): Ditto. | |
1551 | (fhandler_socket::sendmsg): Ditto. | |
1552 | * net.cc (wsock_event::prepare): Ditto. | |
1553 | (wsock_event::wait): Ditto. Evaluate overlapped result also after | |
1554 | calling CancelIo (thanks to Patrick Samson <p_samson@yahoo.com>). | |
1555 | (wsock_event::release): Remove. | |
1556 | * wsock_event.h: Revert to overlapped I/O. | |
1557 | ||
f5da8224 CV |
1558 | 2004-04-02 Corinna Vinschen <corinna@vinschen.de> |
1559 | ||
1560 | * net.cc (wsock_event::release): Use NULL handle in call to | |
1561 | WSAEventSelect to resolve KB 168349. | |
1562 | ||
b6edea61 CV |
1563 | 2004-04-01 Corinna Vinschen <corinna@vinschen.de> |
1564 | ||
1565 | * fhandler_socket.cc (fhandler_socket::recvfrom): Rearrange loop | |
1566 | so that WSARecvFrom is always called before waiting. | |
1567 | (fhandler_socket::recvmsg): Ditto. | |
1568 | ||
4cfacffa CV |
1569 | 2004-04-01 Corinna Vinschen <corinna@vinschen.de> |
1570 | ||
1571 | * net.cc (wsock_event::wait): Make wsa_err an int. Don't set | |
1572 | ret to 0 if any error has happened. | |
1573 | ||
54aefcc6 CV |
1574 | 2004-04-01 Corinna Vinschen <corinna@vinschen.de> |
1575 | ||
1576 | * fhandler_socket.cc (fhandler_socket::sendto): Drop out of loop if | |
1577 | has_been_closed gets set. | |
1578 | (fhandler_socket::sendmsg): Ditto. | |
1579 | * net.cc (wsock_event::wait): Don't initialize evts. Don't try to | |
1580 | evaluate network events if WSAEnumNetworkEvents fails. | |
1581 | (wsock_event::release): Save last WSA error and set it again unless | |
1582 | resetting to blocking socket fails. | |
1583 | * wsock_event.h (class wsock_event): Remove destructor. | |
1584 | ||
fbba4780 CV |
1585 | 2004-03-31 Corinna Vinschen <corinna@vinschen.de> |
1586 | ||
1587 | * fhandler_tape.cc (mtinfo::initialize): Fix fatal error message. | |
1588 | ||
455bbeae CV |
1589 | 2004-03-31 Corinna Vinschen <corinna@vinschen.de> |
1590 | ||
1591 | * fhandler_socket.cc (fhandler_socket::recvfrom): Always initialize | |
1592 | ret to 0 when using in Winsock call. | |
1593 | (fhandler_socket::recvmsg): Ditto. | |
1594 | (fhandler_socket::sendto): Ditto. | |
1595 | (fhandler_socket::sendmsg): Ditto. | |
1596 | ||
decd3e5d CV |
1597 | 2004-03-31 Corinna Vinschen <corinna@vinschen.de> |
1598 | ||
1599 | * fhandler_tape.cc (mtinfo_drive::get_pos): Only set partition if | |
1600 | GetTapePosition returned a non-zero partition number. | |
1601 | (mtinfo_drive::create_partitions): Reinitialize to partition 0. | |
1602 | Support TAPE_DRIVE_INITIATOR and TAPE_DRIVE_FIXED partitioning. | |
1603 | (mtinfo_drive::set_partition): Initialize new partition. | |
1604 | (mtinfo_drive::status): Readd accidentally dropped setting of mt_resid. | |
1605 | ||
1606 | * net.cc (wsock_event::prepare): Always print debug output in case | |
1607 | of error. | |
1608 | ||
93ba1204 CV |
1609 | 2004-03-31 Corinna Vinschen <corinna@vinschen.de> |
1610 | ||
1611 | * fhandler_socket.cc (fhandler_socket::sendmsg): Add SIGPIPE handling. | |
1612 | ||
4450172a CV |
1613 | 2004-03-31 Corinna Vinschen <corinna@vinschen.de> |
1614 | ||
1615 | * fhandler_socket.cc (fhandler_socket::recvfrom): Initialize res to | |
1616 | SOCKET_ERROR. Use SOCKET_ERROR instead of -1 throughout. | |
1617 | (fhandler_socket::recvmsg): Ditto. | |
1618 | (fhandler_socket::sendto): Ditto. | |
1619 | (fhandler_socket::sendmsg): Ditto. | |
1620 | * net.cc (wsock_event::prepare): Call WSASetLastError instead of | |
1621 | SetLastError. | |
1622 | (wsock_event::wait): Use SOCKET_ERROR instead of -1. | |
1623 | ||
c83bdbf6 CF |
1624 | 2004-03-30 Thomas Pfaff <tpfaff@gmx.net> |
1625 | ||
1626 | * thread.h (pthread::init_mainthread): Add parameter forked. Set | |
1627 | forked default to false.. | |
1628 | * thread.cc (MTinterface::fixup_after_fork): Call | |
1629 | pthread::init_mainthread with forked = true. | |
1630 | (pthread::init_mainthread): Add parameter forked. Do not change thread | |
1631 | self pointer when forked. | |
1632 | ||
5c7b73ed CV |
1633 | 2004-03-30 Corinna Vinschen <corinna@vinschen.de> |
1634 | ||
1635 | * shm.cc (shmat): If shmid is unknown, call a special variation | |
1636 | of shmget to retrieve the shared memory segment from Cygserver | |
1637 | instead of failing immediately. | |
3e78b5d7 | 1638 | * include/cygwin/ipc.h (IPC_KEY_IS_SHMID): New internal flag for |
5c7b73ed CV |
1639 | shmget when called from shmat. |
1640 | ||
81f5200b CV |
1641 | 2004-03-29 Corinna Vinschen <corinna@vinschen.de> |
1642 | ||
1643 | * fhandler.h (class fhandler_socket): Add has_been_closed member. | |
1644 | * fhandler_socket.cc (fhandler_socket::fhandler_socket): Initialize | |
1645 | has_been_closed to 0. | |
1646 | (fhandler_socket::recvfrom): Use new asynchronous I/O driven | |
1647 | wsock_event methods. | |
1648 | (fhandler_socket::recvmsg): Ditto. | |
1649 | (fhandler_socket::sendto): Ditto. | |
1650 | (fhandler_socket::sendmsg): Ditto. | |
1651 | * net.cc (wsock_event::prepare): Reimplement using asynchronous I/O. | |
1652 | (wsock_event::wait): Ditto. | |
1653 | (wsock_event::release): New method. | |
1cda1322 | 1654 | * wsock_event.h (class wsock_event): Remove ovr member. Accommodate |
81f5200b CV |
1655 | new implementation of prepare and wait methods. Add release method. |
1656 | ||
c7f060d0 CF |
1657 | 2004-03-29 Thomas Pfaff <tpfaff@gmx.net> |
1658 | ||
1659 | * thread.cc (pthread::atforkprepare): Call | |
1660 | MT_INTERFACE->fixup_before_fork at the end of atforkprepare. | |
1661 | ||
2b2cc75f CV |
1662 | 2004-03-29 Corinna Vinschen <corinna@vinschen.de> |
1663 | ||
1664 | * net.cc (wsock_event::wait): Change scope of local "len" variable. | |
1665 | ||
83216c72 CV |
1666 | 2004-03-28 Corinna Vinschen <corinna@vinschen.de> |
1667 | ||
1668 | * shm.cc (shmat): Return (void *) -1 on error instead of NULL. | |
1669 | ||
f19da5f7 CF |
1670 | 2004-03-27 Christopher Faylor <cgf@redhat.com> |
1671 | ||
1672 | * fhandler_nodevice.cc (fhandler_nodevice::open): Assume that errno has | |
1673 | already been set if pc.error is nonzero. | |
1674 | ||
58ea4db2 CF |
1675 | 2004-03-26 Christopher Faylor <cgf@redhat.com> |
1676 | ||
1677 | * cygheap.cc (cygheap_fixup_in_child): Improve strace output. | |
1678 | ||
dee56309 CV |
1679 | 2004-03-26 Corinna Vinschen <corinna@vinschen.de> |
1680 | ||
1681 | * errno.cc (errmap): Map ERROR_SHARING_VIOLATION to EBUSY, | |
1682 | ERROR_EOM_OVERFLOW and ERROR_NO_DATA_DETECTED to EIO. Add mappings | |
1683 | for ERROR_NO_MEDIA_IN_DRIVE, ERROR_DEVICE_REQUIRES_CLEANING and | |
1684 | ERROR_DEVICE_DOOR_OPEN. | |
1685 | * fhandler.h (class fhandler_dev_raw): Drop varblkop member. | |
1686 | (fhandler_dev_raw::is_eom): De-virtualize. | |
1687 | (fhandler_dev_raw::is_eof): Ditto. | |
1688 | (class fhandler_dev_tape): Drop lasterr and dp member. Add mt_mtx | |
1689 | member. Drop all private methods formerly used by ioctl. | |
1690 | (fhandler_dev_tape::is_rewind_device): Use get_minor for clarity. | |
1691 | (fhandler_dev_tape::driveno): New method. | |
1692 | (fhandler_dev_tape::drive_init): New method. | |
1693 | (fhandler_dev_tape::clear): Remove method. | |
1694 | (fhandler_dev_tape::is_eom): Ditto. | |
1695 | (fhandler_dev_tape::is_eof): Ditto. | |
1696 | (fhandler_dev_tape::write_file): Ditto. | |
1697 | (fhandler_dev_tape::read_file): Ditto. | |
1698 | (fhandler_dev_tape::_lock): New method. | |
1699 | (fhandler_dev_tape::unlock): New method. | |
1700 | (fhandler_dev_tape::raw_read): New method. | |
1701 | (fhandler_dev_tape::raw_write): New method. | |
1702 | * fhandler_raw.cc (fhandler_dev_raw::is_eom): New method. | |
1703 | (fhandler_dev_raw::is_eof): New method. | |
1704 | (fhandler_dev_raw::open): Allow setting write through option by | |
1705 | using the O_TEXT flag as ... flag. | |
1706 | (fhandler_dev_raw::writebuf): Remove usage of varblkop and other | |
1707 | tape specific code. | |
1708 | (fhandler_dev_raw::raw_read): Ditto. | |
1709 | (fhandler_dev_raw::dup): Ditto. | |
1710 | * fhandler_tape.cc: Rewrite tape operations entirely. Implement | |
1711 | new tape driver classes mtinfo, mtinfo_drive and mtinfo_part. | |
1712 | Reduce fhandler_dev_tape methods to mostly just calling appropriate | |
1713 | mtinfo_drive methods. | |
1714 | (mtinfo_init): New function adding the mtinfo shared memory area. | |
1715 | * mtinfo.h: New file, containing the definition of the new tape | |
1716 | driver classes. | |
1717 | * shared.cc: Include mtinfo.h. | |
1718 | (offsets): Add entry for mtinfo shared memory area. | |
1719 | (memory_init): Call mtinfo_init. | |
1720 | * shared_info.h (shared_locations): Add SH_MTINFO shared location. | |
1721 | * include/cygwin/mtio.h: Change and add various comments. Add GMT_xxx | |
1722 | macros for new generic flags. Add MT_ST_xxx bitfield definitions | |
1723 | for MTSETDRVBUFFER ioctl. | |
1724 | * include/cygwin/version.h: Bump API minor version number. | |
1725 | ||
11a9a1cf CF |
1726 | 2004-03-26 Christopher Faylor <cgf@redhat.com> |
1727 | ||
1728 | * path.cc (path_conv::check): Use 'strchr' rather than 'strrchr' to | |
1729 | find end of string, for efficiency. | |
1730 | ||
1731 | 2004-03-26 Thomas Pfaff <tpfaff@gmx.net> | |
1732 | ||
1733 | * include/cygwin/_types.h: New file. | |
1734 | * include/sys/lock.h: Ditto. | |
1735 | * include/sys/stdio.h: Ditto. | |
1736 | * thread.cc: Include sys/lock.h | |
1737 | (__cygwin_lock_init): New function. | |
1738 | (__cygwin_lock_init_recursive): Ditto. | |
1739 | (__cygwin_lock_fini): Ditto. | |
1740 | (__cygwin_lock_lock): Ditto. | |
1741 | (__cygwin_lock_trylock): Ditto. | |
1742 | (__cygwin_lock_unlock): Ditto. | |
1743 | (pthread::atforkprepare): Lock file pointer before fork. | |
1744 | (pthread::atforkparent): Unlock file pointer after fork. | |
1745 | (pthread::atforkchild): Ditto. | |
1746 | ||
6b0d86c5 CV |
1747 | 2004-03-26 Corinna Vinschen <corinna@vinschen.de> |
1748 | ||
1749 | * sem.cc (semget): Fix debug string. | |
1750 | (semop): Ditto. | |
1751 | * shm.cc (fixup_shms_after_fork): Ditto. | |
1752 | (shmat): Ditto. | |
1753 | (shmdt): Ditto. | |
1754 | (shmget): Ditto. | |
1755 | ||
85427a94 CF |
1756 | 2004-03-26 Christopher Faylor <cgf@redhat.com> |
1757 | ||
1758 | * sigproc.cc (wait_sig): Make sure that SIGCHLD is handled regardless | |
1759 | of whether a signal is queued. | |
1760 | ||
27ec638b CF |
1761 | 2004-03-26 Christopher Faylor <cgf@redhat.com> |
1762 | ||
1763 | * sigproc.cc (wait_sig): Report if not trying to send signal due to | |
1764 | queued signal. | |
1765 | ||
474048c2 CF |
1766 | 2004-03-25 Christopher Faylor <cgf@redhat.com> |
1767 | ||
1768 | * path.cc (normalize_posix_path): Reorganize to short circuit to DOS | |
1769 | path handling whenever a '\' is detected. | |
1770 | ||
1771 | * signal.cc (sigaction): Make strace output more informative. | |
1772 | * sigproc.cc (pending_signals::add): Just index directly into signal | |
1773 | array rather than treating the array as a heap. | |
1774 | (pending_signals::del): Ditto. | |
1775 | (wait_sig): Don't send signal if we already have a similar signal | |
1776 | queued. | |
1777 | * sigproc.h (call_signal_handler_now): Remove obsolete declaration. | |
1778 | ||
a65cfe3c CV |
1779 | 2004-03-23 Gerd Spalink <Gerd.Spalink@t-online.de> |
1780 | ||
1781 | * fhandler_dsp.cc (fhandler_dev_dsp::write): Remove type | |
1782 | cast from argument to audio_out_->parsewav() to make reference | |
1783 | work properly. Now .wav file headers are properly discarded. | |
1784 | ||
88506c67 CV |
1785 | 2004-03-23 Corinna Vinschen <corinna@vinschen.de> |
1786 | ||
1787 | * fhandler_disk_file.cc (fhandler_base::fstat_fs): Use created | |
1788 | handle regardless of nohandle state. Clean up afterwards. | |
1789 | ||
6653af6c CV |
1790 | 2004-03-23 Gerd Spalink <Gerd.Spalink@t-online.de> |
1791 | ||
1792 | * autoload.cc: Load eight more functions for waveIn support. | |
1793 | * fhandler.h (class fhandler_dev_dsp): Add class Audio, class Audio_in | |
1794 | and class Audio_out members and audio_in_, audio_out_ pointers so | |
3e78b5d7 | 1795 | that future changes are restricted to file fhandler_dsp.cc. |
6653af6c CV |
1796 | * fhandler_dsp.cc (fhandler_dev_dsp::Audio): Add this class to treat |
1797 | things common to audio recording and playback. | |
1798 | Add more format conversions. | |
1799 | (fhandler_dev_dsp::Audio::queue): New queues for buffer management | |
1800 | to fix incomplete cleanup of buffers passed to the wave device. | |
1801 | (fhandler_dev_dsp::Audio_in): New, added class to implement audio | |
1802 | recording. | |
1803 | (fhandler_dev_dsp::Audio_out): Rework to use functionality provided | |
1804 | by fhandler_dev_dsp::Audio. Allocate memory audio buffers late, | |
1805 | just before write. | |
1806 | (fhandler_dev_dsp::Audio_out::start): Size of wave buffer allocated | |
1807 | here depends on audio rate/bits/channels. | |
1808 | (fhandler_dev_dsp::Audio_in::start): Ditto. | |
1809 | (fhandler_dev_dsp::setupwav): Replaced by following function. | |
1810 | (fhandler_dev_dsp::Audio_out::parsewav): Does not setup wave device | |
1811 | any more. Discard wave header properly. | |
1812 | (fhandler_dev_dsp::open): Add O_RDONLY and_RDWR as legal modes. | |
1813 | Protect against re-open. Activate fork_fixup. | |
1814 | (fhandler_dev_dsp::ioctl): Protect against actions when audio is | |
1815 | active. SNDCTL_DSP_GETFMTS only returns formats supported by | |
1816 | mmsystem wave API, not all supported formats. SNDCTL_DSP_GETBLKSIZE | |
1817 | result now depends on current audio format. | |
1818 | (fhandler_dev_dsp::fixup_after_fork): Call fork_fixup for the Audio | |
1819 | classes to let them duplicate the CRITICAL_SECTION. | |
1820 | ||
6b89a541 CF |
1821 | 2004-03-19 Pierre Humblet <pierre.humblet@ieee.org> |
1822 | Christopher Faylor <cgf@redhat.com> | |
1823 | ||
1824 | * init.cc (munge_threadfunc): Handle all instances of search_for. | |
1825 | (prime_threads): Test threadfunc_ix[0]. | |
1826 | ||
c7c7492a CF |
1827 | 2004-03-21 Christopher Faylor <cgf@redhat.com> |
1828 | ||
1829 | * cygheap.cc (init_cheap): Set initial_sz to something or suffer | |
1830 | spurious output. | |
1831 | (cygheap_fixup_in_child): Set alloc_sz to passed in size to ensure that | |
1832 | children will have the right size heap. | |
1833 | (_csbrk): Make output conditional on DEBUGGING. | |
1834 | ||
e362f67f CF |
1835 | 2004-03-21 Christopher Faylor <cgf@redhat.com> |
1836 | ||
1837 | * cygheap.cc (init_cheap): Conditionalize debugging code. | |
1838 | ||
c795774c CF |
1839 | 2004-03-21 Christopher Faylor <cgf@redhat.com> |
1840 | ||
1841 | * cygheap.cc (init_cheap): Add ability to specify minimal cygwin heap | |
1842 | size when debugging. | |
1843 | (_csbrk): Report error in allocation to stderr. | |
1844 | (ccalloc): Ditto. | |
1845 | * dtable.cc (dtable::find_fifo): Remove use of atoms. | |
1846 | * dtable.h (dtable::find_fifo): Ditto. | |
1847 | * fhandler.h (fhandler_fifo): Ditto. | |
1848 | * fhandler_fifo.cc (fhandler_fifo::fhandler_fifo): Ditto. | |
1849 | (fhandler_fifo::set_use): Ditto. | |
1850 | (fhandler_fifo::open_not_mine): Ditto. | |
1851 | (fhandler_fifo::open): Ditto. | |
1852 | * pinfo.cc (_pinfo::commune_recv): Ditto. | |
1853 | (_pinfo::commune_send): Ditto. | |
1854 | ||
83f96e3f PH |
1855 | 2004-03-19 Pierre Humblet <pierre.humblet@ieee.org> |
1856 | ||
3e78b5d7 CF |
1857 | * dir.cc (rmdir): Reorganize error handling to reduce indentation. |
1858 | ||
61f50f94 CF |
1859 | 2004-03-19 Christopher Faylor <cgf@redhat.com> |
1860 | ||
1861 | * include/cygwin/version.h: Bump DLL minor number to 10. | |
1862 | ||
d8f87fba CF |
1863 | 2004-03-18 Christopher Faylor <cgf@redhat.com> |
1864 | ||
1865 | * child_info.h (CURR_CHILD_INFO_MAGIC): Reset to new value. | |
1866 | (child_info::cygheap_alloc_sz): New field. | |
1867 | * cygheap.cc (init_cheap): Reduce size of cygwin stack until minimal | |
1868 | hit when attempting initial allocation. | |
1869 | (cygheap_setup_for_child): Use alloc_sz to create secondary memory | |
1870 | mapped entry. Store alloc_sz in cygheap_alloc_sz. | |
1871 | (cygheap_fixup_in_child): Use cygheap_alloc_sz to map parent's cygheap. | |
1872 | * cygheap.h (_CYGHEAPSIZE_SLOP): New define. | |
1873 | (CYGHEAPSIZE): Use _CYGHEAPSIZE_SLOP. | |
1874 | ||
891d1990 CV |
1875 | 2004-03-18 Corinna Vinschen <corinna@vinschen.de> |
1876 | ||
1877 | * fhandler_proc.cc (format_proc_meminfo): On NT, try to figure out | |
1878 | real swap file usage by requesting SystemPagefileInformation. Use | |
1879 | GlobalMemoryStatus as fallback. | |
1880 | * ntdll.h (_SYSTEM_INFORMATION_CLASS): Add SystemPagefileInformation. | |
1881 | (struct _SYSTEM_PAGEFILE_INFORMATION): Define. | |
1882 | ||
12d545fb CF |
1883 | 2004-03-17 Christopher Faylor <cgf@redhat.com> |
1884 | ||
1885 | * pipe.cc (fhandler_pipe::dup): Fix debugging message. | |
1886 | ||
7faaacbb CF |
1887 | 2004-03-17 Christopher Faylor <cgf@redhat.com> |
1888 | ||
1889 | * include/cygwin/version.h: Bump DLL minor number to 9. | |
1890 | ||
fbdfd5f8 CF |
1891 | 2004-03-16 Christopher Faylor <cgf@redhat.com> |
1892 | ||
1893 | * sigproc.cc (proc_terminate): Release sync_proc_subproc when done | |
1894 | terminating or suffer potential hangs. | |
1895 | (get_proc_lock): Reorganize debugging output slightly. | |
1896 | ||
e867f8f1 CF |
1897 | 2004-03-15 Christopher Faylor <cgf@redhat.com> |
1898 | ||
1899 | * cygtls.cc (_cygtls::fixup_after_fork): Just manipulate the signal | |
1900 | stack if a signal occurred during the parent's fork. Otherwise leave | |
1901 | it alone. | |
1902 | ||
c25695bb CF |
1903 | 2004-03-15 Christopher Faylor <cgf@redhat.com> |
1904 | ||
1905 | * exceptions.cc (try_to_debug): Report on tid of caller. | |
1906 | ||
1907 | * sync.cc (muto::acquire): Fix some races. | |
1908 | * sync.h (muto): Expose some fields for easier debugging. | |
1909 | ||
80c74a5f CV |
1910 | 2004-03-15 Corinna Vinschen <corinna@vinschen.de> |
1911 | ||
1912 | * fhandler.h (fhandler_dev_tape::tape_get_pos): Declare with extra | |
1913 | parameter for partition number. | |
1914 | (fhandler_dev_tape::_tape_set_pos): Ditto. | |
1915 | (fhandler_dev_tape::tape_partition): New method. | |
1916 | (fhandler_dev_tape::tape_set_partition): New method. | |
1917 | * fhandler_tape.cc (fhandler_dev_tape::open): Call private methods | |
1918 | directly instead of ioctl. | |
1919 | (fhandler_dev_tape::ioctl): Use long erase on MTERASE by default. | |
1920 | Don't use absolute positioning on MTSEEK. Call tape_set_partition | |
1921 | on MTSETPART, tape_partition on MTMKPART. | |
1922 | (fhandler_dev_tape::tape_get_pos): Add partition number parameter. | |
1923 | Prefer logical position information over absolute position information. | |
1924 | Return partition number. | |
1925 | (fhandler_dev_tape::_tape_set_pos): Add partition number parameter. | |
1926 | Use in SetTapePosition. | |
1927 | (fhandler_dev_tape::tape_set_pos): Remove special TAPE_ABSOLUTE_BLOCK | |
1928 | handling. | |
1929 | (fhandler_dev_tape::tape_erase): Rewind before erasing. | |
1930 | (fhandler_dev_tape::tape_status): Rearrange slightly. Try to get a | |
1931 | MediaType even if no tape is loaded. Store active partition in | |
1932 | mt_resid as on Linux. | |
1933 | (fhandler_dev_tape::tape_partition): New method. | |
1934 | (fhandler_dev_tape::tape_set_partition): New method. | |
1935 | * include/cygwin/mtio.h: Fix copyright. Add comment to explain | |
1936 | mt_resid content. | |
1937 | * include/cygwin/version.h: Bump API minor number. | |
1938 | ||
168d7785 CF |
1939 | 2004-03-14 Christopher Faylor <cgf@redhat.com> |
1940 | ||
1941 | * cygtls.cc (_cygtls::remove): Call remove_wq even when we can't | |
1942 | necessarily get the cygtls table lock. | |
1943 | * cygtls.h (_cygtls::remove_wq): Add wait argument. | |
1944 | * sigproc.cc (_cygtls::remove_wq): Honor wait argument when acquiring | |
1945 | lock. | |
1946 | (proc_terminate): Don't NULL sync_proc_subproc since other threads may | |
1947 | still try to access it. | |
1948 | ||
80c74a5f | 1949 | 2004-03-14 Corinna Vinschen <corinna@vinschen.de> |
6644f509 CV |
1950 | |
1951 | * errno.cc (errmap): Map ERROR_BEGINNING_OF_MEDIA and | |
1952 | ERROR_SETMARK_DETECTED to EIO instead of ESPIPE. | |
1953 | Handle ERROR_FILEMARK_DETECTED. | |
1954 | * fhandler_tape.cc (TAPE_FUNC): Add comment that ERROR_BUS_RESET | |
1955 | has still to be handled correctly. | |
1cda1322 | 1956 | (fhandler_dev_tape::open): Accommodate fact that get.mt_dsreg |
6644f509 CV |
1957 | also contains density code. |
1958 | (fhandler_dev_tape::ioctl): Rearrange slightly. Reset devbuf also on | |
1959 | MTNOP, MTWSM, MTSETBLK, MTSETDRVBUFFER, MTSETPART and MTMKPART. | |
1960 | (fhandler_dev_tape::tape_set_pos): Rearrange. Match behaviour to | |
1961 | the Linux tape driver. | |
1962 | (fhandler_dev_tape::tape_status): Call IOCTL_STORAGE_GET_MEDIA_TYPES_EX | |
1963 | if available. Return device type and density code in appropriate | |
1964 | mtget members. | |
1965 | * wincap.h (wincaps::has_ioctl_storage_get_media_types_ex): New element. | |
1966 | * wincap.cc: Implement above element throughout. | |
1967 | * include/cygwin/mtio.h: Add tape device types as returned by | |
1968 | IOCTL_STORAGE_GET_MEDIA_TYPES_EX. | |
1969 | (MT_TAPE_INFO): Use above type codes. | |
1970 | (struct mtget): Change mt_dsreg comment. | |
1971 | ||
83a74ea2 PH |
1972 | 2004-03-14 Pierre Humblet <pierre.humblet@ieee.org> |
1973 | ||
6644f509 CV |
1974 | * dir.cc (rmdir): Construct real_dir with flag PC_FULL. |
1975 | Use a loop instead of recursion to handle the current directory. | |
83a74ea2 | 1976 | |
f8a8e7a1 CF |
1977 | 2004-03-14 Christopher Faylor <cgf@redhat.com> |
1978 | ||
1979 | * cygtls.cc (_cygtls::remove): Call remove_wq to ensure that wait stuff | |
1980 | is removed from proc_subproc linked list. | |
1981 | * cygtls.h (_cygtls::remove_wq): Declare. | |
1982 | * sigproc.cc (_cygtls::remove_wq): Define. | |
1983 | (proc_subproc): Label event handle appropriately. | |
1984 | * spawn.cc (spawn_guts): Return -1 when wait() fails for spawn types | |
1985 | that require waiting. | |
1986 | ||
80c74a5f | 1987 | 2004-03-13 Corinna Vinschen <corinna@vinschen.de> |
09f36ed0 CV |
1988 | |
1989 | * errno.cc (errmap): Handle ERROR_BUS_RESET. | |
1990 | * fhandler.h (fhandler_dev_raw::write_file): New method, created | |
1991 | from former static function. | |
1992 | (fhandler_dev_raw::read_file): Ditto. | |
1993 | (reset_devbuf): New inline method. | |
1994 | (class fhandler_dev_tape): Add TAPE_GET_DRIVE_PARAMETERS | |
1995 | member `dp'. | |
1996 | (fhandler_dev_tape::write_file): New method. | |
1997 | (fhandler_dev_tape::read_file): Ditto. | |
1998 | (fhandler_dev_tape::tape_get_feature): Convert to inline method. | |
1999 | (fhandler_dev_tape::tape_error): New method, created from former | |
3e78b5d7 | 2000 | static function. |
09f36ed0 CV |
2001 | (fhandler_dev_tape::tape_get_blocksize): Remove declaration. |
2002 | * fhandler_raw.cc (fhandler_dev_raw::write_file): New method, created | |
2003 | from former static function. | |
2004 | (fhandler_dev_raw::read_file): Ditto. | |
1cda1322 | 2005 | (fhandler_dev_raw::writebuf): Accommodate the fact that no devbuf |
09f36ed0 CV |
2006 | exists under variable block size condition. |
2007 | (fhandler_dev_raw::raw_read): Ditto. Add local p pointer to simplify | |
2008 | pointer arithmetic. | |
2009 | (fhandler_dev_raw::raw_write): Always set devbufend to 0 when starting | |
1cda1322 | 2010 | with writing. Accommodate the fact that no devbuf exists under |
09f36ed0 CV |
2011 | variable block size condition. |
2012 | * fhandler_tape.cc: Various formatting changes. | |
2013 | (TAPE_FUNC): New macro. Use throughout as tape function loop. | |
2014 | (get_ll): Convert into macro. | |
2015 | (IS_EOM): New macro. | |
2016 | (IS_EOF): New macro. | |
2017 | (fhandler_dev_tape::is_eom): Use IS_EOM macro. | |
2018 | (fhandler_dev_tape::is_eof): Use IS_EOF macro. | |
2019 | (fhandler_dev_tape::write_file): New method. | |
2020 | (fhandler_dev_tape::read_file): New method. | |
2021 | (fhandler_dev_tape::open): Get drive information block here once. | |
2022 | (fhandler_dev_tape::lseek): Remove unneeded duplicate code. | |
2023 | (fhandler_dev_tape::dup): Duplicate drive information block. | |
2024 | (fhandler_dev_tape::ioctl): Remove drvbuf in variable block size mode. | |
2025 | Return ERROR_INVALID_BLOCK_LENGTH instead of ERROR_MORE_DATA if | |
2026 | buffer contains data which would get lost on buffer size changing. | |
2027 | Use absolute tape positioning also if drive only supports logical | |
2028 | block positioning. | |
2029 | (fhandler_dev_tape::tape_error): New method, created from former | |
2030 | static function. | |
2031 | (fhandler_dev_tape::tape_get_pos): Allow logical block reporting. | |
2032 | Workaround tape driver bug. | |
2033 | (fhandler_dev_tape::_tape_set_pos): Reset device buffer and flags | |
2034 | after successful repositioning. | |
2035 | (fhandler_dev_tape::tape_set_pos): Allow logical block positioning. | |
2036 | Workaround tape driver bug. | |
2037 | (fhandler_dev_tape::tape_erase): Use dp instead of calling | |
2038 | GetTapeParameters. | |
2039 | (fhandler_dev_tape::tape_prepare): Ditto. | |
2040 | (fhandler_dev_tape::tape_get_blocksize): Remove. | |
2041 | (fhandler_dev_tape::tape_set_blocksize): Don't call tape_get_blocksize. | |
2042 | Error handling already done in fhandler_dev_tape::ioctl. | |
2043 | (fhandler_dev_tape::tape_status): Remove local `dp' variable. | |
1cda1322 | 2044 | Accommodate logical tape reporting. Call tape_get_feature instead |
09f36ed0 CV |
2045 | of accessing feature words directly. |
2046 | (fhandler_dev_tape::tape_compression): Use dp instead of calling | |
2047 | GetTapeParameters. Fix resetting datcompression. | |
2048 | ||
183f4d80 CF |
2049 | 2004-03-12 Christopher Faylor <cgf@redhat.com> |
2050 | ||
2051 | * wait.cc (wait4): Initialize pointer on entry. Avoid calling | |
2052 | call_signal_handler twice since that guarantees exiting with errno set | |
2053 | to EINTR. | |
2054 | ||
3c5f8ea4 CV |
2055 | 2004-03-12 Corinna Vinschen <corinna@vinschen.de> |
2056 | ||
2057 | * exceptions.cc (sigpacket::process): Simplify code slightly. | |
2058 | ||
9863b78e CF |
2059 | 2004-03-11 Christopher Faylor <cgf@redhat.com> |
2060 | ||
2061 | * cygtls.h (waitq): Declare structure here. | |
2062 | (_cygtls::wq): Declare. | |
2063 | * cygtls.cc (_cygtls::fixup_after_fork): Clear wq.thread_ev to avoid | |
2064 | using an invalid event handle in forked process. | |
2065 | * dcrt0.cc (waitq_storage): Delete. | |
2066 | (threadstuff): Remove waitq_storage. | |
2067 | * perthread.h (per_thread_waitq): Delete. | |
2068 | (waitq_storage): Delete declaration. | |
2069 | * sigproc.cc (sigproc_init): Remove perthread waitq consideration. | |
2070 | * sigproc.h (waitq): Delete declaration. | |
2071 | * wait.cc (wait4): Use _my_tls waitq structure rather than per_thread. | |
2072 | ||
83a74ea2 | 2073 | 2004-03-11 Pierre Humblet <pierre.humblet@ieee.org> |
9863b78e CF |
2074 | |
2075 | * cygtls.h (_cygtls::newmask): Delete member. | |
2076 | (_cygtls::deltamask): New member. | |
2077 | * gendef (_sigdelayed): Replace the call to set_process_mask by a call | |
2078 | to set_process_mask_delta. | |
2079 | * exceptions.cc (handle_sigsuspend): Do not filter tempmask. Or | |
2080 | SIG_NONMASKABLE in deltamask as a flag. | |
2081 | (_cygtls::interrupt_setup): Set deltamask only. | |
2082 | (set_process_mask_delta): New function. | |
2083 | (_cygtls::call_signal_handler): Replace the first call to | |
2084 | set_process_mask by a call to set_process_mask_delta. | |
2085 | * tlsoffsets.h: Regenerate. | |
2086 | ||
7ea8e226 CF |
2087 | 2004-03-11 Christopher Faylor <cgf@redhat.com> |
2088 | ||
2089 | * cygtls.cc (_cygtls::fixup_after_fork): Remove unneeded setting of | |
2090 | oldmask. | |
2091 | * exceptions.cc: Remove some __I386__ conditionals. | |
2092 | (handle_exceptions): Move ppid test to outside of a loop for | |
2093 | efficiency. | |
2094 | (setup_handler): Make debugging output more wordy. | |
2095 | (_cygtls::call_signal_handler): To avoid a race, use lock/unlock to | |
2096 | synchronize with signal thread and ensure that signal_arrived event has | |
2097 | actually been set. | |
2098 | * gendef (_sigfe): Use ebx for all sigstack manipulations to ensure | |
2099 | that the register is saved. Move setting of incyg to within stack lock | |
2100 | to avoid setup_handler confusion. | |
2101 | (_sigbe): Use ebx for all sigstack manipulations to ensure that the | |
2102 | register is saved. | |
2103 | (_cygtls::pop): Ditto. | |
2104 | (_cygtls::lock): Ditto. | |
2105 | (stabilize_sig_stack): Ditto. | |
2106 | (setjmp): Ditto. | |
2107 | (longjmp): Ditto. | |
2108 | ||
58e9df0f CF |
2109 | 2004-03-08 Jaakko Hyvatti <jaakko.hyvatti@iki.fi> |
2110 | ||
2111 | * fhandler_serial.cc (fhandler_serial::ioctl): Implement TIOCSBRK and | |
2112 | TIOCCBRK. | |
2113 | * include/sys/termios.h: Define TIOCSBRK and TIOCCBRK. | |
2114 | ||
5fb0fe79 CF |
2115 | 2004-03-08 Christopher Faylor <cgf@redhat.com> |
2116 | ||
ad22734a CF |
2117 | * exceptions.cc (setup_handler): Avoid suspending a thread if it is in |
2118 | a cygwin function, in an exception, spinning, or locked. | |
5fb0fe79 CF |
2119 | * gendef (_sigfe): Move incyg setting earlier. |
2120 | (sigreturn): Set incyg flag to avoid interrupting called cygwin | |
2121 | functions. | |
2122 | (sigdelayed): Ditto. | |
2123 | (stabilize_sig_stack): Ditto. | |
2124 | ||
2125 | * sigproc.cc (proc_subproc): Don't restore process lock early in exec | |
2126 | case. | |
2127 | ||
2128 | * cygtls.h: Reorganize fields in _cygtls slightly. | |
2129 | * tlsoffsets.h: Regenerate. | |
2130 | ||
3a1ccfc8 CF |
2131 | 2004-03-06 Christopher Faylor <cgf@redhat.com> |
2132 | ||
2133 | * fork.cc (fork_parent): Save parent pid in a temporary variable since | |
2134 | child could conceivably exit before function returns, rendering the | |
2135 | child's shared memory area invalid. | |
2136 | ||
2137 | * cygtls.h (_cygtls::incyg): Declare new field. | |
2138 | (_cygtls::in_exception): Define new function. | |
2139 | * exceptions.cc (setup_handler): Remove locked flag. Use 'incyg' flag | |
2140 | and in_exception function to determine when we're in a cygwin function. | |
2141 | (_cygtls::call_signal_handler): Decrement incyg flag prior to calling a | |
2142 | handler. Increment it on return. | |
2143 | * gendef (_sigfe): Increment incyg flag. Use testl for zero testing | |
2144 | rather than orl, for consistency. | |
2145 | (_sigbe): Decrement incyg flag. Use testl for zero testing rather than | |
2146 | orl, for consistency. | |
2147 | (_cygtls::pop): Use testl for zero testing rather than orl, for | |
2148 | consistency. | |
2149 | (stabilize_sig_stack): Ditto. | |
2150 | ||
0c378b64 CF |
2151 | * tlsoffsets.h: Regenerate. |
2152 | ||
f2afcfa6 CF |
2153 | 2004-03-05 Christopher Faylor <cgf@redhat.com> |
2154 | ||
2155 | * gendef (sigdelayed): Handle return here rather than going through | |
2156 | sigbe to ensure that flags are properly restored. | |
2157 | ||
b95ae504 TP |
2158 | 2004-03-04 Thomas Pfaff <tpfaff@gmx.net> |
2159 | ||
f2afcfa6 CF |
2160 | * include/pthread.h (PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP): New |
2161 | define. | |
b95ae504 TP |
2162 | (PTHREAD_NORMAL_MUTEX_INITIALIZER_NP): Ditto. |
2163 | (PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP): Ditto. | |
f2afcfa6 CF |
2164 | * thread.cc (pthread_mutex::is_good_initializer): Check for all |
2165 | posssible initializers | |
b95ae504 TP |
2166 | (pthread_mutex::is_good_initializer_or_object): Ditto. |
2167 | (pthread_mutex::is_good_initializer_or_bad_object): Ditto. | |
f2afcfa6 | 2168 | (verifyable_object_isvalid): Support up to three static initializers. |
b95ae504 | 2169 | (verifyable_object_isvalid (void const *,long)): Remove. |
f2afcfa6 CF |
2170 | (pthread_cond::is_good_initializer_or_bad_object): Remove unneeded |
2171 | objectState var. | |
2172 | (pthread_cond::init): Condition remains unchanged when creation has | |
2173 | failed. | |
2174 | (pthread_rwlock::is_good_initializer_or_bad_object): Remove unneeded | |
2175 | objectState var. | |
2176 | (pthread_rwlock::init): Rwlock remains unchanged when creation has | |
2177 | failed. | |
2178 | (pthread_mutex::init): Remove obsolete comment. Mutex remains | |
2179 | unchanged when creation has failed. Add support for new initializers. | |
2180 | (pthread_mutex_getprioceiling): Do not create mutex, just return | |
2181 | ENOSYS. | |
b95ae504 TP |
2182 | (pthread_mutex_lock): Simplify. |
2183 | (pthread_mutex_trylock): Remove unneeded local themutex. | |
f2afcfa6 CF |
2184 | (pthread_mutex_unlock): Just return EPERM if mutex is not initialized. |
2185 | (pthread_mutex_setprioceiling): Do not create mutex, just return | |
2186 | ENOSYS. | |
2187 | * thread.h (verifyable_object_isvalid): Support up to three static | |
2188 | initializers. | |
2189 | (verifyable_object_isvalid (void const *,long)): Remove prototype. | |
2190 | (pthread_mutex::init): Add optional initializer to parameter list. | |
b95ae504 | 2191 | |
08b0a057 CF |
2192 | 2004-03-03 Christopher Faylor <cgf@redhat.com> |
2193 | ||
2194 | * gendef (sigreturn): Call stabilize_sig_stack to ensure that there are | |
2195 | no pending signals. Restore edx later. | |
2196 | (sigdelayed): Save edx earlier. | |
2197 | ||
2198 | * malloc_wrapper.cc (malloc_init): Add some more debugging output. | |
2199 | ||
7cdd0293 CV |
2200 | 2004-03-02 Corinna Vinschen <corinna@vinschen.de> |
2201 | ||
2202 | * fhandler_raw.cc (fhandler_dev_raw::raw_read): When reading with | |
2203 | variable block size, read only one block, read directly into user | |
2204 | supplied buffer, return ENOMEM if user supplied buffer is smaller | |
2205 | than size of next block to read. Use read2 instead of bytes_to_read | |
2206 | to count number of bytes read. | |
2207 | * fhandler_tape.cc (fhandler_dev_tape::open): Add debug output. | |
2208 | ||
4e23c181 CV |
2209 | 2004-02-26 Brian Ford <ford@vss.fsi.com> |
2210 | ||
2211 | * miscfuncs.cc (check_invalid_virtual_addr): Assure the last page | |
2212 | in the range is always tested. Add appropriate const. | |
0f898946 | 2213 | * mmap.cc (mmap_record::alloc_fh): Remove unused static path_conf object. |
4e23c181 | 2214 | |
ca713cfa CF |
2215 | 2004-02-25 Christopher Faylor <cgf@redhat.com> |
2216 | ||
74c9d43c CF |
2217 | * exceptions.cc (setup_handler): Signal event for any sigwaitinfo, if it |
2218 | exists, to force signal to be handled. Zero event here to prevent | |
ca713cfa CF |
2219 | races. |
2220 | * signal.cc (sigwaitinfo): Use local handle value for everything since | |
2221 | signal thread could zero event element at any time. Detect when | |
2222 | awaking due to thread not in mask and set return value and errno | |
2223 | accordingly. Don't set signal number to zero unless we've recognized | |
2224 | the signal. | |
2225 | * sigproc.cc (sigq): Rename from sigqueue throughout. | |
2226 | ||
2227 | * thread.cc (pthread::join): Handle signals received while waiting for | |
2228 | thread to terminate. | |
2229 | ||
2230 | 2004-02-25 Christopher Faylor <cgf@redhat.com> | |
2231 | ||
2232 | * cygwin.din: Export sighold, sigqueue. | |
2233 | * exceptions.cc (sighold): Define new function. | |
2234 | * signal.cc (handle_sigprocmask): Set correct errno for invalid signal. | |
2235 | Simplify debugging output. | |
2236 | (sigqueue): Define new function. | |
2237 | * include/cygwin/signal.h (sighold): Declare new function. | |
2238 | (sigqueue): Ditto. | |
2239 | * include/cygwin/version.h: Bump API minor version number. | |
2240 | * include/limits.h (TIMER_MAX): Define. | |
2241 | (_POSIX_TIMER_MAX): Ditto. | |
2242 | ||
f9e19c09 CV |
2243 | 2004-02-25 Brian Ford <ford@vss.fsi.com>, |
2244 | Corinna Vinschen <corinna@vinschen.de> | |
2245 | ||
2246 | * miscfuncs.cc (check_invalid_virtual_addr): New function. | |
2247 | * winsup.h (check_invalid_virtual_addr): Declare. | |
2248 | * mmap.cc (munmap): Call check_invalid_virtual_addr instead of | |
2249 | IsBadReadPtr. | |
2250 | ||
241f503c CF |
2251 | 2004-02-24 Christopher Faylor <cgf@redhat.com> |
2252 | ||
2253 | * gendef (stabilize_sig_stack): Correctly align this pointer for call | |
2254 | to _cygtls::call_signal_handler. | |
2255 | * gentls_offsets: Output sizeof field. | |
2256 | * tlsoffsets.h: Regenerate. | |
2257 | ||
5ef9bbc8 CF |
2258 | 2004-02-24 Christopher Faylor <cgf@redhat.com> |
2259 | ||
2260 | * dcrt0.cc (_dll_crt0): Don't check sync_startup if threadfunc_ix is set. | |
2261 | ||
2262 | * external.cc (cygwin_internal): Implement CW_GET_BINMODE. | |
2263 | * include/sys/cygwin.h: Declare CW_GET_BINMODE. | |
2264 | ||
5dbaca16 CF |
2265 | 2004-02-24 Christopher Faylor <cgf@redhat.com> |
2266 | ||
2267 | * dcrt0.cc (_dll_crt0): Add some stern internal errors. | |
2268 | ||
c9a76075 CV |
2269 | 2004-02-24 Corinna Vinschen <corinna@vinschen.de> |
2270 | ||
2271 | * thread.cc (pthread::cancelable_wait): Rearrange slightly. | |
2272 | Add do_sig_wait parameter. Wait for signal_arrived if set to true. | |
2273 | Return WAIT_SIGNALED if signal arrived. | |
1cda1322 | 2274 | (pthread_cond::wait): Accommodate change to pthread::cancelable_wait. |
c9a76075 CV |
2275 | (pthread::join): Ditto. |
2276 | (semaphore::_timedwait): Ditto. | |
2277 | (semaphore::_wait): Ditto. Change to return int to allow status | |
2278 | feedback. | |
2279 | (semaphore::wait): Return return value from semaphore::_wait. | |
2280 | * thread.h (WAIT_SIGNALED): New definition. | |
5fb0fe79 | 2281 | (pthread::cancelable_wait): Change declaration. Define do_sig_wait |
c9a76075 CV |
2282 | as false by default to not interfere with existing calls accidentally. |
2283 | (semaphore::_wait): Declare int. | |
2284 | ||
4d5d7a2c CF |
2285 | 2004-02-21 Christopher Faylor <cgf@redhat.com> |
2286 | ||
2287 | * exceptions.cc (sigpacket::process): Make sure that tls is filled in | |
2288 | for SIGSTOP condition. | |
2289 | (_cygtls::call_signal_handler): Restore signal mask using saved oldmask | |
2290 | rather than current oldmask. | |
2291 | ||
3a0f12b5 CF |
2292 | 2004-02-20 Christopher Faylor <cgf@redhat.com> |
2293 | ||
2294 | * path.cc (conv_path_list): Return error condition. | |
2295 | (copy1): New function. | |
2296 | (copyenc): New function. | |
2297 | (mount_item::fnmunge): Return error condition. Use new functions to | |
2298 | copy strings. | |
2299 | (mount_item::build_win32): Ditto. | |
2300 | (mount_info::conv_to_win32_path): Return error condition. | |
2301 | (cygwin_conv_to_posix_path): Return result of path conversion. | |
2302 | (cygwin_conv_to_full_posix_path): Ditto. | |
2303 | (return_with_errno): New macro. | |
2304 | (cygwin_win32_to_posix_path_list): Use new macro to potentially set | |
2305 | errno. | |
2306 | (cygwin_posix_to_win32_path_list): Ditto. | |
2307 | * path.h (mount_item::fnmunge): Add size argument. | |
2308 | (mount_item::build_win32): Ditto. | |
2309 | ||
12afe445 CV |
2310 | 2004-02-20 Corinna Vinschen <corinna@vinschen.de> |
2311 | ||
2312 | * getopt.c: Avoid useless compiler warnings. | |
2313 | ||
1a57b229 CV |
2314 | 2004-02-20 Corinna Vinschen <corinna@vinschen.de> |
2315 | ||
2316 | * getopt.c: Replace with latest vanilla(!) OpenBSD version 1.16. | |
2317 | ||
0e061ecf CF |
2318 | 2004-02-18 Christopher Faylor <cgf@redhat.com> |
2319 | ||
2320 | * fork.cc (fork_child): Invert sense of test which defeated correct | |
2321 | handling in a fork from a non-main thread. | |
2322 | ||
2323 | * dcrt0.cc (initial_env): Eliminate parameter and just send DebugBreak | |
2324 | when appropriate. | |
2325 | (dll_crt0_0): Reflect parameter change to initial_env. | |
2326 | (dll_crt0_1): Don't call initial_env. | |
2327 | ||
2d6c4a1a CF |
2328 | 2004-02-18 Christopher Faylor <cgf@redhat.com> |
2329 | ||
2330 | * gendef (stabilize_sig_stack): New function. | |
2331 | (setjmp): Import, add sig stack handling. Store sig stack info. | |
2332 | (longjmp): Call stabilize_sig_stack. Restore sig stack info. | |
2333 | * config/i386/setjmp.c: Remove. | |
2334 | ||
a682de34 CV |
2335 | 2004-02-17 Corinna Vinschen <corinna@vinschen.de> |
2336 | ||
2337 | * fork.cc (fork_child): Move fixup_shms_after_fork so that | |
2338 | signal_arrived is initialized when calling it. | |
2339 | ||
720c33ae CF |
2340 | 2004-02-17 Christopher Faylor <cgf@redhat.com> |
2341 | ||
2342 | * Makefile.in (clean): Clean libserver, too. | |
2343 | ||
2344 | * fhandler.cc (fhandler_base::~fhandler_base): Remove path_conv cleanup. | |
2345 | * syscalls.cc (chroot): Ditto. | |
2346 | * path.cc (path_conv::~path_conv): Define new destructor. | |
2347 | (conv_path_list_buf_size): Remove explicit path_conv cleanup. | |
2348 | * path.h (path_conv::~path_conv): Declare new destructor. | |
2349 | ||
88e584bf CF |
2350 | 2004-02-16 Christopher Faylor <cgf@redhat.com> |
2351 | ||
2352 | * Makefile.in: Compile flock.o with -fomit-frame-pointer. | |
2353 | ||
f6cd9c35 CF |
2354 | 2004-02-16 Christopher Faylor <cgf@redhat.com> |
2355 | ||
2356 | * Makefile.in: Compile dlfcn.o with -fomit-frame-pointer. | |
2357 | ||
2c29523e CF |
2358 | 2004-02-16 Christopher Faylor <cgf@redhat.com> |
2359 | ||
2360 | * Makefile.in: Compile delqueue.o with -fomit-frame-pointer. | |
2361 | ||
212592dc CV |
2362 | 2004-02-16 Pierre Humblet <pierre.humblet@ieee.org> |
2363 | ||
2364 | * syscalls.cc (rename): Do not test the MoveFile error code | |
2365 | where MoveFileEx exists. | |
2366 | ||
b4f0009f CF |
2367 | 2004-02-15 Christopher Faylor <cgf@redhat.com> |
2368 | ||
04dbc76e CF |
2369 | * cygheap.cc (_csbrk): Report more debugging details on failing |
2370 | condition. | |
b4f0009f | 2371 | |
955bf2ee CF |
2372 | 2004-02-14 Christopher Faylor <cgf@redhat.com> |
2373 | ||
2374 | * Makefile.in: Compile syscalls.o with -fomit-frame-pointer. | |
2375 | ||
2376 | * sigproc.cc: Eliminate unused variable. | |
2377 | ||
968bdf96 CV |
2378 | 2004-02-14 Corinna Vinschen <corinna@vinschen.de> |
2379 | ||
2380 | * getopt.c: Replace with latest NetBSD version 1.16. Keep Cygwin | |
2381 | specific changes as minimal as possible. | |
2382 | ||
cf2b4018 CF |
2383 | 2004-02-13 Christopher Faylor <cgf@redhat.com> |
2384 | ||
2385 | * sigproc.cc (proc_subproc): Change warning back to silent debug | |
2386 | output. | |
2387 | ||
c21e74cc CF |
2388 | 2004-02-13 Christopher Faylor <cgf@redhat.com> |
2389 | ||
2390 | * dcrt0.cc (alloc_stack_hard_way): Revert to previous implementation. | |
2391 | (alloc_stack): Ditto. | |
2392 | * exceptions.cc (ctrl_c_handler): Add debugging output. | |
2393 | ||
edc4f86a CF |
2394 | 2004-02-13 Christopher Faylor <cgf@redhat.com> |
2395 | ||
2396 | * Makefile.in (clean): Remove sigfe.s. | |
2397 | (sigfe.s): Ensure that sigfe.s will be regenerated if it does not exist. | |
2398 | * dll_init.cc (dll_dllcrt0): Simplify initializing tests. | |
2399 | ||
2400 | * exceptions.cc (setup_handler): Detect when stub caller is either | |
2401 | spinning or has acquired the lock after being suspended to avoid | |
2402 | windows problems with suspending a win32 API call. | |
2403 | ||
2404 | * cygtls.h (_cygtls::spinning): Declare new element. | |
2405 | * gendef: Remove unused _siglist_index and _siglist declaration. | |
2406 | (_sigfe): Set spinning element when potentially looping, waiting for lock. | |
2407 | (_sigbe): Ditto. | |
2408 | (_cygtls::lock): Ditto. | |
2409 | (_longjmp): Ditto. | |
2410 | * tlsoffsets.h: Regenerate. | |
2411 | * pinfo.cc (_pinfo::exit): Set final exit state here. Call sigproc_terminate if | |
2412 | invoked with 'norecord'. Clear any residual _cygtls stuff. | |
2413 | * winsup.h (exit_states): Define ES_FINAL. | |
2414 | * spawn.cc (spawn_guts): Don't call proc_terminate specifically when | |
2415 | execing. Let _pinfo::exit handle that case. | |
2416 | ||
2417 | * sigproc.cc (wait_subproc): Always exit loop early when proc_loop_wait. | |
2418 | ||
2419 | * init.cc (munge_threadfunc): Eliminate unused argument. | |
2420 | (dll_entry): Reflect above change in call to munge_threadfunc. | |
2421 | ||
b3535c27 CF |
2422 | 2004-02-11 Christopher Faylor <cgf@redhat.com> |
2423 | ||
2424 | * gendef (_sigbe): Zero location on pop. | |
2425 | (_cygtls::pop): Ditto. | |
2426 | ||
b91faaab CF |
2427 | 2004-02-11 Christopher Faylor <cgf@redhat.com> |
2428 | ||
2429 | * dcrt0.cc (alloc_stack_hard_way): Eliminate second argument. | |
2430 | (alloc_stack): Remove use of 'b' throughout. | |
2431 | ||
e431827c CF |
2432 | 2004-02-11 Christopher Faylor <cgf@redhat.com> |
2433 | ||
2434 | Rename _threadinfo to _cygtls, throughout. | |
2435 | * cygtls.h (_cygtls::call_signal_handler): Rename from | |
2436 | call_signal_handler_now. | |
2437 | (_cygtls::push): Make second argument mandatory. | |
2438 | (_cygtls::fixup_after_fork): Declare new function. | |
2439 | (_cygtls::lock): Ditto. | |
2440 | * cygtls.cc (_cygtls::fixup_after_fork): Define new function. | |
2441 | * dcrt0.cc (cygwin_finished_initializing): Define as bool. | |
2442 | (alloc_stack): Use _tlstop rather than arbitrary variable in probably | |
2443 | vain attempt to avoid strange fork problem on CTRL-C. | |
2444 | (dll_crt0_0): Remove obsolete winpids::init call. | |
2445 | * dll_init.cc (dll_dllcrt0): Detect forkee condition as equivalent to | |
2446 | initializing. | |
2447 | * winsup.h (cygwin_finished_initializing): Declare as bool. | |
2448 | * exceptions.cc (handle_exceptions): Rely on | |
2449 | cygwin_finished_initializing to determine how to handle exception | |
2450 | during process startup. | |
2451 | (_cygtls::call_signal_handler): Rename from call_signal_handler_now. | |
2452 | (_cygtls::interrupt_now): Fill in second argument to push. | |
2453 | (signal_fixup_after_fork): Eliminate. | |
2454 | (setup_handler): Initialize locked to avoid potential inappropriate | |
2455 | unlock. Resume thread if it has acquired the stack lock. | |
2456 | (ctrl_c_handler): Just exit if ctrl-c is hit before cygiwn has finished | |
2457 | initializing. | |
2458 | * fork.cc (sync_with_child): Don't call abort since it can cause exit | |
2459 | deadlocks. | |
2460 | (sync_with_child): Change debugging output slightly. | |
2461 | (fork_child): Set cygwin_finished_initializing here. Call _cygtls fork | |
2462 | fixup and explicitly call sigproc_init. | |
2463 | (fork_parent): Release malloc lock on fork failure. | |
2464 | (vfork): Call signal handler via _my_tls. | |
2465 | * sigproc.cc (sig_send): Ditto. | |
2466 | * syscalls.cc (readv): Ditto. | |
2467 | * termios.cc (tcsetattr): Ditto. | |
2468 | * wait.cc (wait4): Ditto. | |
2469 | * signal.cc (nanosleep): Ditto. | |
2470 | (abort): Ditto. | |
2471 | (kill_pgrp): Avoid killing self if exiting. | |
2472 | * sync.cc (muto::acquire): Remove (temporarily?) ill-advised | |
2473 | exiting_thread check. | |
2474 | * gendef (_sigfe): Be more agressive in protecting stack pointer from | |
2475 | other access by signal thread. | |
2476 | (_cygtls::locked): Define new function. | |
2477 | (_sigbe): Ditto. | |
2478 | (_cygtls::pop): Protect edx. | |
2479 | (_cygtls::lock): Use guaranteed method to set eax to 1. | |
2480 | (longjmp): Aggressively protect signal stack. | |
2481 | * miscfuncs.cc (low_priority_sleep): Reduce "sleep time" for secs == 0. | |
2482 | * pinfo.cc (winpids::set): Counterintuitively use malloc's lock to | |
2483 | protect simultaneous access to the pids list since there are | |
2484 | pathological conditions which can cause malloc to call winpid. | |
2485 | (winpids::init): Eliminate. | |
2486 | * pinfo.h (winpids::cs): Eliminate declaration. | |
2487 | * pinfo.h (winpids::init): Eliminate definition. | |
2488 | ||
897c7856 CV |
2489 | 2004-02-11 Corinna Vinschen <corinna@vinschen.de> |
2490 | ||
2491 | * security.cc (get_nt_object_attribute): Fix error handling. | |
2492 | ||
9ec70d20 CV |
2493 | 2004-02-09 Ralf Habacker <ralf.habacker@freenet.de> |
2494 | ||
2495 | * fhandler_socket.cc (fhandler_socket::ioctl): Add FIONREAD handling. | |
2496 | ||
cec48792 CF |
2497 | 2004-02-08 Christopher Faylor <cgf@redhat.com> |
2498 | ||
2499 | * debug.h (console_printf): Define for non-debugging condition. | |
2500 | ||
2501 | * cygtls.h (_threadinfo::lock): Remove wait argument. | |
2502 | (_threadinfo::interrupt_setup): Remove retaddr argument. | |
2503 | * exceptions.cc (_threadinfo::interrupt_setup): Ditto. | |
2504 | (_threadinfo::interrupt_now): Accommodate change to interrupt_setup | |
2505 | argument. | |
2506 | (setup_handler): Ditto. Always lock sig stack prior to determining | |
2507 | interrupt method. | |
2508 | * gendef (_sigfe): Correct thinko regarding cmpxchg. | |
2509 | (_sigbe): Ditto. | |
2510 | (_threadinfo::lock): Ditto. | |
2511 | (_threadinfo::pop): Eliminate left-over stack unlock. | |
edc4f86a | 2512 | * sigproc.cc (proc_subproc): Change debugging output to printed |
cec48792 CF |
2513 | warning. |
2514 | ||
6946073e CF |
2515 | 2004-02-08 Christopher Faylor <cgf@redhat.com> |
2516 | ||
2517 | * localtime.cc (localtime_r): Call tzset. | |
2518 | ||
2519 | * Makefile.in: Make version.h/cygwin.din version check a warning since | |
2520 | it is not foolproof. | |
2521 | ||
2522 | * cygheap.h (CYGHEAPSIZE): Bump size down. | |
2523 | ||
2524 | * cygtls.h (_threadinfo::stacklock): New element. | |
2525 | (_threadinfo::pop): Make regparm. | |
2526 | (_threadinfo::lock): New function. | |
2527 | (_threadinfo::unlock): New function. | |
2528 | * cygtls.cc (_threadinfo::push): Wait for a lock on the stack before | |
2529 | performing the operation. | |
2530 | (_threadinfo::pop): Move to another file. | |
2531 | * cygwin.din: More SIGFE changes. | |
2532 | * exceptions.cc (try_to_debug): Always display messages on console. | |
2533 | (handle_exceptions): Unwind stack only when actually about to call | |
2534 | sig_send. | |
2535 | (setup_handler): Lock stack prior to performing any operations. | |
2536 | * gendef (_sigfe): Ditto. | |
2537 | (_sigbe): Ditto. | |
2538 | (_threadinfo::pop): Ditto. Move here. | |
2539 | * gen_tlsoffsets: Generate positive offsets. | |
2540 | * tlsoffsets.h: Regenerate. | |
2541 | ||
2a566ac3 CV |
2542 | 2004-02-06 Corinna Vinschen <corinna@vinschen.de> |
2543 | ||
2544 | * cygserver.h (CYGWIN_SERVER_VERSION_API): Bump. | |
2545 | * cygserver_ipc.h (struct proc): Add signal_arrived member. | |
2546 | (ipc_set_proc_info): Inititalize blk.signal_arrived. | |
2547 | ||
043878df CV |
2548 | 2004-02-06 Pierre Humblet <pierre.humblet@ieee.org> |
2549 | ||
2550 | * uinfo.cc (cygheap_user::init): Use sec_user_nih to build a | |
2551 | security descriptor. Set both the process and the default DACLs. | |
2552 | * fork.cc (fork_parent): Use sec_none_nih security attributes. | |
2553 | * spawn.cc (spawn_guts): Ditto. | |
2554 | ||
656a999a CF |
2555 | 2004-02-05 Christopher Faylor <cgf@redhat.com> |
2556 | ||
2557 | * cygwin.din: Make many more functions SIGFE. | |
2558 | * include/cygwin/version.h (CYGWIN_VERSION_SHARED_DATA): Bump. | |
2559 | ||
d82c6f47 CV |
2560 | 2004-02-05 Pierre Humblet <pierre.humblet@ieee.org> |
2561 | ||
2562 | * security.h (SID): New macro. | |
2563 | (well_known_*_sid): Change type to cygpsid. | |
2564 | (cygsid::init): Delete declaration. | |
2565 | * sec_helper.cc (well_known_*_sid): Define using above SID macro. | |
2566 | (cygsid::init): Delete. | |
2567 | * dcrt0.cc (dll_crt0_0): Do not call cygsid::init. | |
2568 | * security.cc (get_user_local_groups): Change the second argument type | |
2569 | to cygpsid. | |
2570 | ||
06615351 CF |
2571 | 2004-02-03 Christopher Faylor <cgf@redhat.com> |
2572 | ||
2573 | * cygtls.h (_local_storage::signamebuf): Increase size to prevent | |
2574 | overflow on really odd values. | |
9e8c2fad | 2575 | * tlsoffsets.h: Regenerate. |
06615351 | 2576 | |
c571716c CF |
2577 | 2004-02-03 Christopher Faylor <cgf@redhat.com> |
2578 | ||
2579 | * Makefile.in (DLL_OFILES): Add strsig.o. | |
06615351 | 2580 | * cygtls.h (_local_storage::signamebuf): New element. |
c571716c | 2581 | * sysconf.cc (sysconf): Implement _SC_RTSIG_MAX. |
9e8c2fad | 2582 | * tlsoffsets.h: Regenerate. |
c571716c CF |
2583 | * include/limits.h (_POSIX_RTSIG_MAX): New define. |
2584 | (RTSIG_MAX): Ditto. | |
2585 | * include/cygwin/signal.h (SIGRTMIN): New define. | |
2586 | (SIGRTMAX): Ditto. | |
2587 | (NSIG): Bump. | |
2588 | * strsig.cc: New file. | |
2589 | ||
50be1d78 CF |
2590 | 2004-02-03 Jason Tishler <jason@tishler.net> |
2591 | ||
2592 | * window.cc (Winmain): Show windows error code in error output when | |
2593 | RegisterClass fails. | |
2594 | ||
52806019 CF |
2595 | 2004-02-02 Christopher Faylor <cgf@redhat.com> |
2596 | ||
2597 | * fhandler.h (*::fixup_after_exec): Eliminate unused handle argument. | |
2598 | * fhandler.h (dtable::fixup_after_exec): Eliminate unused handle | |
2599 | argument. | |
2600 | * dcrt0.cc (dll_crt0_1): Reflect elimination of unused handle argument | |
2601 | to fixup_after_exec. | |
2602 | * dtable.cc (dtable::fixup_after_exec): Ditto. | |
2603 | * fhandler_console.cc (fhandler_console::fixup_after_exec): Ditto. | |
2604 | * fhandler_dsp.cc (fhandler_dsp::fixup_after_exec): Ditto. | |
2605 | * fhandler_raw.cc (fhandler_raw::fixup_after_exec): Ditto. | |
2606 | * fhandler_socket.cc (fhandler_socket::fixup_after_exec): Ditto. | |
2607 | * fhandler_virtual.cc (fhandler_virtual::fixup_after_exec): Ditto. | |
2608 | * pipe.cc (fhandler_pipe::fixup_after_exec): Ditto. | |
2609 | ||
2610 | 2004-02-02 Pierre Humblet <pierre.humblet@ieee.org> | |
2611 | ||
2612 | * spawn.cc (spawn_guts): Do not set ciresrv.parent. | |
2613 | * child_info.h (child_info_spawn::~child_info_spawn): Do not close | |
2614 | parent. Update CURR_CHILD_INFO_MAGIC. | |
2615 | * dcrt0.cc (dll_crt0_0): Do not close spawn_info->parent. Pass NULL to | |
2616 | cygheap->fdtab.fixup_after_exec(). | |
2617 | ||
6027d26d CF |
2618 | 2004-02-02 Christopher Faylor <cgf@redhat.com> |
2619 | ||
2620 | Throughout, change name from set_inheritance to set_no_inheritance to | |
2621 | better reflect input arguments of this function. | |
2622 | ||
2623 | * cygheap.h (CYGHEAPSIZE): Increase size of cygheap to something closer | |
2624 | to the 21st century. | |
2625 | ||
8d9bbb50 CV |
2626 | 2004-02-02 Corinna Vinschen <corinna@vinschen.de> |
2627 | ||
2628 | * cygerrno.h (set_errno): Replace semicolon with comma in non-DEBUGGING | |
2629 | version to avoid compile time error. | |
2630 | ||
9e1ad59d CF |
2631 | 2004-02-01 Christopher Faylor <cgf@redhat.com> |
2632 | ||
2633 | * cygerrno.h (set_errno): Set global errno whenever setting thread | |
2634 | specific version. | |
2635 | * debug.cc (__set_errno): Ditto. | |
2636 | ||
2637 | * exceptions.cc (handle_sigsuspend): Remove spurious | |
2638 | sig_dispatch_pending call. | |
2639 | (set_signal_mask): When there seem to be pending signals to dispatch, | |
2640 | tell signal_dispatch_pending/sig_send not to specifically call any | |
2641 | handlers. | |
2642 | * sigproc.h (sig_dispatch_pending): Change declaration to void. | |
2643 | * sigproc.cc (sig_dispatch_pending): Change definition to void. Take | |
2644 | an argument to determine whether to tell sig_send to wait for handler | |
2645 | to be called. | |
2646 | * sigproc.cc (sig_send): Don't call signal handler when sig == | |
2647 | __SIGFLUSHFAST. | |
2648 | (wait_sig): Honor __SIGFLUSHFAST. Guard against sigpacket::process | |
2649 | nuking si_signo. | |
2650 | * sigproc.h (__SIGFLUSHFAST): Define new special signal. | |
2651 | (sig_dispatch_pending): Change declaration to void. Take optional | |
2652 | boolean argument. | |
2653 | ||
2654 | * fork.cc (vfork): Add debugging output. | |
2655 | ||
ef33379b CF |
2656 | 2004-01-26 Christopher Faylor <cgf@redhat.com> |
2657 | ||
2658 | * exceptions.cc (sig_handle_tty_stop): Avoid races by waiting for both | |
2659 | signal_arrived and for sigCONT. | |
2660 | (sigpacket::process): Enforce sending of both signal_arrived and | |
2661 | sigCONT, where appropriate. | |
2662 | * gendef (sigreturn): Save tls pointer in ebx so that it can jump into | |
2663 | sigdelayed and use the same register. | |
2664 | ||
5e0f482f CF |
2665 | 2004-01-26 Christopher Faylor <cgf@redhat.com> |
2666 | ||
2667 | * cygtls.cc (_threadinfo::init_thread): Add more local reent stdio | |
2668 | initialization. | |
2669 | * dcrt0.cc (initial_env): Can it really be true that XP doesn't allow | |
2670 | attaching a debugger during DLL attach? Add temporary workaround. | |
2671 | (dll_crt0_0): Ensure that _impure_ptr stdio is initialized before any | |
2672 | threads. | |
2673 | (dll_crt0_1): Move _impure_ptr initialization to dll_crt0_0. | |
2674 | * exceptions.cc (try_to_debug): Reinstate old method for looping while | |
2675 | debugging. | |
2676 | * syscalls.cc (_cygwin_istext_for_stdio): Regularize debugging output. | |
2677 | Remove hopefully extraneous check. | |
2678 | (setmode_helper): Add debugging output for improbable case. Use | |
2679 | "binary" rather "raw" for consistency. | |
2680 | ||
d7231d72 CF |
2681 | 2004-01-25 Christopher Faylor <cgf@redhat.com> |
2682 | ||
2683 | * fhandler.cc (fhandler_base::fhaccess): Avoid always setting errno to | |
2684 | EACCESS when return value is < 0. Rely on errno being set properly. | |
2685 | ||
6bc774fc CF |
2686 | 2004-01-25 Christopher Faylor <cgf@redhat.com> |
2687 | ||
2688 | * sigproc.cc (proc_subproc): Don't protect *child's* handle. | |
2689 | ||
9157f0f3 CF |
2690 | 2004-01-24 Christopher Faylor <cgf@redhat.com> |
2691 | ||
2692 | * fhandler.h (fhandler_base::fhaccess): Return int for compatibility | |
2693 | with access. | |
2694 | * fhandler.cc (fhandler_base::fhaccess): Return int. Use consistent | |
2695 | variable name for exit value. Exit at bottom, printing debugging | |
2696 | information, like other cygwin functions. | |
2697 | ||
f4e815bc CF |
2698 | 2004-01-23 Christopher Faylor <cgf@redhat.com> |
2699 | ||
2700 | * cygheap.cc (init_cygheap::close_ctty): Protect YA vforkism. | |
2701 | * fhandler.h (fhandler_base::has_acls): Make pass through for path_conv | |
2702 | method. | |
2703 | (fhandler_base::isremote): Ditto. | |
2704 | (fhandler_base::is_fs_special): Ditto. | |
2705 | (fhandler_base::has_attribute): Ditto. Define new function. | |
2706 | (fhandler_base::fhaccess): Declare new function based on access_worker. | |
2707 | (fhandler_base::set_has_acls): Eliminate obsolete function. | |
2708 | (fhandler_base::set_isremote): Ditto. | |
2709 | * fhandler.cc (fhandler_base::fhaccess): Move from syscalls.cc and into | |
2710 | fhandler_base class. Use fhandler methods to access data rather than | |
2711 | path_conv stuff. | |
2712 | (fhandler_base::device_access_denied): Use fhaccess method. | |
2713 | * fhandler_disk_file.cc (fhandler_disk_file::opendir): Ditto. | |
2714 | (fhandler_base::open_fs): Remove calls to obsolete functions. | |
2715 | * fhandler_virtual.cc (fhandler_virtual::open): Ditto. | |
2716 | * winsup.h (access_worker): Remove obsolete access_worker declaration. | |
2717 | *syscalls.cc (access_worker): Move function to fhandler.cc. | |
2718 | (access): Use fhaccess method. | |
2719 | ||
2720 | * pinfo.cc (_pinfo::set_ctty): Clarify debugging output. | |
2721 | * sigproc.cc (sig_dispatch_pending): Ditto. | |
2722 | * syscalls.cc (setsid): Perform minor rearrangement. | |
2723 | ||
b9a76642 PH |
2724 | 2004-01-23 Pierre Humblet <pierre.humblet@ieee.org> |
2725 | ||
c571716c CF |
2726 | * fhandler_socket.cc (fhandler_socket::create_secret_event): Avoid |
2727 | creating multiple handles. Always allow event inheritance but set the | |
2728 | handle inheritance appropriately. Improve error handling. | |
2729 | (fhandler_socket::check_peer_secret_event): Improve error handling. | |
2730 | (fhandler_socket::close_secret_event): Simply call CloseHandle. | |
2731 | (fhandler_socket::set_close_on_exec): Set secret event inheritance. | |
b9a76642 | 2732 | |
f7239090 CF |
2733 | 2004-01-23 Christopher Faylor <cgf@redhat.com> |
2734 | ||
2735 | * configure.in: Remove NEWVFORK default. | |
2736 | * configure: Regenerate. | |
2737 | * dcrt0.cc: Conditionalize vfork stuff throughout. | |
2738 | * dtable.cc: Ditto. | |
2739 | * perthread.h: Ditto. | |
2740 | * pipe.cc (fhandler_pipe::close): Ditto. | |
2741 | * spawn.cc (spawnve): Ditto. | |
2742 | * syscalls.cc (setsid): Ditto. | |
2743 | * exceptions.cc (sigpacket::process): Use macro to refer to vfork pid. | |
2744 | ||
2745 | * debug.cc (verify_handle): Define new function. | |
2746 | * debug.h (VerifyHandle): Define new macro. | |
2747 | (verify_handle): Declare new function | |
2748 | * fhandler.cc (fhandler_base::dup): Verify that dup'ed handle is not | |
2749 | supposed to be in use. | |
2750 | (fhandler_base::set_inheritance): Ditto. | |
2751 | (fhandler_base::fork_fixup): Ditto. | |
2752 | * fhandler_socket.cc (fhandler_socket::dup): Ditto. | |
2753 | * fhandler_tty.cc (fhandler_tty_slave::open): Ditto. | |
2754 | * net.cc (set_socket_inheritance): Ditto. | |
2755 | * pinfo.cc (pinfo_fixup_after_exec): Ditto. | |
2756 | * sigproc.cc (proc_subproc): Ditto. | |
2757 | (sig_send): Ditto. | |
2758 | * spawn.cc (spawn_guts): Ditto. | |
2759 | * thread.cc (pthread::init_mainthread): Ditto. | |
2760 | * pipe.cc (fhandler_pipe::close): Close read_state with | |
2761 | ForceCloseHandle since it was protected. | |
2762 | (fhandler_pipe::fixup_after_exec): Protect read_state handle. | |
2763 | (fhandler_pipe::dup): Correctly close open handles on error condition. | |
2764 | Verify that dup'ed handle is not supposed to be in use. | |
2765 | (fhandler_pipe::create): Protect read_state. | |
2766 | ||
35b7fc6c CF |
2767 | 2004-01-23 Christopher Faylor <cgf@redhat.com> |
2768 | ||
2769 | * exceptions.cc (sig_handle_tty_stop): Fix boneheaded mistake by using | |
2770 | correct check for parent state rather than inverted check mistakenly | |
2771 | introduced on 2003-09-15. | |
2772 | ||
a33df422 CF |
2773 | 2004-01-22 Brian Ford <ford@vss.fsi.com> |
2774 | ||
2775 | * fhandler_serial.cc (fhandler_serial::raw_write): Prevent a deadlock | |
2776 | when the input buffer overflows. | |
2777 | (fhandler_serial::raw_read): Correct to print the actual error and only | |
2778 | call PurgeComm when necessary. | |
2779 | ||
35711de7 CF |
2780 | 2004-01-22 Christopher Faylor <cgf@redhat.com> |
2781 | ||
2782 | * dcrt0.cc (reent_data): Make global. | |
2783 | * cygwin.din: Reexport reent_data. | |
2784 | ||
39d06d71 CF |
2785 | 2004-01-22 Christopher Faylor <cgf@redhat.com> |
2786 | ||
2787 | * cygtls.cc (_threadinfo::remove): Don't assume that we are removing | |
2788 | _my_tls. | |
2789 | * exceptions.cc (setup_handler): Improve debugging output. | |
2790 | (call_signal_handler_now): Remove ill-advised debugger call. | |
2791 | * sigproc.cc (sigcomplete_main): Delete. | |
2792 | (sig_send): Honor FIXME and avoid using main thread's completion event | |
2793 | for everything or suffer races. | |
2794 | (pending_signals::add): Default stored mask to current process mask | |
2795 | rather than mask at time of signal send. | |
2796 | (wait_sig): Add debugging output. | |
2797 | * sigproc.h (sigpacket::mask_storage): Delete. | |
2798 | ||
537ca63f CF |
2799 | 2004-01-22 Christopher Faylor <cgf@redhat.com> |
2800 | ||
2801 | * fhandler.cc (fhandler_base::open): Revert isfs change. | |
2802 | ||
a1dcf5d8 CF |
2803 | 2004-01-21 Christopher Faylor <cgf@redhat.com> |
2804 | ||
2805 | * devices.in: Change raw com device to more correct form. | |
2806 | ||
918f634f CF |
2807 | 2004-01-21 Christopher Faylor <cgf@redhat.com> |
2808 | ||
2809 | * fhandler.cc (fhandler_base::open): Use major numbers rather than | |
2810 | device numbers to control special behavior for devices which take | |
2811 | units. | |
2812 | * fhandler_raw.cc (fhandler_dev_raw::writebuf): Ditto. | |
2813 | (fhandler_dev_raw::fstat): Ditto. | |
2814 | (fhandler_dev_raw::open): Ditto. | |
2815 | (fhandler_dev_raw::ioctl): Ditto. | |
2816 | ||
0a0c89ef CF |
2817 | 2004-01-21 Nicholas Wourms <nwourms@netscape.net> |
2818 | ||
2819 | * signal.cc (sigaction): Fix if-statement typo. | |
2820 | ||
be14b608 CF |
2821 | 2004-01-21 Christopher Faylor <cgf@redhat.com> |
2822 | ||
2823 | * cygtls.cc (handle_threadlist_exception): Change logic, improve | |
2824 | debugging output. | |
2825 | ||
bcb4223c CF |
2826 | 2004-01-21 Christopher Faylor <cgf@redhat.com> |
2827 | ||
2828 | * fhandler_tty.cc (fhandler_tty::ioctl): Semi-revert 2003-09-26 change | |
2829 | for TIOCSWINSZ. It is not an error for ioctl_request_event to be | |
2830 | missing. | |
2831 | ||
2832 | 2004-01-20 Christopher Faylor <cgf@redhat.com> | |
2833 | ||
2834 | * sigproc.cc (pending_signals::save): New function. | |
2835 | (pending_signals::restore): Ditto. | |
2836 | (sig_clear): Save/restore current queue pointer. | |
2837 | (wait_sig): Delete signals marked as such. | |
2838 | * sigproc.h (__SIGDELETE): New enum. | |
2839 | ||
67fcf127 CF |
2840 | 2004-01-20 Christopher Faylor <cgf@redhat.com> |
2841 | ||
2842 | * include/cygwin/version.h: Bump DLL minor number to 8. | |
2843 | ||
2844 | * cygmalloc.h: Make more concessions to attempts to get debugging | |
2845 | malloc working. | |
2846 | * debug.h: Ditto. | |
2847 | * dlmalloc.cc: Ditto. | |
2848 | * dlmalloc.h: Ditto. | |
2849 | * malloc_wrapper.cc: Ditto. | |
2850 | ||
2851 | * perthread.h (perthread::create): Use calloc to ensure zeroed memory. | |
2852 | ||
fb69e3ed CV |
2853 | 2004-01-20 Christopher Faylor <cgf@redhat.com> |
2854 | ||
2855 | * sec_acl.cc (setacl): Make sure sd_ret is large enough. | |
2856 | ||
d795119c CF |
2857 | 2004-01-19 Christopher Faylor <cgf@redhat.com> |
2858 | ||
2859 | * sigproc.cc (sigproc_terminate): Don't close sendsig handle when | |
2860 | execing since we're not closing what we think we're closing. | |
2861 | (sig_send): Improve debugging when exiting due to no_signals_available. | |
2862 | ||
2863 | * wincap.h (wincaps::cant_debug_dll_entry): New element. | |
2864 | * wincap.cc: Implement above element throughout. | |
2865 | * dcrt0.cc (initial_env): Accommodate changes necessary to allow | |
2866 | initial debugging for systems which do not allow debugging in | |
2867 | dll_entry. | |
2868 | (dll_crt0_0): Add initial_env call back here. | |
2869 | ||
2870 | * Makefile.in (install-man): Use mandir as target for installation. | |
2871 | ||
2872 | 2004-01-19 Christopher Faylor <cgf@redhat.com> | |
2873 | ||
2874 | * include/cygwin/version.h: Bump DLL minor number to 7 (should have been | |
2875 | done earlier). | |
2876 | ||
f6936c48 CF |
2877 | 2004-01-19 Christopher Faylor <cgf@redhat.com> |
2878 | ||
2879 | * cygwin/include/signal.h: Add copyright notice. | |
2880 | ||
2881 | * cygwin.din: Make clock SIGFE. Add clock_gettime, sigwaitinfo, | |
2882 | timer_create, timer_delete, timer_settime. | |
2883 | * include/cygwin/version.h: Reflect above additions. | |
2884 | * fork.cc (fork_child): Call fixup_timers_after_fork. | |
2885 | * signal.cc (sigwait): Remove unused variable. | |
2886 | * timer.cc: New file. | |
2887 | (clock_gettime): Define new function. | |
2888 | (timer_tracker): Define new struct used by timer functions. | |
2889 | (timer_tracker::timer_tracker): New function. | |
2890 | (to_us): New function. | |
2891 | (timer_thread): New function. | |
2892 | (timer_tracker::settime): New function. | |
2893 | (timer_create): New function. | |
2894 | (timer_settime): New function. | |
2895 | (timer_delete): New function. | |
2896 | (fixup_timers_after_fork): New function. | |
2897 | * cygthread.cc: Bump thread count. | |
2898 | ||
2899 | 2004-01-17 Christopher Faylor <cgf@redhat.com> | |
2900 | ||
2901 | * signal.cc (sigwaitinfo): Define new function. | |
2902 | (sigwait): Redefine based on sigwaitinfo. | |
2903 | * include/cygwin/signal.h (sigwaitinfo): Declare. | |
2904 | (sigwait): Ditto. | |
2905 | ||
2906 | 2004-01-17 Christopher Faylor <cgf@redhat.com> | |
2907 | ||
2908 | * dtable.cc (dtable::vfork_parent_restore): Avoid double close of ctty | |
2909 | when ctty == ctty_on_hold. | |
2910 | ||
2911 | 2004-01-16 Christopher Faylor <cgf@redhat.com> | |
2912 | ||
2913 | * cygtls.h (_threadinfo::threadkill): New element. | |
2914 | (_threadinfo::set_threadkill): Declare new function. | |
2915 | (_threadinfo::reset_threadkill): Declare new function. | |
2916 | * dcrt0.cc (dcrt0_1): Call here so that it will be possible to attach | |
2917 | to running process with #(*& Windows Me/9x. | |
2918 | (initial_env): Try to initialize strace if uninitialized. | |
2919 | * gendef: Don't zero signal if threadkill is set since that will happen | |
2920 | in the called function. | |
2921 | * signal.cc (sigwait): Ensure cleanup in error conditions. | |
2922 | * sigproc.cc (sig_send): Clear packet mask storage. | |
2923 | (wait_subproc): Fill in child exit code in siginfo_t structure. | |
2924 | * thread.cc (pthread_kill): Set threadkill flag. | |
2925 | * tlsoffsets.h: Regenerate. | |
2926 | ||
2927 | 2004-01-16 Christopher Faylor <cgf@redhat.com> | |
2928 | ||
2929 | Throughout, use siginfo_t to fill out all signal information for | |
2930 | "kernel" signals. | |
2931 | * cygtls.h (_threadinfo::set_siginfo): Declare new function. | |
2932 | * cygtls.cc (_threadinfo::set_siginfo): Define new function. | |
2933 | * dcrt0.cc (do_exit): Accommodate siginfo_t considerations. | |
2934 | * exceptions.cc (handle_exceptions): Ditto. | |
2935 | (sig_handle_tty_stop): Ditto. | |
2936 | (ctrl_c_handler): Use killsys() to send signal. | |
2937 | (sigpacket::process): Rename from sig_handle. Use siginfo_t field from | |
2938 | sigpacket for everything. | |
2939 | (tty_min::kill_pgrp): Accommodate siginfo_t considerations. | |
2940 | (fhandler_termios::bg_check): Ditto. | |
2941 | * fhandler_tty.cc (fhandler_tty_slave::ioctl): Use killsys() to send signal. | |
2942 | * signal.cc (kill_worker): Rewrite to use siginfo_t second argument. | |
2943 | (kill_pgrp): Ditto. | |
2944 | (kill0): Define new function pulled from kill(). | |
2945 | (kill): Rewrite as frontend to kill0. | |
2946 | (killsys): Define new function. | |
2947 | * sigproc.cc (sigelem): Eliminate. | |
2948 | (sigpacket): Move to sigproc.h. Subsume sigelem. | |
2949 | (pending_signals): Use sigpacket rather than sigelem for everything. | |
2950 | (sig_clear): Ditto. | |
2951 | (wait_sig): Ditto. | |
2952 | (sig_send): Rewrite to use siginfo_t argument. | |
2953 | (sig_send): New function wratpper to sig_send with siginfo_t argument. | |
2954 | (wait_subproc): Accommodate siginfo_t considerations. | |
2955 | * thread.cc (pthread_kill): Ditto. | |
2956 | * sigproc.h (sigpacket): Move here. | |
2957 | (sigpacket::process): Declare "new" function. | |
2958 | (sig_handle): Eliminate declaration. | |
2959 | (sig_send): Declare with new paramaters. | |
2960 | (killsys): Declare new function. | |
2961 | (kill_pgrp): Declare. | |
2962 | * winsup.h: Move some signal-specific stuff to sigproc.h. | |
2963 | * include/cygwin/signal.h: Tweak some siginfo_t stuff. | |
2964 | ||
46ee5422 CF |
2965 | 2004-01-16 Christopher Faylor <cgf@redhat.com> |
2966 | ||
2967 | * fhandler_console.cc (fhandler_console::close): Remove obsolete test | |
2968 | for vfork_cleanup. | |
2969 | * pipe.cc (fhandler_pipe::close): Add comment. | |
2970 | ||
49d0c042 CF |
2971 | 2004-01-16 Christopher Faylor <cgf@redhat.com> |
2972 | ||
2973 | * cygheap.cc (init_cygheap::close_ctty): Don't NULL ctty if it is still | |
2974 | active. | |
2975 | ||
001197ae CF |
2976 | 2004-01-16 Christopher Faylor <cgf@redhat.com> |
2977 | ||
2978 | * dtable.cc (dtable::vfork_parent_restore): Store ctty_on_hold prior to | |
2979 | calling close_all_files since it will be zeroed. | |
2980 | ||
ac02533e CF |
2981 | 2004-01-15 Christopher Faylor <cgf@redhat.com> |
2982 | ||
2983 | * gentls_offsets: Reinstate unlink of temp files. | |
2984 | ||
2985 | 2004-01-14 Christopher Faylor <cgf@redhat.com> | |
2986 | ||
2987 | * fhandler_console.cc (fhandler_console::close): Fix debugging output. | |
2988 | (fhandler_console::fixup_after_fork): Decrement open_fhs prior to call | |
2989 | to fhandler_console::open since this would cause incrementing too much | |
2990 | incrementing in child processes. (Probably needs to be handled more | |
2991 | elegantly someday) | |
2992 | (fhandler_console::fixup_after_exec): Ditto. | |
2993 | ||
2d1d1eb1 CF |
2994 | 2004-01-14 Christopher Faylor <cgf@redhat.com> |
2995 | ||
2996 | * cygtls.h (_threadinfo::call): Remove regparm declaration to work | |
2997 | around compiler bug. | |
2998 | ||
2999 | 2004-01-13 Christopher Faylor <cgf@redhat.com> | |
3000 | ||
3001 | * autoload.cc (TryEnterCriticalSection): Remove. | |
3002 | * dcrt0.cc (dll_crt0_0): Delete inappropriate setting of | |
3003 | _my_tls.stackptr to NULL since it has really bad consequences. Make | |
3004 | 'si' an automatic variable. | |
3005 | ||
3006 | 2004-01-13 Christopher Faylor <cgf@redhat.com> | |
3007 | ||
3008 | * cygtls.cc (_threadinfo::init_thread): Correct thinko which caused | |
3009 | thread list to be allocated every time. | |
3010 | * cygtls.h (CYGTLS_PADSIZE): Define as const int. | |
3011 | * sync.h: Make multiple inclusion safe. | |
3012 | (muto::next): Eliminate. | |
3013 | (muto::exiting_thread): New variable. | |
3014 | (muto::set_exiting_thread): New function. | |
3015 | (new_muto): Change to use different section for mutos since c++ give | |
3016 | inexplicable warning in some cases otherwise. | |
3017 | (new_muto1): Ditto. | |
3018 | * dcrt0.cc (do_exit): Call muto::set_exiting_thread here. | |
3019 | * sync.cc (muto_start): Eliminate. | |
3020 | (muto::acquire): Always give exiting thread a lock. Never give thread | |
3021 | a lock if exiting. | |
3022 | (muto::release): Ditto for releasing. | |
3023 | * dtable.cc (dtable::init_lock): Unline function and define here. | |
3024 | * dtable.h (lock_cs): Define as a muto since critical sections seem to | |
3025 | work oddly on Windows Me. | |
3026 | (lock): Accommodate switch to muto. | |
3027 | (unlock): Ditto. | |
3028 | * exceptions.cc (setup_handler): Don't worry about acquiring mutos | |
3029 | since that hasn't mattered for a long time. | |
3030 | (signal_exit): Ditto: muto stuff will be handled automatically on exit | |
3031 | now. | |
3032 | ||
3033 | 2004-01-12 Christopher Faylor <cgf@redhat.com> | |
3034 | ||
3035 | * Makefile.in (DLL_IMPORTS): Link advapi32 to ensure proper DLL | |
3036 | initialization. | |
3037 | * autoload.cc (RegCloseKey): Arbitrarily choose this function as a | |
3038 | "seed" to pull the advapi32 link library in. So, comment out the | |
3039 | autoloading. | |
3040 | * cygtls.cc (_threadinfo::init_thread): Just clear CYGTLS_PADSIZE. | |
3041 | (_threadinfo::remove): Add debugging. | |
3042 | (_threadinfo::find_tls): Ditto. | |
3043 | * cygtls.h (_threadinfo::padding): Make zero length (for now?). | |
3044 | * dcrt0.cc (dll_crt0_0): Move more initialization here from dll_crt0_1. | |
3045 | (dll_crt0_1): See above. | |
3046 | * dtable.h (dtable::lock): Remove commented out critical section | |
3047 | locking. | |
3048 | * dtable.h (dtable::init_lock): Remove commented out critical section | |
3049 | locking. | |
3050 | * dtable.h (dtable::unlock): Remove commented out critical section | |
3051 | locking. | |
3052 | * exceptions.cc (interruptible): bool'ize. | |
3053 | * init.cc (threadfunc_fe): Revert to storing threadfunc at stack | |
3054 | bottom. | |
3055 | (munge_threadfunc): Ditto. Avoid adding overhead to | |
3056 | calibration_thread. | |
3057 | (prime_threads): Don't initialize tls stuff. | |
3058 | (dll_entry): Make minor change to initialization order. | |
3059 | * tlsoffsets.h: Regenerate. | |
3060 | ||
3061 | * sigproc.cc (wait_sig): Add sanity check for end of process thread | |
3062 | exit. | |
3063 | ||
3064 | * select.h: Make minor formatting change. | |
3065 | ||
3066 | 2004-01-10 Christopher Faylor <cgf@redhat.com> | |
3067 | ||
3068 | * Makefile.in: Add still more -fomit-frame-pointer functions. | |
3069 | * dtable.h (dtable::lock): New function. | |
3070 | (dtable::unlock): New function. | |
3071 | (dtable::init_lock): New function. | |
3072 | * cygheap.h (HEAP_TLS): Declare new enum value. | |
3073 | (init_cygheap::threadlist): Declare new array. | |
3074 | (init_cygheap::sthreads): Declare new variable. | |
3075 | (cygheap_fdmanip::~cygheap_fdmanip): Use new dtable lock/unlock | |
3076 | functions. | |
3077 | (cygheap_fdnew::cygheap_fdnew): Ditto. | |
3078 | (cygheap_fdget::cygheap_fdget): Ditto. | |
3079 | * dtable.cc (dtable_init): Initialize fdtab critical section. | |
3080 | (dtable::fixup_after_fork): Ditto. | |
3081 | (dtable::fixup_after_exec): Ditto. | |
3082 | (dtable::dup2): Use lock/unlock calls to protect access to fdtab. | |
3083 | (dtable::find_fifo): Ditto. | |
3084 | (dtable::fixup_before_fork): Ditto. | |
3085 | (dtable::fixup_before_exec): Ditto. | |
3086 | (dtable::set_file_pointers_for_exec): Ditto. | |
3087 | (dtable::vfork_child_dup): Ditto. | |
3088 | (dtable::vfork_parent_restore): Ditto. | |
3089 | * syscalls.cc (close_all_files): Ditto. | |
3090 | * sync.h (muto::acquired): Declare new function. | |
3091 | (new_muto1): Declare new macro used to specify name of muto storage. | |
3092 | * sync.cc (muto::acquired): Define new function. | |
3093 | ||
3094 | * cygthread.cc (cygthread::stub): Remove signal chain removal call | |
3095 | since it is handled during initialization now. | |
3096 | * cygthread.cc (cygthread::simplestub): Remove signal chain removal | |
3097 | call since it is handled during initialization now. | |
3098 | * cygtls.cc (sentry): New class used for locking. Use throughout. | |
3099 | (_threadinfo::reset_exception): Don't pop stack. | |
3100 | (_threadinfo::find_tls): Move from exceptions.cc. | |
3101 | (_threadinfo::init_thread): Initialize array of threads rather than | |
3102 | linked list. Take second argument indicating thread function for this | |
3103 | thread. | |
3104 | (_threadinfo::remove): Search thread array rather than linked list. | |
3105 | Use sentry to lock. Only unlock if we got the lock. | |
3106 | (_threadinfo::find_tls): Ditto for first two. | |
3107 | (handle_threadlist_exception): Handle exceptions when manipulating the | |
3108 | thread list in case of premature thread termination. | |
3109 | (_threadinfo::init_threadlist_exceptions): Ditto. | |
3110 | * cygtls.h (TLS_STACK_SIZE): Decrease size. | |
3111 | (_threadinfo::padding): Add element to avoid overwriting lower part of | |
3112 | stack. | |
3113 | (_threadinfo::remove): Add a "wait" argument to control how long we | |
3114 | wait for a lock before removing. | |
3115 | * exceptions.cc (init_exception_handler): Make global. Take argument | |
3116 | to control exception handler being set. | |
3117 | (ctrl_c_handler): Wait forever when removing self from signal chain. | |
3118 | (_threadinfo::find_tls): Move to cygtls.cc. | |
3119 | (sig_handle): Reorganize detection for thread-specific signals. | |
3120 | * heap.cc (heap_init): Rework slightly. Make fatal error more verbose. | |
3121 | Remove malloc initialization since it can't happen during dll attach. | |
3122 | * init.cc (search_for): Move address to search for on stack here. | |
3123 | (threadfunc_ix): Ditto for stack offset. Make shared so that stack | |
3124 | walk potentially only has to be done once when cygwin processes are | |
3125 | running. | |
3126 | (threadfunc_fe): Use standard tls to store thread function (may change | |
3127 | back later). | |
3128 | (calibration_thread): New function. Potentially called to find | |
3129 | threadfunc_ix. | |
3130 | (munge_threadfunc): Search for "search_for" value on stack. Output | |
3131 | warning when thread func not found on stack. Use standard tls to store | |
3132 | thread function. | |
3133 | (prime_threads): New function. Called to prime thread front end. | |
3134 | (dll_entry): Call dll_crt0_0 here when DLL_PROCESS_ATTACH. Call | |
3135 | prime_threads here. Try to remove thread from signal list here. | |
3136 | * sigproc.cc (wait_sig): Initialize threadlist exception stuff here. | |
3137 | * thread.cc (pthread::exit): Pass argument to signal list remove | |
3138 | function. | |
3139 | * thread.h: Remove obsolete *ResourceLock defines. | |
3140 | ||
3141 | * tlsoffsets.h: Regenerate. | |
3142 | ||
3143 | * winsup.h (spf): Define temporary debug macro to be deleted later. | |
3144 | ||
3145 | * dcrt0.cc (dll_crt0_0): New function, called during DLL | |
3146 | initialization. Mainly consists of code pulled from dll_crt0_1. | |
3147 | (dll_crt0_1): See above. | |
3148 | (_dll_crt0): Wait for initial calibration thread to complete, if | |
3149 | appropriate. Move some stuff to dll_crt0_0. | |
3150 | (initialize_main_tls): Accommodate argument change to | |
3151 | _thread_info::init_thread. | |
3152 | * fork.cc (fork_child): Ditto. | |
3153 | (sync_with_child): Fix debug message. | |
3154 | * external.cc (cygwin_internal): Remove special considerations for | |
3155 | uninitialized dll since initialization happens during dll attach now. | |
3156 | ||
3157 | * dlfcn.cc (dlopen): Remove obsolete *ResourceLock calls. | |
3158 | (dlclose): Ditto. | |
3159 | ||
3160 | 2004-01-05 Christopher Faylor <cgf@redhat.com> | |
3161 | ||
3162 | * cygheap.h (init_cygheap::close_ctty): Declare new function. | |
3163 | * cygheap.cc (init_cygheap::close_ctty): Define new function. | |
3164 | * syscalls.cc (close_all_files): Use close_ctty. | |
3165 | (setsid): Ditto. | |
3166 | ||
3167 | * cygthread.cc (cygthread::stub): Remove exception initialization. | |
3168 | * cygthread.cc (cygthread::stub): Remove exception initialization. | |
3169 | (cygthread::simplestub): Ditto. | |
3170 | * thread.cc (pthread::thread_init_wrapper): Ditto. | |
3171 | * cygtls.cc (_last_thread): Make static. | |
3172 | (_threadinfo::call2): Initialize exception handler here. | |
3173 | (_threadinfo::find_tls): Move here. | |
3174 | * exceptions.cc (_threadinfo::find_tls): Move. | |
3175 | ||
3176 | * dcrt0.cc (__api_fatal): Add prefix info to message here rather than | |
3177 | including it in every call to function. | |
3178 | * winsup.h (api_fatal): Accommodate above change. | |
3179 | * debug.cc (add_handle): Don't do anything if cygheap not around. | |
3180 | (mark_closed): Ditto. | |
3181 | ||
3182 | * dll_init.cc (dll_list::detach): Fix debug output. | |
3183 | * fork.cc (sync_with_child): Ditto. | |
3184 | (vfork): Improve debug output. | |
3185 | * heap.cc (heap_init): Ditto. | |
3186 | ||
3187 | * exceptions.cc (try_to_debug): Clarify message when debugger attaches. | |
3188 | ||
0efff769 CF |
3189 | 2004-01-03 Christopher Faylor <cgf@redhat.com> |
3190 | ||
3191 | * exceptions.cc (_threadinfo::interrupt_now): Avoid double call to | |
3192 | sigdelayed. | |
3193 | * pinfo.cc (_pinfo::commune_send): Avoid inexplicable test which caused | |
3194 | most pids to be shown as "<defunct>" on Win9x. | |
3195 | ||
e80cbe3e CF |
3196 | 2004-01-02 Christopher Faylor <cgf@redhat.com> |
3197 | ||
3198 | * cygheap.h (init_cygheap): Play more vfork shell games and move | |
3199 | ctty_on_hold and open_fhs_on_hold (back) here. | |
3200 | * dcrt0.cc (_dll_crt0): Just set impure_ptr_ptr here and let later | |
3201 | initialization deal with tls. | |
3202 | * dtable.cc (dtable::vfork_child_fixup): Move ctty considerations here. | |
3203 | (dtable:vfork_parent_restore): And here. | |
3204 | * fork.cc (vfork): Reflect change to ctty handling. | |
3205 | * perthread.h (vfork_save::fhctty): Eliminate. | |
3206 | ||
3207 | * cygwin.din: Make more exports NOSIGFE that will never be interrupted | |
3208 | by a signal. | |
3209 | ||
3210 | * init.cc (dll_entry): Set stackptr to NULL to catch problems earlier. |