]>
Commit | Line | Data |
---|---|---|
ab3cd888 CV |
1 | 2010-09-30 Corinna Vinschen <corinna@vinschen.de> |
2 | ||
3 | * path.cc (symlink_info::check): Remove erroneous assumption about | |
4 | required permissions when reading NFS symlinks. | |
5 | ||
1b035845 CF |
6 | 2010-09-29 Christopher Faylor <me+cygwin@cgf.cx> |
7 | ||
8 | * fhandler_tty.cc (fhandler_tty_slave::init): Revert to using | |
9 | tc->setpgid since previous change broke some use cases. | |
10 | ||
f95f18c9 CF |
11 | 2010-09-28 Christopher Faylor <me+cygwin@cgf.cx> |
12 | ||
13 | * fhandler_tty.cc (fhandler_tty_slave::init): Add debugging. Use | |
14 | tcsetpgrp to potentially set pgid since it is smarter about deciding if | |
15 | a process is in the background. | |
16 | * include/sys/cygwin.h (PID_ORPHANED): Actually delete as planned. | |
17 | (PID_NOTCYGWIN): Correctly define. | |
18 | ||
9d86e318 CV |
19 | 2010-09-28 Corinna Vinschen <corinna@vinschen.de> |
20 | ||
21 | * net.cc (getdomainname): Drop special case for NT4. | |
22 | ||
2a9b4b7a CV |
23 | 2010-09-28 Corinna Vinschen <corinna@vinschen.de> |
24 | ||
25 | Revert accidental previous login. | |
26 | ||
2f1f8815 CV |
27 | 2010-09-28 Corinna Vinschen <corinna@vinschen.de> |
28 | ||
29 | * Makefile.in (DLL_IMPORTS): Remove libadvapi32.a. | |
30 | * autoload.cc: Add all advapi32 entry points. | |
31 | * mount.cc (mount_info::init): Read user fstab only if we have a | |
32 | username. | |
33 | * passwd.cc (pwdgrp::read_passwd): Only use username if we have one. | |
34 | * shared.cc (user_info::initialize): Set cb last so as not to override | |
35 | planned behaviour in pwdgrp::read_passwd. | |
36 | * uinfo.cc (cygheap_user::init): Fetch Windows username from environment | |
37 | variable $USERNAME. Don't set name in cygheap if variable is empty. | |
38 | (internal_getlogin): If we still have no username, try GetUserNameW. | |
39 | ||
91e0b943 CV |
40 | 2010-09-28 Corinna Vinschen <corinna@vinschen.de> |
41 | ||
42 | * fhandler_tty.cc (fhandler_pty_master::setup): Always create master | |
43 | thread. | |
44 | ||
41c91ad6 CV |
45 | 2010-09-28 Corinna Vinschen <corinna@vinschen.de> |
46 | ||
47 | * syscalls.cc (gethostid): Use correct path to ProductId registry value. | |
48 | ||
3f1d4f87 CV |
49 | 2010-09-27 Corinna Vinschen <corinna@vinschen.de> |
50 | ||
51 | * mount.cc (fs_info::update): Remove erroneous NtClose on random handle | |
52 | value. | |
53 | ||
ebdc75d9 CV |
54 | 2010-09-26 Corinna Vinschen <corinna@vinschen.de> |
55 | ||
56 | * uinfo.cc (cygheap_user::init): Call GetUserNameW and convert to | |
57 | multibyte here so as not to rely on the current ANSI page. | |
58 | ||
71ef2142 CF |
59 | 2010-09-26 Christopher Faylor <me+cygwin@cgf.cx> |
60 | ||
61 | * dcrt0.cc (__main): Force signal synchronization. | |
62 | ||
92626feb CV |
63 | 2010-09-25 Corinna Vinschen <corinna@vinschen.de> |
64 | ||
6fe59500 CV |
65 | * fhandler_socket.cc (fhandler_socket::bind): Drop has_exclusiveaddruse |
66 | condition. Fix comment about availability. Move remaining comment to | |
67 | the right spot. Drop has_ip_helper_lib condition. | |
68 | * net.cc (cygwin_setsockopt): Drop has_disabled_user_tos_setting | |
69 | condition. Fix comment. | |
70 | (get_2k_ifs): Fix comment. | |
71 | (get_nt_ifs): Remove. | |
72 | (getifaddrs): Drop call to get_nt_ifs. | |
73 | (get_ifconf): Ditto. | |
74 | * wincap.cc: Throughout, drop has_ip_helper_lib, | |
75 | has_disabled_user_tos_setting, and has_exclusiveaddruse settings from | |
76 | wincaps. | |
77 | (wincap_unknown): Remove. | |
78 | (wincap_nt4): Remove. | |
79 | (wincap_minimal): New macro, set to wincap_nt4sp4 for now. | |
80 | (wincapc::init): Drop test for pre-SP4 NT4. Just imply at least NT SP4. | |
81 | Replace references to wincap_unknown with references to wincap_minimal. | |
82 | * wincap.h (struct wincaps): Drop has_ip_helper_lib, | |
83 | has_disabled_user_tos_setting, and has_exclusiveaddruse flags and | |
84 | methods. | |
85 | ||
86 | 2010-09-25 Corinna Vinschen <corinna@vinschen.de> | |
87 | ||
88 | * autoload.cc: Throughout, order entry points alphabetically by DLL | |
92626feb CV |
89 | and function name. Make functions which are available on all supported |
90 | systems non-optional. Fix return value on entry points imported from | |
91 | secur32.dll. Add comment. | |
92 | (std_dll_init): Call fesetenv unconditionally. | |
93 | ||
8d07b1aa CF |
94 | 2010-09-24 Christopher Faylor <me+cygwin@cgf.cx> |
95 | ||
96 | * autoload.cc (std_dll_init): Move dll_path closer to its use. Use | |
97 | dll_path in fatal error. Set ret values under lock control. | |
98 | * lib/minires.c (res_nsend): Fix compilation errors owing to pointer | |
99 | signedness. | |
100 | ||
7438a10a CV |
101 | 2010-09-24 Corinna Vinschen <corinna@vinschen.de> |
102 | ||
103 | * fhandler.cc (fhandler_base::open): Handle query_write_dac flag. | |
104 | * fhandler.h (enum query_state): Add query_write_dac flag. | |
105 | * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Open file | |
106 | with query_write_dac instead of query_write_control. | |
107 | ||
3498f76d CV |
108 | 2010-09-24 Corinna Vinschen <corinna@vinschen.de> |
109 | ||
110 | * errno.cc (errmap): Map ERROR_BAD_NET_RESP to ENOSYS. | |
111 | * fhandler_disk_file.cc (fhandler_disk_file::facl): Handle ENOSYS and | |
112 | point to the explanation. | |
113 | * ntdll.h (STATUS_NOT_IMPLEMENTED): Define. | |
114 | * path.cc (symlink_info::check): Handle the inability of NT4 to use | |
115 | FileNetworkOpenInformation on share root dirs in either direction. | |
116 | * path.h (slash_unc_prefix_p): Remove unused declaration. | |
117 | * security.cc (get_info_from_sd): Handle ENOSYS from get_file_sd. | |
118 | Explain when this happens. | |
119 | ||
b3755579 CF |
120 | 2010-09-23 Christopher Faylor <me+cygwin@cgf.cx> |
121 | ||
122 | * autoload.cc (std_dll_init): Use correct format type when displaying | |
123 | dll name in error output. | |
124 | ||
5c22068f PH |
125 | 2010-09-21 Pierre Humblet <Pierre.Humblet@ieee.org> |
126 | ||
127 | * libc/minires.c (res_nsend): Use the Windows resolver if appropriate. | |
128 | (dn_expand): Only set errno in case of error. Delete old comments. | |
129 | (dn_skipname): Fix typo in comment. | |
130 | ||
b53c1929 CV |
131 | 2010-09-21 Corinna Vinschen <corinna@vinschen.de> |
132 | ||
133 | * path.cc (cwdstuff::set): Replace constant 2 with sizeof(WCHAR) where | |
134 | appropriate. | |
135 | ||
4c9d01fd CV |
136 | 2010-09-21 Corinna Vinschen <corinna@vinschen.de> |
137 | ||
138 | * mount.h (class fs_info): Add has_buggy_reopen flag and accessor | |
139 | methods. | |
140 | * mount.cc (fs_info::update): Set has_buggy_reopen flag for NWFS. | |
141 | Add comment. | |
142 | * path.h (path_conv::get_object_attr) Make inline method. | |
143 | (path_conv::init_reopen_attr): New inline method. | |
144 | * path.cc (path_conv::get_object_attr): Remove. | |
145 | * fhandler_disk_file.cc (fhandler_base::fstat_helper): Use | |
146 | path_conv::init_reopen_attr method to initialize OBJECT_ATTRIBUTE for | |
147 | reopening file. | |
148 | (fhandler_disk_file::fchmod): Ditto. | |
149 | (fhandler_base::utimens_fs): Ditto. | |
150 | (fhandler_disk_file::rewinddir): Ditto. | |
151 | * syscalls.cc (unlink_nt): Ditto. | |
152 | ||
7ba1698e CV |
153 | 2010-09-21 Corinna Vinschen <corinna@vinschen.de> |
154 | ||
155 | * fhandler.cc (fhandler_base::open): Always open NFS files with | |
156 | FILE_READ_EA, even when opening with O_WRONLY to allow fstat. | |
157 | * fhandler_disk_file.cc (fhandler_base::fstat_by_nfs_ea): Call | |
158 | FlushFileBuffers if file has been opened for writing. Explain why. | |
159 | (fhandler_base::fstat_by_handle): Renew content of pc.fnoi if called | |
160 | via fstat. Explain why. Fix formatting. | |
161 | * path.cc (symlink_info::check): Try to open file the second time with | |
162 | FILE_READ_EA permissions since it's needed in later calls to | |
163 | fhandler_base::fstat_by_nfs_ea. | |
164 | ||
df4d2bea CF |
165 | 2010-09-20 Christopher Faylor <me+cygwin@cgf.cx> |
166 | ||
167 | * include/sys/cygwin.h (PID_NOTCYGWIN): New enum. | |
168 | * spawn.cc (spawn_guts): Set a flag when a process is not a cygwin | |
169 | process. | |
170 | * fhandler_tty.cc (fhandler_tty_slave::init): Remove previous change. | |
171 | Try a different method to determine when we should become the process | |
172 | group owner. | |
173 | * signal.cc (kill0): Remove archaic code which dealt with never-set | |
174 | flag. | |
175 | ||
73b6b43e CF |
176 | 2010-09-20 Christopher Faylor <me+cygwin@cgf.cx> |
177 | ||
178 | * fhandler_tty.cc (fhandler_tty_slave::init): Add additional checks to | |
179 | determine when a process should grab control of a tty's pgid. Use | |
180 | being_debugged() for consistency. | |
181 | * debug.h (being_debugged): Remove vestige of win9x accommodation. | |
182 | ||
b6473313 CF |
183 | 2010-09-19 Christopher Faylor <me+cygwin@cgf.cx> |
184 | ||
185 | * wincap.h (wincaps::has_buggy_thread_startup): Declare. | |
186 | (wincapc::has_buggy_thread_startup): Ditto. | |
187 | * wincap.cc::wincap_*): Accommodate has_buggy_thread_startup. | |
188 | (wincapc::init): Explicitly turn off has_buggy_thread_startup if not | |
189 | WOW64. | |
190 | * cygthread.h (cygthread::thread_handle): Declare/define new method. | |
191 | * dcrt0.cc (_dll_crt0): Don't call __sinit here. | |
192 | (dll_crt0_0): Don't call sigproc_init during initialization | |
193 | if wincap.has_buggy_thread_startup(). | |
194 | (dll_crt0_1): Defer sigproc_init to here when | |
195 | wincap.has_buggy_thread_startup(). Call __sinit after we've determined | |
196 | that we're not forking. | |
197 | (__main): Rework comments. Add potential future reminder. | |
198 | ||
421ff3ff CV |
199 | 2010-09-15 Corinna Vinschen <corinna@vinschen.de> |
200 | ||
201 | * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Fetch number | |
202 | of links and inode number only if path has good inodes. | |
203 | (fhandler_base::fstat_by_name): Fetch inode number only if path has | |
204 | good inodes. | |
205 | ||
1df35772 CV |
206 | 2010-09-14 Corinna Vinschen <corinna@vinschen.de> |
207 | ||
208 | * path.cc (symlink_info::check): Make sure AllocationSize and EndOfFile | |
209 | are stored in the right order when fetching the info from the | |
210 | NtQueryDirectoryFile result. | |
211 | ||
27e79675 CV |
212 | 2010-09-13 Corinna Vinschen <corinna@vinschen.de> |
213 | ||
214 | * fhandler_process.cc (get_mem_values): Simplify code. Fix | |
215 | NtQueryVirtualMemory loop so it handles memory allocation gracefully. | |
216 | Always set errno to a useful value. | |
217 | ||
c80480bf CV |
218 | 2010-09-13 Corinna Vinschen <corinna@vinschen.de> |
219 | ||
220 | * fhandler.h (class fhandler_base): Change inheritance of fstat_helper | |
221 | and fstat_by_... methods to private. | |
222 | (fhandler_base::fstat_helper): Drop all redundant arguments. | |
223 | * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Drop call | |
224 | to fstat_by_nfs_ea here. Drop fetching basic file information. | |
225 | Drop setting file attributes. Accommodate change in fstat_helper call. | |
226 | (fhandler_base::fstat_by_name): Simplify. Only fetch directory | |
227 | information to get the inode number. Drop setting file attributes. | |
228 | Accommodate change in fstat_helper call. | |
229 | (fhandler_base::fstat_fs): Call fstat_by_nfs_ea if on NFS. | |
230 | (fhandler_base::fstat_helper): Drop all redundant arguments. Use | |
231 | information already collected in the fhandler. Move heading comment | |
232 | into code and drop dwFileAttributes comment. | |
233 | * mmap.cc (mmap64): Call fstat_fs rather than fstat_by_handle. | |
234 | * mount.cc (fs_info::update): Note that has_buggy_basic_info is unused. | |
235 | * path.cc (symlink_info::check_reparse_point): Add comment. | |
236 | (symlink_info::check): Fetch FileNetworkOpenInformation rather than | |
237 | FileBasicInformation throughout, except on NFS. Explain why. Store | |
238 | FILE_NETWORK_OPEN_INFORMATION in conv_hdl. Remove | |
239 | FILE_ATTRIBUTE_DIRECTORY attribute in conv_hdl for reparse point | |
240 | symlinks. | |
241 | * path.h (class path_conv_handle): Add FILE_NETWORK_OPEN_INFORMATION | |
242 | member _fnoi. | |
243 | (path_conv_handle::fnoi): New accessor method for _fnoi. | |
244 | (path_conv::fnoi): New accessor method for cubv_hdl._fnoi. | |
245 | ||
246 | * fhandler_tty.cc (fhandler_tty_slave::init): Use tty::setpgid method. | |
247 | ||
f7382efe CV |
248 | 2010-09-12 Corinna Vinschen <corinna@vinschen.de> |
249 | ||
250 | * sec_acl.cc (acl_worker): Remove. | |
251 | (acl32): Implement acl_worker functionality here. | |
252 | (lacl32): Just return -1 with errno set to ENOSYS. | |
253 | (lacl): Ditto. | |
254 | * include/cygwin/acl.h (lacl): Remove this call. | |
255 | ||
11fef787 CF |
256 | 2010-09-12 Christopher Faylor <me+cygwin@cgf.cx> |
257 | ||
258 | * sigproc.cc (sig_dispatch_pending): Remove debugging statement. | |
259 | (sigproc_init): Wrap a long line. | |
260 | ||
6c6eb02b CF |
261 | 2010-09-12 Christopher Faylor <me+cygwin@cgf.cx> |
262 | ||
263 | * cygthread.h (cygthread::cygthread): Reorganize slightly. | |
264 | * dcrt0.cc (dll_crt0_0): Move sigproc initialization later to ensure | |
265 | everything we need has been set up. | |
266 | (dll_crt0_1): Streamline some logic slightly. | |
267 | * sigproc.cc (no_signals_available): Add back dropped test for macro | |
268 | parameter. | |
269 | * fhandler_console.cc (fhandler_console::write): Show a little bit of | |
270 | what's being written to the console in debugging output. | |
271 | ||
18df3935 CV |
272 | 2010-09-12 Corinna Vinschen <corinna@vinschen.de> |
273 | ||
274 | * syscalls.cc (start_transaction): Make inline function. Move up to be | |
275 | more generally available. | |
276 | (stop_transaction): Ditto. | |
277 | (unlink_nt): Potentially start transaction when trying to delete file | |
278 | with DOS R/O attribute set. If file is .lnk symlink, check for number | |
279 | of hardlinks. Add "out" label and only return via "out". Rearrange | |
280 | reversion of DOS R/O attribute and, on success, only revert R/O | |
281 | attribute if file is .lnk symlink with more than one hardlink. Add | |
282 | length comment to explain why. | |
283 | ||
99544f92 CV |
284 | 2010-09-11 Corinna Vinschen <corinna@vinschen.de> |
285 | ||
286 | * fhandler_disk_file.cc (fhandler_disk_file::rmdir): More thoroughly | |
287 | check the existence condition on remote drives. Enhance comment. | |
288 | ||
0f81b5d4 DK |
289 | 2010-09-11 Dave Korn <dave.korn.cygwin@gmail.com> |
290 | ||
291 | * Makefile.in (DLL_OFILES): Add new fenv.o module. | |
292 | (fenv_CFLAGS): New flags definition for fenv.o compile. | |
293 | * autoload.cc (std_dll_init): Use fenv.h functions instead of direct | |
294 | manipulation of x87 FPU registers. | |
295 | * crt0.c (mainCRTStartup): Likewise. | |
296 | * cygwin.din (feclearexcept, fegetexceptflag, feraiseexcept, | |
297 | fesetexceptflag, fetestexcept, fegetround, fesetround, fegetenv, | |
298 | feholdexcept, fesetenv, feupdateenv, fegetprec, fesetprec, | |
299 | feenableexcept, fedisableexcept, fegetexcept, _feinitialise, | |
300 | _fe_dfl_env, _fe_nomask_env): Export new functions and data items. | |
301 | * fenv.cc: New file. | |
302 | * posix.sgml: Update status of newly-implemented APIs. | |
303 | * include/fenv.h: Likewise related header. | |
304 | * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. | |
305 | ||
f7dea7f2 CV |
306 | 2010-09-10 Corinna Vinschen <corinna@vinschen.de> |
307 | ||
308 | * syscalls.cc (rename): Limit retry loop in case of sharing violation | |
309 | to about a second. | |
310 | ||
396561aa CV |
311 | 2010-09-10 Corinna Vinschen <corinna@vinschen.de> |
312 | ||
313 | * syscalls.cc (fstatat): Call stat_worker directly from here. | |
314 | ||
4e8f539f CV |
315 | 2010-09-10 Corinna Vinschen <corinna@vinschen.de> |
316 | ||
317 | * flock.cc (allow_others_to_sync): Define MAX_PROCESS_SD_SIZE. Use | |
318 | instead of ACL_DEFAULT_SIZE. | |
319 | * sec_acl.cc (setacl): Use TLS buffer to allow maximum ACL size. | |
320 | * security.h (ACL_DEFAULT_SIZE): Drop definition. | |
321 | (ACL_MAXIMUM_SIZE): Define. | |
322 | (SD_MAXIMUM_SIZE): Define. | |
323 | * security.cc (get_file_sd): Allocate security_decscriptor with size | |
324 | SD_MAXIMUM_SIZE. | |
325 | (alloc_sd): Use TLS buffer to allow maximum ACL size. | |
326 | ||
f65c5a0a CV |
327 | 2010-09-10 Corinna Vinschen <corinna@vinschen.de> |
328 | ||
329 | * mount.cc (class fs_info_cache): New class to cache filesystem | |
330 | information. | |
331 | (fs_info::update): Check FileFsVolumeInformation against filesystem | |
332 | cache and use it, if filesystem is already available. Add filesystem | |
333 | to cache, if not. Only request FileFsObjectIdInformation if | |
334 | FILE_SUPPORTS_OBJECT_IDS is set in filesystem flags. | |
335 | * ntdll.h (struct _FILE_FS_VOLUME_INFORMATION): Add pragma pack so the | |
336 | structure size is matching the OS expectations. Add __dummy member | |
337 | used in filesystem cache. | |
338 | ||
67a93078 CV |
339 | 2010-09-10 Corinna Vinschen <corinna@vinschen.de> |
340 | ||
341 | * security.cc (get_file_sd): Add bool parameter justcreated. Use | |
342 | GetSecurityInfo only if justcreated is true, NtQuerySecurityObject | |
343 | otherwise. Add comment to explain why. Don't waste time to call | |
344 | NtQuerySecurityObject twice, just allocate big enough area. | |
345 | (get_file_attribute): Call get_file_sd with justcreated set to false. | |
346 | (set_file_attribute): Call get_file_sd with justcreated depending on | |
347 | S_JUSTCREATED pseudo file attribute. | |
348 | (check_file_access): Call get_file_sd with justcreated set to false. | |
349 | * sec_acl.cc (setacl): Ditto. | |
350 | (getacl): Ditto. | |
351 | * security.h: Convert many functions to regparm functions. | |
352 | (get_file_sd): Declare with extra bool parameter. | |
353 | ||
28e19baf CV |
354 | 2010-09-10 Corinna Vinschen <corinna@vinschen.de> |
355 | ||
356 | * fhandler_procsys.cc (fhandler_procsys::exists): Rearrange to handle | |
357 | dangling symlinks correctly. Fix comments. | |
358 | (fhandler_procsys::fill_filebuf): Remove useless comment. | |
359 | ||
f99de2b3 | 360 | 2010-09-08 Corinna Vinschen <corinna@vinschen.de> |
fa3ab15b | 361 | |
f99de2b3 CV |
362 | * fhandler_procsys.cc (fhandler_procsys::open): Simplify by just |
363 | calling fhandler_base::open. | |
fa3ab15b | 364 | |
43f65cdd CV |
365 | 2010-09-06 Corinna Vinschen <corinna@vinschen.de> |
366 | ||
367 | * Makefile.in (DLL_OFILES): Add fhandler_procsys.o. | |
368 | * devices.h (enum fh_devices): Add FH_PROCSYS. | |
369 | * devices.in (dev_procsys_storage): New device. | |
370 | * devices.cc: Regenerate. | |
371 | * dtable.cc (build_fh_pc): Add code to allocate fhandler_procsys. | |
372 | * fhandler.h (proc_len): Convert to size_t. | |
373 | (procsys): Declare. | |
374 | (procsys_len): Declare. | |
375 | (enum virtual_ftype_t): Move here from fhandler_virtual.h. | |
376 | Add members supported by fhandler_procsys. | |
377 | (fhandler_virtual::exists): Return virtual_ftype_t. Change | |
378 | in all derived classes. | |
379 | (class fhandler_procsys): New class. | |
380 | (fhandler_union): Add fhandler_procnet and fhandler_procsys members. | |
381 | * fhandler_disk_file.cc (__DIR_mounts::check_missing_mount): Use | |
382 | ro_u_proc. | |
383 | (fhandler_base::fstat_by_handle): Don't copy attributes if file is an | |
384 | NT device. | |
385 | (fhandler_base::fstat_by_name): Ditto. | |
386 | * fhandler_netdrive.cc (fhandler_netdrive::exists): Return | |
387 | virtual_ftype_t. | |
388 | * fhandler_proc.cc (proc_tab): Sort alphabetically. Use _VN macro | |
389 | to store length. | |
390 | (proc_len): Change to size_t. | |
391 | (proc_tab_cmp): New static function. | |
392 | (virt_tab_search): New function to search entry in virt_tab_t | |
393 | arrays. Use throughout in /proc and sibling classes instead of | |
394 | loop. | |
395 | (fhandler_proc::exists): Return virtual_ftype_t. | |
396 | * fhandler_process.cc (process_tab): Sort alphabetically. Use _VN | |
397 | macro to store length. | |
398 | (fhandler_process::exists): Return virtual_ftype_t. | |
399 | (fhandler_process::open): Simplify code. | |
400 | * fhandler_procnet.cc (procnet_tab): Sort alphabetically. Use _VN | |
401 | macro to store length. | |
402 | (fhandler_procnet::exists): Return virtual_ftype_t. | |
403 | (fhandler_procnet::open): Simplify. | |
404 | * fhandler_procsys.cc: New file. | |
405 | * fhandler_registry.cc (fhandler_registry::exists): Return | |
406 | virtual_ftype_t. | |
407 | * fhandler_virtual.cc (fhandler_virtual::exists): Ditto. | |
408 | * fhandler_virtual.h (enum virtual_ftype_t): Move to fhandler.h. | |
409 | (virt_tab_t): Add name_len member. | |
410 | (_VN): New macro. | |
411 | (virt_tab_search): Declare. | |
412 | * mount.cc (mount_info::conv_to_win32_path): Fix comment. Backslashify | |
413 | isprocsys_dev paths. | |
414 | * ntdll.h (STATUS_OBJECT_TYPE_MISMATCH): Define | |
415 | (STATUS_INSTANCE_NOT_AVAILABLE): Define. | |
416 | (STATUS_PIPE_NOT_AVAILABLE): Define. | |
417 | (STATUS_INVALID_PIPE_STATE): Define. | |
418 | (STATUS_PIPE_BUSY): Define. | |
419 | (SYMBOLIC_LINK_QUERY): Define. | |
420 | (NtOpenSymbolicLinkObject): Declare. | |
421 | (NtQuerySymbolicLinkObject): Declare. | |
422 | * path.cc (path_conv::check): Accommodate fact that exists method | |
423 | returns virtual_ftype_t now. Add cases for new virtual_ftype_t | |
424 | types. | |
425 | (cygwin_conv_path): Add GLOBALROOT prefix to native device paths. | |
426 | Make sure to strip \\?\ prefix only for actual filesystem-based | |
427 | paths, not for all paths. | |
428 | * path.h (isproc_dev): Add FH_PROCSYS. | |
429 | (isprocsys_dev): Define. | |
430 | ||
0de48837 CV |
431 | 2010-09-04 Corinna Vinschen <corinna@vinschen.de> |
432 | ||
433 | * mount.cc (mount_info::from_fstab_line): Reorder to make sure all | |
434 | mounts from user fstab are user mounts. | |
435 | (mount): Make sure all mounts are user mounts, even those added via | |
436 | mount -a. | |
437 | ||
6a7d80f2 CF |
438 | 2010-09-02 Christopher Faylor <me+cygwin@cgf.cx> |
439 | ||
fa3ab15b | 440 | * sigproc.cc (sigproc_init): Use American spelling in comment. |
6a7d80f2 | 441 | |
fc0e5071 CF |
442 | 2010-09-01 Christopher Faylor <me+cygwin@cgf.cx> |
443 | ||
444 | * dcrt0.cc (dll_crt0_0): Remove myself settings. | |
fa3ab15b | 445 | * fork.cc (fork): Set myself process_state. |
fc0e5071 CF |
446 | * pinfo.cc (pinfo_init): Ditto. |
447 | (pinfo::thisproc): Make sure any sendsig setting is correctly copied. | |
448 | * pinfo.h: Update copyright. Remove unused code. | |
449 | ||
b9874a0c CF |
450 | 2010-09-01 Christopher Faylor <me+cygwin@cgf.cx> |
451 | ||
452 | * cygthread.cc (cygthread::create): Fix incorrect use of name rather | |
453 | than __name. | |
454 | * cygthread.h (cygthread::cygthread): Create versions which eliminate | |
455 | 'n' parameter. | |
456 | * dcrt0.cc (dll_crt0_1): Remove check for threadfunc_ix. Remove | |
457 | obsolete comments. Set process_state to active here. | |
458 | * fhandler_netdrive.cc (create_thread_and_wait): Use shortened | |
459 | cygthread constructor. | |
460 | * timer.cc (timer_tracker::settime): Ditto. | |
461 | * window.cc (HWND): Ditto. | |
462 | * fhandler_tty.cc: Use shortened cygthread constructor, where | |
463 | appropriate, throughout. | |
464 | * select.cc: Ditto. | |
465 | * fork.cc (frok::child): Remove wait_for_sigthread. | |
466 | (fork): Reformat if for slightly better clarity. | |
467 | * init.cc (dll_finished_loading): New variable. | |
468 | (dll_entry): Use dll_finished_loading to determine when we should call | |
469 | merge_threadfunc. | |
470 | * sigproc.cc (no_signals_available): Simplify by using my_readsig. | |
471 | (wait_sig_inited): Delete. | |
472 | (wait_sig): Define as void function. | |
473 | (pending_signals): Accommodate change to wait_sig definition. | |
474 | (wait_for_sigthread): Delete definition. | |
475 | (sigproc_init): Initialize signal pipe here, before wait_sig thread is | |
476 | created. Use void form of cygthread creation. | |
477 | (init_sig_pipe): Delete. | |
478 | (wait_sig): Return void rather than DWORD. Assume previous | |
479 | initialization of signal pipe. Set my_sendsig to NULL when exiting. | |
480 | * sigproc.h (wait_for_sigthread): Delete declaration. | |
481 | ||
20973ec9 CV |
482 | 2010-09-01 Corinna Vinschen <corinna@vinschen.de> |
483 | ||
484 | * fhandler_netdrive.cc (fhandler_netdrive::readdir): Set d_type. | |
485 | (fhandler_netdrive::seekdir): Fix test for readdir return value. | |
486 | * fhandler_registry.cc (fhandler_registry::seekdir): Ditto. | |
487 | ||
41073b47 CV |
488 | 2010-09-01 Corinna Vinschen <corinna@vinschen.de> |
489 | ||
490 | * include/cygwin/version.h: Bump DLL minor version number to 8. | |
491 | ||
274116ea CV |
492 | 2010-08-31 Corinna Vinschen <corinna@vinschen.de> |
493 | ||
494 | * path.cc (normalize_posix_path): Preserve //./ and //?/ prefixes. | |
495 | (path_conv::check): Allow access to root directory of native NT disk | |
496 | devices. | |
497 | ||
8fd414ff CV |
498 | 2010-08-31 Corinna Vinschen <corinna@vinschen.de> |
499 | ||
500 | * include/cygwin/version.h: Bump DLL minor version number to 7. | |
501 | ||
166f3822 CF |
502 | 2010-08-30 Christopher Faylor <me+cygwin@cgf.cx> |
503 | ||
504 | * dcrt0.cc (dll_crt0_0): Move sigproc_init later, after cygheap | |
505 | initialization since it relies on the cygheap existing (even if | |
506 | it shouldn't matter do to dll initialization serialization). | |
507 | ||
45bc8c1f CV |
508 | 2010-08-30 Corinna Vinschen <corinna@vinschen.de> |
509 | ||
510 | * posix.sgml (std-notes): Fix typos and incorrectnesses. | |
511 | ||
92596190 CV |
512 | 2010-08-30 Corinna Vinschen <corinna@vinschen.de> |
513 | ||
514 | * autoload.cc (MsgWaitForMultipleObjectsEx): Define. | |
515 | (MsgWaitForMultipleObjects): Remove. | |
516 | * select.cc (select_stuff::wait): Use MsgWaitForMultipleObjectsEx with | |
517 | QS_ALLPOSTMESSAGE and, if possible, MWMO_INPUTAVAILABLE flags. Explain | |
518 | why. Fix a potential crash due to a NULL pointer in WAIT_FAILED case. | |
519 | (peek_windows): Use filter pattern on NT4. Explain why. | |
520 | * wincap.h (wincaps::has_mwmo_inputavailable): New element. | |
521 | * wincap.cc: Implement above element throughout. | |
522 | ||
92117cb2 CF |
523 | 2010-08-29 Christopher Faylor <me+cygwin@cgf.cx> |
524 | ||
525 | * winlean.h: New file. | |
526 | * automode.c: Use "winlean.h". | |
527 | * binmode.c: Ditto. | |
528 | * gmon.c: Ditto. | |
529 | * textmode.c: Ditto. | |
530 | * textreadmode.c: Ditto. | |
531 | * winsup.h: Ditto. | |
532 | * lib/cygwin_attach_dll.c: Ditto. | |
533 | * lib/dll_main.cc: Ditto. | |
534 | * profile.c: Ditto. | |
535 | * crt0.c: Ditto. Cleanup ancient cruft. Add dummy calls to | |
536 | cygwin_premain*. | |
537 | * include/sys/cygwin.h: Remove old stuff. Move premain declarations | |
538 | nearer to other cygwin-specific function declarations. | |
539 | * globals.cc: Add comment. | |
540 | ||
893a8b78 CV |
541 | 2010-08-28 Corinna Vinschen <corinna@vinschen.de> |
542 | ||
543 | * autoload.cc (LoadDLLprime): Change dllname storage to string16. | |
544 | (struct dll_info): Convert name to WCHAR. | |
545 | (std_dll_init): Load DLLs with full path to windows system directory. | |
546 | Add hint to Microsoft security advisory. | |
547 | * dcrt0.cc (init_windows_system_directory): New function. | |
548 | (dll_crt0_0): Call init_windows_system_directory first. | |
549 | * exceptions.cc (windows_system_directory): Move to globals.cc. | |
550 | (windows_system_directory_length): Ditto. | |
551 | (events_init): Drop code fetching windows_system_directory. | |
552 | * globals.cc (windows_system_directory): New global variable. | |
553 | (windows_system_directory_length): Ditto. | |
554 | * net.cc (load_ipv6_funcs): Use windows_system_directory rather than | |
555 | GetSystemDirectoryW. | |
556 | * netdb.cc (open_system_file): Ditto. Simplify debug output. | |
557 | ||
1121c57f CV |
558 | 2010-08-27 Corinna Vinschen <corinna@vinschen.de> |
559 | ||
560 | * external.cc (sync_wincwd): Remove. | |
561 | (cygwin_internal): Drop CW_SYNC_WINCWD case. | |
562 | * globals.cc (ro_u_pipedir): New R/O unicode string. | |
563 | * ntdll.h (RtlSetCurrentDirectory_U): Declare. | |
564 | * path.cc (cwdstuff::set): Improve comments. Drop setting Win32 CWD to | |
565 | \\?\PIPE\ on init. Keep Win32 CWD in sync, if possible. Set to | |
566 | \\?\PIPE\ otherwise. | |
567 | * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Revert to 230. | |
568 | * include/sys/cygwin.h (cygwin_getinfo_types): Remove CW_SYNC_WINCWD. | |
569 | ||
11650075 CV |
570 | 2010-08-27 Corinna Vinschen <corinna@vinschen.de> |
571 | ||
572 | * fhandler_proc.cc (format_proc_partitions): Improve comment. | |
573 | ||
46059af7 CV |
574 | 2010-08-26 Corinna Vinschen <corinna@vinschen.de> |
575 | ||
576 | * fhandler_proc.cc (format_proc_partitions): Simplify code and enable | |
577 | partition layout printing for non-privileged users. | |
578 | ||
2f183289 CV |
579 | 2010-08-25 Corinna Vinschen <corinna@vinschen.de> |
580 | ||
581 | * mount.cc (fs_info::update): Fix comments. | |
582 | ||
df70da7f CV |
583 | 2010-08-25 Corinna Vinschen <corinna@vinschen.de> |
584 | ||
585 | * syscalls.cc (rename): Open file with FILE_READ_ATTRIBUTES. | |
586 | ||
48f6c6c6 CV |
587 | 2010-08-24 Corinna Vinschen <corinna@vinschen.de> |
588 | ||
589 | * include/cygwin/version.h: Fix comment. | |
590 | ||
8ae578d6 CV |
591 | 2010-08-24 Corinna Vinschen <corinna@vinschen.de> |
592 | ||
593 | * external.cc (cygwin_internal): In CW_CVT_MNT_OPTS case, initialize | |
594 | flags with *pflags to restore original behaviour. | |
595 | ||
43c394de CV |
596 | 2010-08-21 Corinna Vinschen <corinna@vinschen.de> |
597 | ||
598 | * Makefile.in (DLL_IMPORTS): Link against advapi32.a before kernel32.a. | |
599 | ||
ff7fca61 CF |
600 | 2010-08-20 Christopher Faylor <me+cygwin@cgf.cx> |
601 | ||
602 | * cygthread.cc: Update copyright. | |
603 | ||
a6fc3a61 CV |
604 | 2010-08-20 Corinna Vinschen <corinna@vinschen.de> |
605 | ||
606 | * path.cc (path_conv::check): Close handle in conv_handle if we're | |
607 | following a symlink. | |
608 | ||
74f50846 CV |
609 | 2010-08-20 Pedro Izecksohn <pedro.izecksohn@gmail.com> |
610 | ||
611 | * endian.h (htobe16, htobe32, htobe64, be16toh, be32toh, be64toh, | |
612 | htole16, htole32, htole64, le16toh, le32toh, le64toh): Define. | |
613 | ||
a6c83569 CV |
614 | 2010-08-20 Corinna Vinschen <corinna@vinschen.de> |
615 | ||
616 | * fhandler_disk_file.cc (readdir_check_reparse_point): Rename from | |
617 | is_volume_mountpoint. Return valid d_type value for underlying | |
618 | reparse point type. | |
619 | (readdir_get_ino): Don't rely on the handle set in pc.check. Open | |
620 | file here if pc.handle() is NULL. | |
621 | (fhandler_disk_file::readdir_helper): Try to set a correct d_type value | |
622 | more diligent. | |
623 | (fhandler_disk_file::readdir): Don't reset dirent_set_d_ino unless | |
624 | we're really sure it's due to an untrusted FS. Simplify usage of | |
625 | FileAttributes, which is 0 if buf is NULL, anyway. Set d_type | |
626 | correctly for faked "." and ".." entries. Improve debug output. | |
627 | * path.cc (symlink_info::check): Don't keep handle to volume mount | |
628 | point open. Explain why. | |
629 | ||
dd442880 CV |
630 | 2010-08-20 Corinna Vinschen <corinna@vinschen.de> |
631 | ||
632 | * fhandler_disk_file.cc (fhandler_disk_file::fstatvfs): Revert usage | |
633 | of get_stat_handle () to get_handle (). Add comment to explain why. | |
634 | * syscalls.cc (statvfs): Drop using PC_KEEP_HANDLE. | |
635 | ||
e652eb92 CV |
636 | 2010-08-19 Corinna Vinschen <corinna@vinschen.de> |
637 | ||
638 | * external.cc (sync_wincwd): New function. | |
639 | (cygwin_internal): Rename CW_SETCWD to CW_SYNC_WINCWD. Call | |
640 | sync_wincwd from here. | |
641 | * include/sys/cygwin.h (cygwin_getinfo_types): Rename CW_SETCWD to | |
642 | CW_SYNC_WINCWD. | |
643 | ||
590ad479 CF |
644 | 2010-08-18 Christopher Faylor <me+cygwin@cgf.cx> |
645 | ||
646 | * external.cc (CW_SETCWD): New option. | |
647 | * include/cygwin/version.h: Bump api minor to 231. | |
648 | * include/sys/cygwin.h (CW_SETCWD): Define. | |
649 | ||
ce9898da CV |
650 | 2010-08-18 Corinna Vinschen <corinna@vinschen.de> |
651 | ||
652 | * syscalls.cc (rename): Fix renaming file-based devices. | |
653 | ||
75a3b858 CV |
654 | 2010-08-18 Corinna Vinschen <corinna@vinschen.de> |
655 | ||
656 | * exceptions.cc (open_stackdumpfile): Don't try to open file if we | |
657 | have no filesystem based CWD. Add comment. | |
658 | * path.cc (cwdstuff::set): Set CWD handle to NULL if CWD is a virtual | |
659 | path. Simplify matching comment. | |
660 | ||
d15ed91c CV |
661 | 2010-08-18 Corinna Vinschen <corinna@vinschen.de> |
662 | ||
663 | * fhandler_disk_file.cc (fhandler_base::fstat_helper): Set st_rdev | |
664 | to correct device number for fs_special devices. | |
665 | ||
adb4e0f3 CV |
666 | 2010-08-16 Corinna Vinschen <corinna@vinschen.de> |
667 | ||
668 | * include/cygwin/version.h: Bump DLL minor version number to 6. | |
669 | ||
f5a51f91 CV |
670 | 2010-08-14 Corinna Vinschen <corinna@vinschen.de> |
671 | ||
672 | * pipe.cc (fhandler_pipe::open): Duplicate content of opened pipe | |
673 | fhandler before calling dup method. | |
674 | ||
260b8074 CV |
675 | 2010-08-13 Corinna Vinschen <corinna@vinschen.de> |
676 | ||
677 | * cygheap.h (class cwdstuff): Make drive_length private. | |
678 | Add "error" member. | |
679 | (cwdstuff::get_error): New inline method. | |
680 | (cwdstuff::get_error_desc): Declare. | |
681 | (cwdstuff::set): Change first parameter to pointer to path_conv. | |
682 | * path.cc (chdir): Drop doit. Align call to cwdstuff::set to | |
683 | new arguments. | |
684 | (cwdstuff::init): Only call cwdstuff::set if it's not already | |
685 | initialized. Add comment. Drop third parameter in call to | |
686 | cwdstuff::set. | |
687 | (cwdstuff::set): Partially rewrite. Add lots of comments to explain | |
688 | everything. Drop "doit" since it's not used anymore. Always create | |
689 | new handle to CWD if not in a virtual path. Drop PEB locking when | |
690 | reading PEB values in init phase. Check for accessibility to set | |
691 | correct error code. Drop Vista workaround. Never write back into PEB. | |
692 | Set Win32 CWD to \\?\PIPE\ on init. Simplify creation of win32 path. | |
693 | Set new error member to a meaningful value. | |
694 | (cwdstuff::get_error_desc): New method to generate error message | |
695 | from cwd error code. | |
696 | * spawn.cc (spawn_guts): Call cwdstuff::get_error_desc to create | |
697 | more meaningful error message when not being able to start native | |
698 | Win32 app due to CWD restrictions. When starting native Win32 app, | |
699 | lock cwd and use in calls to CreateProcessW/CreateProcessAsUserW. | |
700 | ||
a5fe4262 CV |
701 | 2010-08-11 Corinna Vinschen <corinna@vinschen.de> |
702 | ||
703 | * mount.cc (struct opt): Add "bind" option. | |
704 | (mount_info::from_fstab_line): Handle "bind" option. | |
705 | (fillout_mntent): Add "bind" option to mnt_opts. | |
706 | (mount): Handle "bind" option. | |
707 | * include/sys/mount.h (MOUNT_BIND): New mount flag. | |
708 | ||
92514fd2 CF |
709 | 2010-08-10 Christopher Faylor <me+cygwin@cgf.cx> |
710 | ||
711 | * sigproc.cc (init_sig_pipe): Add retry loop. | |
712 | ||
514fdad3 CF |
713 | 2010-08-09 Christopher Faylor <me+cygwin@cgf.cx> |
714 | ||
715 | * cygheap.h (cygheap_fdmanip): Delete fh and use fd index into | |
716 | cygheap->fdtab throughout. | |
717 | (cygheap_fdnew): Replace fh by using fd index into cygheap->fdtab | |
718 | throughout. (cygheap_fdget): Ditto. (cygheap_fdenum): Ditto. | |
719 | ||
b150f523 YS |
720 | 2010-08-09 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> |
721 | ||
722 | Implement POSIX.1-2004 Monotonic Clock. | |
723 | * hires.h: Change hires_us to hires_ns, with nanosecond resolution. | |
724 | (hires_ns::primed_ft): Remove. | |
725 | (hires_ns::nsecs): New prototype. | |
726 | (hires_ns::usecs): Rewrite in terms of nsecs. | |
727 | (hires_ns::resolution): New prototype. | |
728 | * times.cc: Change hires_us to hires_ns. | |
729 | (ntod): Declare. | |
730 | (systime): Remove. | |
731 | (hires_ns::prime): Increase resolution to nanoseconds. | |
732 | (hires_ns::nsecs): Rename usecs to nsecs to reflect increased resolution. | |
733 | Remove justdelta argument. | |
734 | (hires_ns::resolution): New function. | |
735 | (clock_gettime): Accept CLOCK_MONOTONIC. | |
736 | Use EINVAL instead of ENOSYS per POSIX.1-2004. | |
737 | (clock_getres): Ditto. | |
738 | (clock_setres): Use EINVAL instead of ENOSYS to conform with other | |
739 | implementations. | |
740 | * strace.cc (strace::microseconds): Adjust for hires_ns. | |
741 | * sysconf.cc (sca): Set _SC_MONOTONIC_CLOCK to _POSIX_MONOTONIC_CLOCK. | |
742 | * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. | |
743 | ||
a52993d4 CV |
744 | 2010-08-09 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> |
745 | ||
746 | * fhandler_proc.cc: Add /proc/filesystems virtual file. | |
747 | (format_proc_filesystems): New function. | |
748 | * mount.cc (fs_names): Move to global scope. Redefine as array | |
749 | of { "name", block_device? } structs. | |
750 | (fillout_mntent): Use name member of fs_names. | |
751 | * mount.h (fs_names): New prototype. | |
752 | ||
99006a85 CV |
753 | 2010-08-09 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> |
754 | ||
755 | * include/dlfcn.h (RTLD_LOCAL): Define. | |
756 | ||
5c9d7a42 CV |
757 | 2010-08-06 Corinna Vinschen <corinna@vinschen.de> |
758 | ||
759 | * include/sys/dirent.h (d_fileno): Define as d_ino. | |
760 | ||
06cc41a6 CV |
761 | 2010-08-04 Corinna Vinschen <corinna@vinschen.de> |
762 | ||
763 | * path.cc (cygwin_conv_path): Rearrange test for "." in POSIX to | |
764 | relative DOS path conversion. Simplify fixing the path. | |
765 | In CCP_POSIX_TO_WIN_W conversion, always drop long path prefix if path | |
766 | fits into MAX_PATH. Explain why. | |
767 | ||
0b6fbd39 CF |
768 | 2010-08-01 Christopher Faylor <me+cygwin@cgf.cx> |
769 | ||
770 | * exceptions.cc (_cygtls::interrupt_now): Revert to checking for | |
771 | "spinning" when choosing to defer signal. | |
772 | (_cygtls::call_signal_handler): Grab func when we have the lock. | |
773 | * gendef: Update copyright. | |
774 | (__sigbe): Simplify slightly. | |
775 | (_sigdelayed): Grab a lock before manipulating stuff. | |
776 | (_cygtls::pop): Properly return popped value. | |
777 | (stabilize_sig_stack): Set incyg when we have the lock. | |
778 | * sigproc.cc: Update copyright. | |
779 | ||
4db1bd40 CF |
780 | 2010-07-28 Christopher Faylor <me+cygwin@cgf.cx> |
781 | ||
782 | * cygthread.h (LPVOID_THREAD_START_ROUTINE): Define. | |
783 | (cygthread::create): Rename from cygthread::cygthread. | |
784 | (cygthread::cygthread): Define new constructor which accepts | |
785 | LPVOID_THREAD_START_ROUTINE as the first argument. Call | |
786 | cygthread::create. | |
787 | * cygthread.cc (cygthread::create): Rename from cygthread::cygthread. | |
788 | Use 'arglen' rather than 'n' since 'n' is no longer supplied. | |
789 | * fhandler_tty.cc (process_input): Define as void/noreturn. | |
790 | (process_output): Ditto. | |
791 | (process_ioctl): Ditto. | |
792 | (fhandler_tty_master::init): Don't "zap_h" cygthreads which are | |
793 | noreturn. It's now implied. | |
794 | ||
cb6bfcff CV |
795 | 2010-07-23 Corinna Vinschen <corinna@vinschen.de> |
796 | ||
797 | * fhandler.cc (fhandler_base::raw_write): Remove STATUS_DISK_FULL | |
798 | special handling. | |
799 | ||
3083fa94 EB |
800 | 2010-07-19 Eric Blake <eblake@redhat.com> |
801 | ||
802 | * mktemp.cc (_gettemp): Add flags argument. All callers updated. | |
803 | (mkostemp, mkostemps): New functions. | |
804 | * cygwin.din (mkostemp, mkostemps): Export. | |
805 | * posix.sgml: Document them. | |
806 | * include/cygwin/version.h: Bump version. | |
807 | ||
bee6d431 CF |
808 | 2010-07-18 Christopher Faylor <me+cygwin@cgf.cx> |
809 | ||
810 | * autoload.cc (noload): Use "pushl" rather than "push". | |
811 | ||
9134e80a CF |
812 | 2010-07-18 Christopher Faylor <me+cygwin@cgf.cx> |
813 | ||
814 | * exceptions.cc (_cygtls::interrupt_now): Avoid nonsensical tests which | |
815 | delay an interrupt. | |
816 | (setup_handler): Remove unneeded DEBUGGING handling. Ensure that stack | |
817 | is locked when we are about to do push/pop to it. Fix debugging output. | |
818 | ||
3a7c5515 CF |
819 | 2010-07-18 Christopher Faylor <me+cygwin@cgf.cx> |
820 | ||
821 | * gendef: Throughout, remove lock from xchgl since it is implied. | |
822 | (__ZN7_cygtls3popEv): Avoid potential (but probably nonexistent) race | |
823 | when clearing element after pop. | |
824 | ||
ac40a195 CV |
825 | 2010-07-15 Corinna Vinschen <corinna@vinschen.de> |
826 | ||
827 | * wincap.cc (wincap_7): Set needs_count_in_si_lpres2 to false. | |
828 | ||
975a85f4 CV |
829 | 2010-07-07 Corinna Vinschen <corinna@vinschen.de> |
830 | ||
831 | * syscalls.cc (unlink_nt): Disable try_to_bin for netapp drives. | |
832 | Explain why. | |
833 | ||
c492992f CV |
834 | 2010-07-05 Corinna Vinschen <corinna@vinschen.de> |
835 | ||
836 | Align seekdir and telldir API to POSIX definition. | |
837 | * Makefile.in (NEW_FUNCTIONS): Remove seekdir and telldir mappings. | |
838 | * dir.cc (telldir): Move functionality from telldir64 here. Use | |
839 | long, rather than _off_t. | |
840 | (telldir64): Just call telldir. Only keep for backward compatibility. | |
841 | (seekdir): Move functionality from seekdir64 here. Use long, rather | |
842 | than _off_t. | |
843 | (seekdir64): Just call seekdir. Only keep for backward compatibility. | |
844 | * fhandler.h: Throughout, change prototypes of seekdir and telldir | |
845 | methods to use long, rather than _off64_t. | |
846 | * fhandler_disk_file.cc: Change aforementioned methods accordingly. | |
847 | * fhandler_netdrive.cc: Ditto. | |
848 | * fhandler_registry.cc: Ditto. | |
849 | * fhandler_virtual.cc: Ditto. | |
850 | * include/sys/dirent.h (struct __DIR): Change __d_position from | |
851 | _off_t to long to reflect API change. | |
852 | (telldir): Change prototype to use long, rather than off_t. | |
853 | (seekdir): Ditto. | |
854 | ||
6259826e CF |
855 | 2010-07-04 Christopher Faylor <me+cygwin@cgf.cx> |
856 | ||
857 | * path.cc (path_conv::check): Move fs-specific settings to a point | |
858 | where we know that we have filled out the filesystem information. | |
859 | * path.h (path_conv::path_conv): Use consistent initialization for | |
860 | constructors. | |
861 | ||
862 | * include/sys/cygwin.h: Define CW_STRERROR. | |
863 | * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 228. | |
864 | * include/external.h: Implement CW_STRERROR. | |
865 | ||
7ba0a42f CV |
866 | 2010-07-02 Corinna Vinschen <corinna@vinschen.de> |
867 | ||
868 | * net.cc (cygwin_getsockopt): Make sure SO_PEERCRED is only handled | |
869 | in level SOL_SOCKET. Workaround a return value regression in Vista | |
870 | and later. Add comment to explain. | |
871 | ||
601fbebd CV |
872 | 2010-06-29 Corinna Vinschen <corinna@vinschen.de> |
873 | ||
874 | * spawn.cc (spawn_guts): Reinstantiate a FIXME comment. | |
875 | ||
e7daa3ed CV |
876 | 2010-06-29 Corinna Vinschen <corinna@vinschen.de> |
877 | ||
878 | * exceptions.cc (dump_exception): Use %W instead of %s for printing | |
879 | progname. | |
880 | * fork.cc (frok::parent): Fix typos in debug output. | |
881 | * spawn.cc (spawn_guts): Copy wide Win32 filename into _pinfo::progname, | |
601fbebd | 882 | rather than native NT name. Use %W instead of %S for printing progname. |
e7daa3ed | 883 | |
22d78f10 CF |
884 | 2010-06-28 Christopher Faylor <me+cygwin@cgf.cx> |
885 | ||
886 | * fork.cc (frok::parent): Improve error message. | |
887 | ||
30bbc55e CV |
888 | 2010-06-22 Corinna Vinschen <corinna@vinschen.de> |
889 | ||
890 | * flock.cc (allow_others_to_sync): Use small stack buffer rather | |
891 | than big temp buffer. Fix typo in comment. | |
892 | (lf_setlock): Revert to using tmp_pathbuf. | |
893 | (lf_getlock): Ditto. | |
894 | ||
c7b24005 CV |
895 | 2010-06-22 Corinna Vinschen <corinna@vinschen.de> |
896 | ||
897 | * sec_acl.cc (setacl): Use the long time unused ACL_DEFAULT_SIZE | |
898 | instead of a constant value. | |
899 | * security.cc (alloc_sd): Ditto. | |
900 | ||
f074bd3a CF |
901 | 2010-06-21 Christopher Faylor <me+cygwin@cgf.cx> |
902 | ||
903 | * tmpbuf.h: New file. | |
904 | * flock.cc: Include tmpbuf.h for new tmpbuf functionality. | |
905 | (allow_others_to_sync): Use tmpbuf rather than tmp_pathbuf. Explain | |
906 | why. | |
907 | (lf_setlock): For consistency, use tmpbuf rather than tmp_pathbuf. | |
908 | (lf_getlock): Ditto. | |
909 | ||
74434376 CF |
910 | 2010-06-21 Christopher Faylor <me+cygwin@cgf.cx> |
911 | ||
912 | * dcrt0.cc (__api_fatal): Temporarily generate a stackdump. | |
913 | ||
7b8cf7c8 CF |
914 | 2010-06-21 Christopher Faylor <me+cygwin@cgf.cx> |
915 | ||
916 | * tls_pbuf.cc (tmp_pathbuf::w_get): Report what's failing when too many | |
917 | buffers are in use. | |
918 | ||
4365c159 CV |
919 | 2010-06-17 Corinna Vinschen <corinna@vinschen.de> |
920 | ||
921 | * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Fetch stat | |
922 | handle only after checking for NFS. | |
923 | ||
342814df CV |
924 | 2010-06-15 Corinna Vinschen <corinna@vinschen.de> |
925 | ||
926 | * fhandler_disk_file.cc (fhandler_base::fstat_by_nfs_ea): Use handle | |
927 | returned by get_stat_handle. | |
928 | (fhandler_base::fstat_helper): Reinstatiate code to re-open the file | |
929 | when checking for executability if called via fstat. Explain why. | |
930 | ||
5a0d1edb CV |
931 | 2010-06-15 Corinna Vinschen <corinna@vinschen.de> |
932 | ||
933 | * dtable.cc (dtable::dup_worker): Reset path_conv handle in duplicated | |
934 | fhandler. | |
935 | * fhandler.cc (fhandler_base::fstatvfs): Keep handle in created | |
936 | path_conv. | |
937 | * fhandler.h (fhandler_base::get_stat_access): New method. | |
938 | (fhandler_base::get_stat_handle): New method. | |
939 | * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Use handle | |
940 | returned by get_stat_handle. Only request inode from system if it | |
941 | isn't already set in the fhandler, and only for filesystems supporting | |
942 | them. | |
943 | (fhandler_base::fstat_fs): Use handle returned by get_stat_handle. | |
944 | Change the way open_fs is called. Explain why. | |
945 | (fhandler_base::fstat_helper): Use handle returned by get_stat_handle. | |
946 | Never use 0 inode number. Simplify executable recognition by re-using | |
947 | get_stat_handle if file could be opened with sufficient rights. | |
948 | (fhandler_disk_file::fstatvfs): Use handle returned by get_stat_handle. | |
949 | (fhandler_disk_file::facl): Use handle returned by get_stat_handle in | |
950 | GETACL and GETACLCNT cases. | |
951 | (fhandler_disk_file::link): Use handle returned by get_stat_handle | |
952 | instead of opening file here again. Add comment. | |
953 | (readdir_get_ino): Keep handle in created path_conv and drop | |
954 | opening file. | |
955 | * ntdll.h (wait_pending): New helper function. | |
956 | * path.cc (symlink_info::check): Drop unused 'opt' parameter from | |
957 | declaration. Add path_conv_handle argument. | |
958 | (path_conv::check): Make sure conv_handle is closed. Keep | |
959 | PC_KEEP_HANDLE flag in pflags_or. Accommodate call to sym.check to | |
960 | new args. | |
961 | (path_conv::~path_conv): Close conv_handle. | |
962 | (symlink_info::check_shortcut): Don't re-open file here, just use | |
963 | incoming handle. Drop goto's and label out. | |
964 | (symlink_info::check_sysfile): Don't re-open file here, just use | |
965 | incoming handle. Keep track of file position to accommodate the fact | |
966 | that file has been opened asynchronously in calling function. | |
967 | (symlink_info::check_nfs_symlink): Don't re-open file here, just use | |
968 | incoming handle. | |
969 | (symlink_info::check): Drop unused 'opt' parameter. Add | |
970 | path_conv_handle argument. Always try to open file with GENERIC_READ | |
971 | rights first to allow reading file content w/o having to re-open the | |
972 | file. Drop back to READ_CONTROL | FILE_READ_ATTRIBUTES otherwise. | |
973 | Call symlink test functions (except for check_reparse_point) only if | |
974 | file could be opened with GENERIC_READ. Keep file handle open if | |
975 | PC_KEEP_HANDLE is set in pflags. | |
976 | * path.h (enum pathconv_arg): Add PC_KEEP_HANDLE flag. | |
977 | (class path_conv_handle): New class. | |
978 | (class path_conv): Add conv_handle member. | |
979 | (path_conv::operator =): Duplicate conv_handle. | |
980 | (path_conv::handle): New method. | |
981 | (path_conv::access): New method. | |
982 | (path_conv::reset_conv_handle): New method. | |
983 | (path_conv::close_conv_handle): New method. | |
984 | ||
51ec3f5c CV |
985 | 2010-06-15 Corinna Vinschen <corinna@vinschen.de> |
986 | ||
987 | * fhandler_disk_file.cc (fhandler_disk_file::fstatvfs): Fix indentation. | |
988 | ||
5e3dd23e CV |
989 | 2010-06-15 Corinna Vinschen <corinna@vinschen.de> |
990 | ||
991 | * fhandler_disk_file.cc (path_conv::get_ino_by_handle): Convert from | |
992 | static function to path_conv method. Accommodate throughout. | |
993 | (path_conv::ndisk_links): Unused, comment out. | |
994 | * path.h (path_conv::get_ino_by_handle): Declare. | |
995 | (path_conv::ndisk_links): Comment out declaration. | |
996 | ||
d955b6cf CV |
997 | 2010-06-14 Corinna Vinschen <corinna@vinschen.de> |
998 | ||
999 | * path.cc (path_conv::check): Return with ENOTDIR if component is a | |
1000 | device. | |
1001 | ||
aec297d5 CV |
1002 | 2010-06-14 Corinna Vinschen <corinna@vinschen.de> |
1003 | ||
1004 | * dlfcn.cc (get_full_path_of_dll): Revert patch from 2010-04-29. | |
1005 | ||
75172e03 CF |
1006 | 2010-06-12 Christopher Faylor <me+cygwin@cgf.cx> |
1007 | ||
1008 | * times.cc (gtod): Move to sharable region. | |
1009 | ||
03c991fe CV |
1010 | 2010-06-09 Corinna Vinschen <corinna@vinschen.de> |
1011 | ||
1012 | * path.cc (symlink_info::check_shortcut): Use ro_u_empty rather than | |
1013 | local UNICODE_STRING object. | |
1014 | (symlink_info::check_sysfile): Ditto. Return immediately if NtOpenFile | |
1015 | failed to avoid closing random handle. Improve debug output in case | |
1016 | NtReadFile failed. | |
1017 | ||
b7d3e6d7 CV |
1018 | 2010-06-08 Corinna Vinschen <corinna@vinschen.de> |
1019 | ||
1020 | * path.cc (symlink_info::check): Set h to NULL after closing handle | |
1021 | in udf check. Remove overagressive bracketing. Don't set h to NULL | |
1022 | without closing the handle. Fix using wrong handle in checking | |
1023 | file system when using parent directory handle. | |
1024 | ||
814e854e CV |
1025 | 2010-06-07 Corinna Vinschen <corinna@vinschen.de> |
1026 | ||
1027 | * include/sys/stdio.h: Remove _GNU_SOURCE guard around getline | |
1028 | and getdelim prototypes since they are SUSv4 now. | |
1029 | ||
fad9568b CV |
1030 | 2010-06-02 Corinna Vinschen <corinna@vinschen.de> |
1031 | ||
1032 | * ntdll.h (STATUS_BAD_NETWORK_PATH): Define. | |
1033 | (STATUS_BAD_NETWORK_NAME): Define. | |
1034 | * path.cc (symlink_info::check): Convert STATUS_BAD_NETWORK_PATH and | |
1035 | STATUS_BAD_NETWORK_NAME into an immediate ENOENT. | |
1036 | ||
ded1f66c CV |
1037 | 2010-06-01 Corinna Vinschen <corinna@vinschen.de> |
1038 | ||
1039 | * exceptions.cc (open_stackdumpfile): Correctly append .stackdump | |
1040 | suffix. | |
1041 | ||
1042 | * nlsfuncs.cc (rebase_locale_buf): Reorder arguments. Accommodate | |
1043 | throughout. Add pointer to end of buffer and avoid changing pointers | |
1044 | not pointing into the buffer. | |
1045 | ||
80a10a39 CV |
1046 | 2010-06-01 Corinna Vinschen <corinna@vinschen.de> |
1047 | ||
1048 | * fhandler_netdrive.cc (fhandler_netdrive::exists): Always free WNet | |
1049 | resource if created. | |
1050 | ||
685e55e2 CV |
1051 | 2010-05-31 Corinna Vinschen <corinna@vinschen.de> |
1052 | ||
1053 | * cygheap.cc (cygheap_user::set_name): Allow to change the user name | |
1054 | if it only differs by case. | |
1055 | ||
88addc64 CV |
1056 | 2010-05-26 Corinna Vinschen <corinna@vinschen.de> |
1057 | ||
1058 | * fhandler_registry.cc (multi_wcstombs): New function. | |
1059 | (fhandler_registry::fstat): Call multi_wcstombs for strings of type | |
1060 | REG_MULTI_SZ. | |
1061 | (fhandler_registry::fill_filebuf): Ditto. | |
1062 | ||
fca8f35f CF |
1063 | 2010-05-26 Christopher Faylor <me+cygwin@cgf.cx> |
1064 | ||
1065 | * hires.h (hires_base::reset): New function. | |
1066 | (hires_us): Specify that hires_base is a public import. | |
1067 | (hires_ms): Ditto. | |
1068 | * times.cc (gtod): Move earlier in file. | |
1069 | (settimeofday): Reset gtod so that base will be subsequently | |
1070 | recalculated. | |
1071 | ||
1ee8d76c CV |
1072 | 2010-05-26 Corinna Vinschen <corinna@vinschen.de> |
1073 | ||
1074 | * path.cc (symlink_info::check): Don't try to handle remote reparse | |
1075 | points as symlinks. Explain why. | |
1076 | ||
16f52c14 CV |
1077 | 2010-05-26 Corinna Vinschen <corinna@vinschen.de> |
1078 | ||
1079 | * include/inttypes.h: Change PTR definitions to int to align with the | |
1080 | stdint.h type definitions of intptr_t/uintptr_t. | |
1081 | ||
403ab0c0 CV |
1082 | 2010-05-26 Corinna Vinschen <corinna@vinschen.de> |
1083 | ||
1084 | * fhandler.h (class fhandler_pty_master): Add master_thread member. | |
1085 | * fhandler_tty.cc (fhandler_pty_master::close): Properly detach from | |
1086 | master thread. | |
1087 | (fhandler_pty_master::setup): Store cygthread pointer of pty master | |
1088 | control thread in master_thread. Don't zap thread handle. | |
1089 | ||
a36728ea CV |
1090 | 2010-05-26 Kazuhiro Fujieda <fujieda@acm.org> |
1091 | Corinna Vinschen <corinna@vinschen.de> | |
1092 | ||
1093 | * nlsfuncs.cc (__set_lc_time_from_win): Use LOCALE_SMONTHNAME1 | |
1094 | instead of LOCALE_SABBREVMONTHNAME1 in Japanese and Korean | |
1095 | locales to get abbreviated month names. Explain why. | |
1096 | ||
1097 | 2010-05-18 Kazuhiro Fujieda <fujieda@acm.org> | |
d3258e06 CF |
1098 | |
1099 | * environ.cc (regopt): Change the first argument to wide char string. | |
1100 | (environ_init): Accommodate change to the first argument of regopt. | |
1101 | * exception.cc (open_stackdumpfile): Accommodate change to the type of | |
1102 | progname in _pinfo. | |
1103 | * external.cc (fillout_pinfo): Ditto. | |
1104 | * fhandler_process.cc (format_process_winexename): Ditto. | |
1105 | (format_process_stat): Ditto. | |
1106 | * fork.cc (fork::parent): Ditto. | |
1107 | * pinfo.cc (pinfo_basic::pinfo_basic): Call GetModuleFileNameW instead | |
1108 | of GetModuleFileName. | |
1109 | (pinfo::thisproc): Accommodate change to the type of progname in | |
1110 | _pinfo. | |
1111 | (pinfo_init): Ditto. | |
1112 | * pinfo.h (_pinfo): Change the type of progname to a wide char array. | |
1113 | * registry.h (reg_key::get_int): Change the first argument from | |
1114 | constant point to pointer to constant. | |
1115 | (reg_key::get_string): Ditto. Change the last argument likewise. | |
1116 | * registry.cc (reg_key::get_int): Accommodate change to the | |
1117 | declaration. | |
1118 | (reg_key::get_string): Ditto. | |
1119 | * strace.cc (strace::hello): Accommodate change to the type of progname | |
1120 | in _pinfo. | |
1121 | (strace::vsprntf): Ditto. | |
1122 | ||
27f564e9 CF |
1123 | 2010-05-07 Christopher Faylor <me+cygwin@cgf.cx> |
1124 | ||
1125 | * Makefile.in (DLL_OFILES): Add pseudo-reloc.o. | |
1126 | * dcrt0.cc (child_info_fork::handle_fork): Call | |
1127 | _pei386_runtime_relocator here. | |
1128 | (dll_crt0_1): Ditto for non-fork case. | |
1129 | * dll_init.cc (dll::init): Complain more in comment. Clean up | |
1130 | slightly. | |
1131 | (dll_dllcrt0_1): Call _pei386_runtime_relocator when we know we have | |
1132 | a filled-in per_process structure. | |
1133 | * globals.cc (__cygwin_user_data): Accommodate new fields for | |
1134 | _pei386_runtime_relocator. | |
1135 | * pseudo-reloc.cc: New file adapted from old lib/pseudo-reloc.c. | |
1136 | Include winsup.h directly. Collapse #ifdef __CYGWIN__ into one block. | |
1137 | Perform minor whitespace code reformatting. | |
1138 | (__report_error): Use small_printf to output error. | |
1139 | (_pei386_runtime_relocator): Conditionalize for cygwin to take | |
1140 | per_process pointer parameter. | |
1141 | * winsup.h (_pei386_runtime_relocator): Declare. | |
1142 | * include/cygwin/version.h | |
1143 | (CYGWIN_VERSION_PER_PROCESS_API_VERSION_COMBINED): New macro. | |
1144 | (CYGWIN_VERSION_USER_API_VERSION_COMBINED): Use above macro. | |
1145 | (CYGWIN_VERSION_USE_PSEUDO_RELOC_IN_DLL): New macro. | |
1146 | (CYGWIN_VERSION_API_MINOR): Bump to 227. | |
1147 | * include/sys/cygwin.h: Remove obsolete comment. | |
1148 | (per_process::unused2): Shorten. | |
1149 | (per_process::pseudo_reloc_start): New field. | |
1150 | (per_process::pseudo_reloc_end): Ditto. | |
1151 | (per_process::image_base): Ditto. | |
1152 | * lib/_cygwin_crt0_common.cc: Declare pseudo runtime externs needed for | |
1153 | per_process structure. | |
1154 | (_cygwin_crt0_common): Fill in pseudo_reloc runtime constants. | |
1155 | * lib/pseudo-reloc-dummy.c: New file. Dummy function to satisify ld. | |
1156 | * lib/pseudo-reloc.c: Delete. | |
1157 | ||
186bcf2a CV |
1158 | 2010-05-07 Corinna Vinschen <corinna@vinschen.de> |
1159 | ||
1160 | * fhandler_tty.cc (fhandler_tty_slave::init): Disable grabbing | |
1161 | process group ownership of tty in case we're being debugged. | |
1162 | ||
35c0485d CV |
1163 | 2010-05-06 Corinna Vinschen <corinna@vinschen.de> |
1164 | ||
1165 | * path.cc (path_conv::check): Drop setting sym.pflags before calling | |
1166 | mount_info::conv_to_win32_path since the flag value is overwritten by | |
1167 | mount_info::conv_to_win32_path anyway. | |
1168 | Set flags for DOS paths before calling symlink_info::check so they can | |
1169 | be used in that function already. | |
1170 | ||
73bcd49b CF |
1171 | 2010-05-03 Christopher Faylor <me+cygwin@cgf.cx> |
1172 | ||
1173 | * dll_init.cc (dll_list::alloc): Add debugging assertion. | |
1174 | ||
2b749986 CV |
1175 | 2010-04-29 Corinna Vinschen <corinna@vinschen.de> |
1176 | ||
1177 | * dlfcn.cc (get_full_path_of_dll): Handle non-existent file. | |
1178 | ||
5b4c992b CV |
1179 | 2010-04-29 Corinna Vinschen <corinna@vinschen.de> |
1180 | ||
1181 | * mount.cc (struct opt): Add "dos" and "ihash" options. | |
1182 | (fillout_mntent): Ditto. | |
1183 | * path.cc (path_conv::get_nt_native_path): Use path_conv's | |
1184 | has_dos_filenames_only method. | |
1185 | (path_conv::check): Add PATH_IHASH flag if FS has unreliable inode | |
1186 | numbers. | |
1187 | (symlink_info::check_shortcut): Or symlink flags to pflags. | |
1188 | (symlink_info::check_sysfile): Ditto. Change test accordingly. | |
1189 | (symlink_info::check_reparse_point): Ditto. | |
1190 | (symlink_info::check_nfs_symlink): Ditto. | |
1191 | (symlink_info::check): Check PATH_DOS flag in call to get_nt_native_path | |
1192 | to utilize mount flag. Ditto in test for potential restarting. Set | |
1193 | PATH_DOS if FS only allows DOS filename rules. | |
1194 | * path.h (enum path_types): Add PATH_DOS and PATH_IHASH. | |
1195 | (path_conv::hasgood_inode): Check PATH_IHASH instead of | |
1196 | fs.hasgood_inode. | |
1197 | (path_conv::has_dos_filenames_only): New method. | |
1198 | * include/sys/mount.h (MOUNT_DOS): New mount flag. | |
1199 | (MOUNT_IHASH): Ditto. | |
1200 | ||
a11a0723 CV |
1201 | 2010-04-29 Corinna Vinschen <corinna@vinschen.de> |
1202 | ||
1203 | * external.cc (cygwin_internal): Add CW_CVT_MNT_OPTS to allow mount | |
1204 | flag parsing. Add CW_LST_MNT_OPTS case to allow mount flag listing. | |
1205 | * mount.cc (fstab_read_flags): Rename from read_flags. Make externally | |
1206 | available. Change input string to char ** to allow returning faulty | |
1207 | option. Add flag for avoiding debug output. | |
1208 | (fstab_list_flags): New function to create list of options. | |
1209 | * include/sys/cygwin.h (cygwin_getinfo_types): Add CW_CVT_MNT_OPTS and | |
1210 | CW_LST_MNT_OPTS. | |
1211 | ||
f00bc469 CV |
1212 | 2010-04-28 Corinna Vinschen <corinna@vinschen.de> |
1213 | ||
1214 | * mount.cc (compare_flags): New function. | |
1215 | (read_flags): Replace loop with bsearch. Simplify error check. | |
1216 | ||
8f47a15c CV |
1217 | 2010-04-28 Corinna Vinschen <corinna@vinschen.de> |
1218 | ||
1219 | * include/cygwin/version.h: Bump API minor version. | |
1220 | ||
be764ea8 CV |
1221 | 2010-04-28 Corinna Vinschen <corinna@vinschen.de> |
1222 | ||
1223 | * cygwin.din (__locale_mb_cur_max): Export. | |
1224 | * nlsfuncs.cc (__getlocaleinfo): Drop conversion to multibyte. | |
1225 | (__charfromwchar): New function to convert to multibyte. | |
1226 | (__eval_datetimefmt): Convert to return wchar_t pointer. Work on | |
1227 | wide char string. | |
1228 | (__set_lc_time_from_win): Take additional pointer to "C" category info | |
1229 | to accommodate C.foo locales. Rework to fill wide char members in | |
1230 | category info. | |
1231 | (__set_lc_ctype_from_win): New function. | |
1232 | (__set_lc_numeric_from_win): Take additional pointer to "C" category | |
1233 | info to accommodate C.foo locales. Rework to fill wide char members | |
1234 | in category info. | |
1235 | (__set_lc_monetary_from_win): Ditto. | |
1236 | (__set_lc_messages_from_win): Ditto. | |
1237 | (__get_current_collate_codeset): New function, called from nl_langinfo. | |
1238 | * include/cygwin/config.h (__HAVE_LOCALE_INFO_EXTENDED__): Define. | |
1239 | ||
9b53b52a CF |
1240 | 2010-04-27 Christopher Faylor <me+cygwin@cgf.cx> |
1241 | ||
1242 | * spawn.cc (find_exec): Use the first detected errno when lookup fails. | |
1243 | ||
0f6697b3 CV |
1244 | 2010-04-27 Corinna Vinschen <corinna@vinschen.de> |
1245 | ||
1246 | * include/regex.h: Include _ansi.h to avoid missing out on preprocessor | |
1247 | macros in sys/_types.h. | |
1248 | ||
002a34fa CV |
1249 | 2010-04-26 Corinna Vinschen <corinna@vinschen.de> |
1250 | ||
1251 | * mount.h (fs_info::inited): New inline method. | |
1252 | * path.cc (path_conv::check): Clear filesystem info if following a | |
1253 | symlink. Use new fs_info::inited method to check if FS info is already | |
1254 | available. | |
1255 | (symlink_info::check): Drop fs_update_called. Use fs_info::inited | |
1256 | method instead. Streamline test for leading space and trailing dot or | |
1257 | space. Add comments. | |
1258 | ||
8802178f CV |
1259 | 2010-04-23 Corinna Vinschen <corinna@vinschen.de> |
1260 | ||
1261 | * path.h (get_nt_native_path): Add third parameter to declaration and | |
1262 | declare with regparms. | |
1263 | * path.cc (get_nt_native_path): Add third parameter to allow conversion | |
1264 | of leading and trailing dots and spaces on filesystems only supporting | |
1265 | filenames following DOS rules. | |
1266 | (path_conv::get_nt_native_path): Call get_nt_native_path according to | |
1267 | fs.has_dos_filenames_only flag. | |
1268 | (getfileattr): Accommodate new parameter to get_nt_native_path. | |
1269 | (symlink_info::check): Revamp fs_update_called handling to call | |
1270 | fs.update only once per call. Call get_nt_native_path according to | |
1271 | fs.has_dos_filenames_only flag. Streamline filesystem dependent code | |
1272 | not to be called more than once unnecessarily. Drop code tweaking | |
1273 | incoming path for broken filesystems only allowing DOS pathnames. | |
1274 | Rely on changed get_nt_native_path instead. | |
1275 | * mount.cc (fillout_mntent): Accommodate new parameter to | |
1276 | get_nt_native_path. | |
1277 | * strfuncs.cc (tfx_rev_chars): New conversion table with comment. | |
1278 | (sys_cp_wcstombs): Use tfx_rev_chars rather than tfx_chars. | |
1279 | ||
b12d6d10 CV |
1280 | 2010-04-22 Corinna Vinschen <corinna@vinschen.de> |
1281 | ||
1282 | * path.cc (symlink_info::check): Make sure to restart only once. | |
1283 | ||
6ff06a07 CV |
1284 | 2010-04-22 Corinna Vinschen <corinna@vinschen.de> |
1285 | ||
1286 | * mount.cc (GETVOLINFO_VALID_MASK): Drop FILE_SEQUENTIAL_WRITE_ONCE | |
1287 | from mask. Expand the comment a bit. | |
1288 | (WIN_FAT_FLAGS): New define. | |
1289 | (FS_IS_WINDOWS_FAT): New macro. | |
1290 | (fs_info::update): Handle remote FS faking to be FAT. Subsume under | |
1291 | CIFS. Check for NWFS and has_buggy_basic_info only for remote | |
1292 | filesystems. Add check for has_dos_filenames_only. | |
1293 | * mount.h (class fs_info): Add has_dos_filenames_only status flag. | |
1294 | Implement accessors. | |
1295 | * path.cc (symlink_info::check): Rearrange variable definitions to | |
1296 | clear them up. Add a restart label to allow a clean restart within | |
1297 | the method. Add a check for broken filesystems only allowing DOS | |
1298 | pathnames in case we encounter a STATUS_OBJECT_NAME_NOT_FOUND status. | |
1299 | If all checks point to one of that, restart method with tweaked | |
1300 | incoming path. Add lengthy comments to explain what we do. | |
1301 | ||
c43e1944 CV |
1302 | 2010-04-22 Corinna Vinschen <corinna@vinschen.de> |
1303 | ||
1304 | * path.cc (symlink_info::check): Fix a comment. | |
1305 | ||
05c98e07 CV |
1306 | 2010-04-21 Corinna Vinschen <corinna@vinschen.de> |
1307 | Christopher Faylor <me+cygwin@cgf.cx> | |
1308 | ||
1309 | * fhandler_termios.cc (tcinit): Remove previously applied change. | |
1310 | Replace with... | |
1311 | * fhandler_tty.cc (fhandler_tty_slave::init): Become process group | |
1312 | leader if called from dtable::init_std_file_from_handle. Add comment | |
1313 | to explain. | |
1314 | ||
179bee57 CV |
1315 | 2010-04-21 Corinna Vinschen <corinna@vinschen.de> |
1316 | ||
1317 | * dtable.cc (dtable::init_std_file_from_handle): Set access mask for | |
1318 | the slave side of ttys explicitely. Explain why. | |
1319 | ||
27f1db48 CF |
1320 | 2010-04-20 Christopher Faylor <me+cygwin@cgf.cx> |
1321 | ||
1322 | * path.cc (cygwin_create_path): Free memory on error. | |
1323 | ||
9e40fe81 CV |
1324 | 2010-04-20 Corinna Vinschen <corinna@vinschen.de> |
1325 | ||
1326 | * cygheap.h (struct init_cygheap): Add rlim_core member. | |
1327 | * cygheap.cc (cygheap_init): Initialize rlim_core to RLIM_INFINITY. | |
1328 | * exceptions.cc (stackdump): Drop extern declaration of rlim_core. | |
1329 | Refer to cygheap->rlim_core instead. | |
1330 | (exception::handle): Disable stackdumping if cygheap->rlim_core is 0. | |
1331 | Don't set WCOREDUMP flag in exit code, if cygheap->rlim_core is 0. | |
1332 | (sigpacket::process): Ditto. | |
1333 | * resource.cc (rlim_core): Remove. | |
1334 | (getrlimit): Fetch RLIMIT_CORE value from cygheap->rlim_core. | |
1335 | (setrlimit): Store RLIMIT_CORE value in cygheap->rlim_core. | |
1336 | ||
2ac91a14 CF |
1337 | 2010-04-19 Christopher Faylor <me+cygwin@cgf.cx> |
1338 | ||
1339 | * cygerrno.h: Nevermind. | |
1340 | ||
e1b57fc2 CF |
1341 | 2010-04-19 Christopher Faylor <me+cygwin@cgf.cx> |
1342 | ||
1343 | * cygerrno.h: Protect use of NTSTATUS for only when we need it. | |
1344 | ||
1345 | 2010-04-19 Christopher Faylor <me+cygwin@cgf.cx> | |
1346 | ||
1347 | * lib/_cygwin_crt0_common.cc: Remove unneeded declarations. | |
1348 | ||
b7b55e90 CV |
1349 | 2010-04-19 Corinna Vinschen <corinna@vinschen.de> |
1350 | ||
1351 | * fhandler_tty.cc (fhandler_tty_slave::fch_set_sd): Remove commented out | |
1352 | code. | |
1353 | ||
cc01c77f CV |
1354 | 2010-04-19 Corinna Vinschen <corinna@vinschen.de> |
1355 | ||
1356 | * autoload.cc (GetNamedPipeClientProcessId): Define. | |
1357 | * fhandler.h (fhandler_tty_slave::fch_open_handles): Declare private. | |
1358 | (fhandler_tty_slave::fch_close_handles): Ditto. | |
1359 | (fhandler_tty_slave::cygserver_attach_tty): Drop declaration. | |
1360 | (fhandler_tty_slave::fstat): Declare public. | |
1361 | (fhandler_tty_slave::fchmod): Declare public. | |
1362 | (fhandler_tty_slave::fchown): Declare public. | |
1363 | (class fhandler_pty_master): Add master_ctl handle. | |
1364 | (fhandler_pty_master::pty_master_thread): Declare public. | |
1365 | * fhandler_termios.cc (fhandler_termios::tcinit): If the process | |
1366 | is started from a non-Cygwin process, make it tty process group | |
1367 | leader. | |
1368 | * fhandler_tty.cc: Throughout accommodate additional security related | |
1369 | arguments in calls to functions creating or opening objects. | |
1370 | (close_maybe): Move to start of file to reuse it | |
1371 | in other methods. | |
1372 | (struct pipe_request): Define. | |
1373 | (struct pipe_reply): Define. | |
1374 | (fhandler_tty_slave::open): Throughout, try to open synchronization | |
1375 | objects with MAXIMUM_ALLOWED permissions. Drop call to cygserver. | |
1376 | Try to duplicate pipe handles via master_ctl pipe if duplicating | |
1377 | directly doesn't work. | |
1378 | (fhandler_tty_slave::cygserver_attach_tty): Remove. | |
1379 | (fhandler_tty_slave::init): Close unused incoming pipe handle. | |
1380 | (fhandler_pty_master::close): Send exit message to master control | |
1381 | thread and close master_ctl handle. | |
1382 | (fhandler_pty_master::pty_master_thread): New method, implementing the | |
1383 | master control thread. | |
1384 | (pty_master_thread): Static helper to start master control thread. | |
1385 | (fhandler_pty_master::setup): Simplify creating pipe inheritance. | |
1386 | Make sure we're the one creating the input_available_event. Add | |
1387 | comment to explain why. Create master_ctl pipe and start master | |
1388 | control thread. Close master_ctl handle in case of error. | |
1389 | * security.cc (alloc_sd): Add code to handle tty objects. Add comments | |
1390 | to explain what exactly is required. | |
1391 | (get_object_sd): New function. | |
1392 | (get_object_attribute): New function. | |
1393 | (create_object_sd_from_attribute): New function. | |
1394 | (set_object_sd): New function. | |
1395 | (set_object_attribute): New function. | |
1396 | (set_file_attribute): Change attribute type to mode_t. | |
1397 | * security.h (set_file_attribute): Change attribute type to mode_t. | |
1398 | (get_object_sd): Declare. | |
1399 | (get_object_attribute): Declare. | |
1400 | (create_object_sd_from_attribute): Declare. | |
1401 | (set_object_sd): Declare. | |
1402 | (set_object_attribute): Declare. | |
1403 | * tty.cc (tty::slave_alive): Implement directly instead of via alive. | |
1404 | (tty::exists): Open mutex handle with READ_CONTROL access. | |
1405 | (tty::alive): Remove. | |
1406 | (tty::open_output_mutex): Convert to inline method. | |
1407 | (tty::open_input_mutex): Ditto. | |
1408 | (tty::open_mutex): Take additional ACCESS_MASK parameter for the | |
1409 | mutex open access mask. | |
1410 | (tty::open_inuse): New method. | |
1411 | (tty::create_inuse): Take PSECURITY_ATTRIBUTES parameter. Drop fmt | |
1412 | name parameter. Always create TTY_SLAVE_ALIVE event. | |
1413 | (tty::get_event): Take additional PSECURITY_ATTRIBUTES parameter for | |
1414 | CreateEvent. | |
1415 | * tty.h (class tty): Change declarations according to aforementioned | |
1416 | changes. | |
1417 | (tty::open_output_mutex): Implement as inline method. | |
1418 | (tty::open_input_mutex): Ditto. | |
1419 | ||
02a33ea7 CV |
1420 | 2010-04-19 Corinna Vinschen <corinna@vinschen.de> |
1421 | ||
1422 | * dtable.cc (dtable::init_std_file_from_handle): Set dev to | |
1423 | valid content for ptys. Remove setting FILE_CREATE_PIPE_INSTANCE | |
1424 | in access flags since it's not needed. Set the access mask for | |
1425 | kernel objects according to what's returned by NtQueryInformationFile, | |
1426 | info class FileAccessInformation. | |
1427 | ||
bc8a5a9f CV |
1428 | 2010-04-19 Corinna Vinschen <corinna@vinschen.de> |
1429 | ||
1430 | * syscalls.cc (rename): On STATUS_ACCESS_VIOLATION, retry to open | |
1431 | for DELETE until the STATUS_ACCESS_VIOLATION goes away. Add comment | |
1432 | to explain why. | |
1433 | ||
b5efa899 CV |
1434 | 2010-04-17 Corinna Vinschen <corinna@vinschen.de> |
1435 | ||
1436 | * sec_helper.cc (get_null_sd): Make static. Use PSECURITY_DESCRIPTOR | |
1437 | instead of SECURITY_DESCRIPTOR *. | |
1438 | (sec_acl): Fix fomratting. | |
1439 | * security.h (get_null_sd): Drop declaration. | |
1440 | ||
7cdcd90c CV |
1441 | 2010-04-16 Corinna Vinschen <corinna@vinschen.de> |
1442 | ||
1443 | * cygerrno.h (seterrno_from_nt_status): Declare. | |
1444 | (__seterrno_from_nt_status): Call seterrno_from_nt_status. | |
1445 | * errno.cc (seterrno_from_win_error): Set errno without calling | |
1446 | set_errno to avoid packing strace output with errno messages. | |
1447 | (seterrno_from_nt_status): New function to print NT status as well as | |
1448 | resulting Windows error. | |
1449 | ||
6b0f100a CV |
1450 | 2010-04-15 Corinna Vinschen <corinna@vinschen.de> |
1451 | ||
1452 | * kernel32.cc (CreateEventW): Create event object with EVENT_ALL_ACCESS | |
1453 | access mask. | |
1454 | (CreateMutexW): Create mutex object with MUTEX_ALL_ACCESS access mask. | |
1455 | (CreateSemaphoreW): Create semaphore object with SEMAPHORE_ALL_ACCESS | |
1456 | access mask. | |
1457 | ||
b873ce06 CV |
1458 | 2010-04-15 Corinna Vinschen <corinna@vinschen.de> |
1459 | ||
1460 | * sec_helper.cc (set_cygwin_privileges): Enable SE_DEBUG_PRIVILEGE, if | |
1461 | available. Add comments. | |
1462 | ||
0ef4bb7c CV |
1463 | 2010-04-13 Corinna Vinschen <corinna@vinschen.de> |
1464 | ||
1465 | * fhandler_socket.cc (get_inet_addr): Only test the file for being a | |
1466 | socket after opening it. Retry if opening failed with sharing | |
1467 | violation. Explain why we do this. | |
1468 | (fhandler_socket::bind): Create file with no sharing allowed. | |
1469 | ||
2bba259e CV |
1470 | 2010-04-13 John Bowman <bowman@math.ualberta.ca> |
1471 | ||
1472 | * cygheap.cc (cwcsdup): Fix allocation size to accommodate sizeof WCHAR. | |
1473 | (cwcsdup1): Ditto. | |
1474 | ||
098f9c6e CV |
1475 | 2010-04-12 Corinna Vinschen <corinna@vinschen.de> |
1476 | ||
1477 | * include/cygwin/version.h: Bump DLL minor version number to 5. | |
1478 | ||
6b1c332f CV |
1479 | 2010-04-12 Corinna Vinschen <corinna@vinschen.de> |
1480 | ||
1481 | * posix.sgml (std-notes): Improve lseek description. | |
1482 | ||
42e9cefd CV |
1483 | 2010-04-12 Corinna Vinschen <corinna@vinschen.de> |
1484 | ||
1485 | * fhandler_tty.cc (fhandler_tty_slave::open): Add code to duplicate | |
1486 | handles within a single process to simplify openpty case. | |
1487 | (fhandler_tty_slave::cygserver_attach_tty): Correctly send Windows PID | |
1488 | to cygserver, rather than the Cygwin PID. | |
1489 | ||
02507092 CV |
1490 | 2010-04-11 Corinna Vinschen <corinna@vinschen.de> |
1491 | ||
1492 | * fhandler.h (class dev_console): Add backspace_keycode member. | |
1493 | * fhandler_console.cc (fhandler_console::get_tty_stuff): Initialize | |
1494 | backspace_keycode with CERASE. | |
1495 | (fhandler_console::read): Return dev_state->backspace_keycode if the | |
1496 | backspace key is pressed. | |
1497 | (fhandler_console::char_command): Implement DECBKM escape sequence. | |
1498 | ||
1d6adee8 CF |
1499 | 2010-04-10 Christopher Faylor <me+cygwin@cgf.cx> |
1500 | ||
1501 | * fhandler_console.cc (fhandler_console::read): Default to sending | |
1502 | CERASE character if termios VERASE field is zero. | |
1503 | (fhandler_console::fixup_after_fork_exec): Avoid a spurious debug | |
1504 | message. | |
1505 | ||
89a903b8 CF |
1506 | 2010-04-10 Christopher Faylor <me+cygwin@cgf.cx> |
1507 | ||
1508 | * mkvers.sh: Use modern date formats to construct the date. | |
1509 | ||
1691abe7 CV |
1510 | 2010-04-09 Corinna Vinschen <corinna@vinschen.de> |
1511 | ||
1512 | * nlsfuncs.cc (__set_lc_time_from_win): Actually set | |
1513 | _time_locale->md_order to the D_MD_ORDER value written to the buffer. | |
1514 | ||
412f3e61 CF |
1515 | 2010-04-09 Christopher Faylor <me+cygwin@cgf.cx> |
1516 | ||
1517 | * path.cc (path_conv::set_normalized_path): Use crealloc_abort to avoid | |
1518 | a memory leak. | |
1519 | * path.h (path_conv::operator =): Just use cstrdup to allocate | |
1520 | normalized_path, avoiding attempt to free a pointer which is allocated | |
1521 | in another pc. | |
1522 | ||
f8fbd1ea CV |
1523 | 2010-04-07 Corinna Vinschen <corinna@vinschen.de> |
1524 | ||
1525 | * include/cygwin/version.h: Bump DLL minor version number to 4. | |
1526 | ||
385b0add CV |
1527 | 2010-04-06 Corinna Vinschen <corinna@vinschen.de> |
1528 | ||
1529 | * thread.cc (valid_sched_parameters): Declare extern here. | |
1530 | (sched_set_thread_priority): Ditto. | |
1531 | ||
249ccad3 CV |
1532 | 2010-04-06 Corinna Vinschen <corinna@vinschen.de> |
1533 | ||
1534 | * include/sched.h: Remove, overruled by newlib file. | |
1535 | * include/sys/sched.h: Ditto. | |
1536 | ||
35297ebe CF |
1537 | 2010-04-06 Christopher Faylor <me+cygwin@cgf.cx> |
1538 | ||
1539 | * fhandler_fifo.cc (fhandler_fifo::open): Accommodate previous return | |
1540 | value change to setup_overlapped. | |
1541 | ||
19085182 CF |
1542 | 2010-04-02 Christopher Faylor <me+cygwin@cgf.cx> |
1543 | ||
1544 | * fhandler.h (fhandler_base::has_ongoing_io): Declare virtual method. | |
1545 | * select.cc (peek_pipe): Reorganize slightly. Don't attempt to check a | |
1546 | handle if it has ongoing I/O. | |
1547 | (select_pipe_info::select_pipe_info): Delete definition. | |
1548 | (select_pipe_info::~select_pipe_info): Delete definition. | |
1549 | (thread_pipe): Get rid of WFMO call. Reorganize loop. | |
1550 | (pipe_cleanup): Remove dependence on destructor. | |
1551 | (thread_serial): Reorganize loop. | |
1552 | * select.h (select_pipe_info): Empty this class since it no longer has | |
1553 | any special requirements (for now). | |
1554 | ||
1555 | * syscalls.cc (readv): Remove an unneeded debug printf. | |
1556 | ||
5151c80c CF |
1557 | 2010-04-02 Christopher Faylor <me+cygwin@cgf.cx> |
1558 | ||
1559 | * fhandler.h (fhandler_base::setup_overlapped): Delete virtual | |
1560 | declaration. | |
1561 | (fhandler_base::destroy_overlapped): Ditto. | |
1562 | (fhandler_base_overlapped): Remove now-unneeded friend. | |
1563 | (fhandler_base_overlapped::setup_overlapped): Return int, remove | |
1564 | parameter. | |
1565 | (fhandler_base_overlapped::get_overlapped): Return reference. | |
1566 | (fhandler_base_overlapped::fhandler_base_overlapped): Be more assertive | |
1567 | about zeroing everything. | |
1568 | (fhandler_base_overlapped::fixup_after_fork): Declare new function. | |
1569 | (fhandler_base_overlapped::fixup_after_exec): Ditto. | |
1570 | (fhandler_base_overlapped::dup): Ditto. | |
1571 | (fhandler_base_overlapped::close): Ditto. | |
1572 | * fhandler_fifo.cc (fhandler_fifo::dup): Call | |
1573 | fhandler_base_overlapped::dup rather than fhandler_base::dup. | |
1574 | * pipe.cc (fhandler_pipe::dup): Ditto. | |
1575 | (fhandler_pipe::init): Accommodate change in setup_overlapped arguments | |
1576 | for "opened_properly" case. | |
1577 | ||
60efdd0c CF |
1578 | 2010-04-02 Christopher Faylor <me+cygwin@cgf.cx> |
1579 | ||
1580 | * fhandler_fifo.cc (fhandler_fifo::fhandler_fifo): Properly initialize | |
1581 | overlapped part of this class. | |
1582 | ||
7c972c63 CV |
1583 | 2010-04-02 Corinna Vinschen <corinna@vinschen.de> |
1584 | ||
1585 | * fhandler_tty.cc (fhandler_tty_slave::close): Revert previous change. | |
1586 | ||
dffe690c CF |
1587 | 2010-04-02 Christopher Faylor <me+cygwin@cgf.cx> |
1588 | ||
1589 | * select.h (select_pipe_info::add_watch_handle): Delete declaration. | |
baa671ea | 1590 | * select.cc (select_pipe_info::add_watch_handle): Delete definition. |
dffe690c CF |
1591 | (fhandler_pipe::select_read): Delete call to add_watch_handle. |
1592 | (fhandler_pipe::select_write): Ditto. | |
1593 | (fhandler_pipe::select_except): Ditto. | |
1594 | ||
1ae0a7c5 CF |
1595 | 2010-04-02 Christopher Faylor <me+cygwin@cgf.cx> |
1596 | ||
1597 | * dtable.cc (dtable::init_std_file_from_handle): Avoid adding fh to | |
1598 | fdtab until we know that it is good. | |
1599 | * fhandler_tty.cc (fhandler_tty_slave::fhandler_tty_slave): Handle | |
1600 | error conditions more consistently. Avoid handle leakage on error. | |
1601 | ||
ed32dd89 CV |
1602 | 2010-04-02 Corinna Vinschen <corinna@vinschen.de> |
1603 | ||
1604 | * fhandler_tty.cc (fhandler_tty_slave::close): Avoid potential crash | |
1605 | if former open call has been unsuccessful. | |
1606 | ||
ce3124dc CV |
1607 | 2010-04-01 Corinna Vinschen <corinna@vinschen.de> |
1608 | ||
1609 | * nlsfuncs.cc: Fix indentation. | |
1610 | ||
57f7ebe1 CV |
1611 | 2010-04-01 Corinna Vinschen <corinna@vinschen.de> |
1612 | ||
1613 | * nlsfuncs.cc (rebase_locale_buf): New helper function to rebase | |
1614 | function pointers in locale structures. Explain why this is necessary. | |
1615 | (__set_lc_time_from_win): Use rebase_locale_buf after realloc. | |
1616 | (__set_lc_numeric_from_win): Ditto. | |
1617 | (__set_lc_monetary_from_win): Ditto. | |
1618 | ||
bc3f0d64 CF |
1619 | 2010-03-31 Christopher Faylor <me+cygwin@cgf.cx> |
1620 | ||
1621 | * sigproc.cc (wait_sig): Make sure that strace is activated on | |
1622 | __SIGSTRACE by calling new strace::activate function. | |
1623 | * strace.cc (strace::activate): Rename from strace::strace. | |
1624 | * strace.h (strace::activate): Define new function. | |
1625 | (strace::strace): Call activate. | |
1626 | ||
e446d6d0 CF |
1627 | 2010-03-31 Christopher Faylor <me+cygwin@cgf.cx> |
1628 | ||
1629 | * fhandler.h (fhandler_base_overlapped): Temporarily (?) make | |
1630 | select_pipe_info a friend until the fhandler_tty intertangling can be | |
1631 | worked out. | |
1632 | * select.cc (select_pipe_info::add_watch_handle): Don't inspect the | |
1633 | overlapped event if we're not waiting for I/O. | |
1634 | (fhandler_tty_common::select_*): Change to standard function. Don't do | |
1635 | kludgy fhandler_pipe coercion. | |
1636 | ||
2aeef065 CF |
1637 | 2010-03-31 Christopher Faylor <me+cygwin@cgf.cx> |
1638 | ||
1639 | * fhandler.cc (fhandler_base::dup): Call setup_overlapped | |
1640 | unconditionally. | |
1641 | (fhandler_base::fork_fixup): Ditto. | |
1642 | (fhandler_base::fixup_after_fork): Ditto. | |
1643 | (fhandler_base::fixup_after_exec): Ditto. | |
1644 | (fhandler_base_overlapped::setup_overlapped): Move to this class from | |
1645 | fhandler_base. | |
1646 | (handler_base_overlapped::destroy_overlapped): Ditto. | |
1647 | (fhandler_base_overlapped::wait_overlapped): Ditto. Track when we | |
1648 | expect pending I/O. | |
1649 | (fhandler_base_overlapped::read_overlapped): Move to this class from | |
1650 | fhandler_base. Return error if ongoing I/O. | |
1651 | (fhandler_base_overlapped::write_overlapped): Ditto. | |
1652 | (fhandler_base_overlapped::has_ongoing_io): Semi-reinstate previous | |
1653 | function. | |
1654 | * fhandler.h (fhandler_base::wait_overlapped): Move to | |
1655 | fhandler_base_overlapped class. | |
1656 | (fhandler_base::write_overlapped): Ditto. | |
1657 | (fhandler_base::get_overlapped): Ditto. | |
1658 | (fhandler_base::get_overlapped_buffer): Ditto. | |
1659 | (fhandler_base_overlapped): New class. | |
1660 | (fhandler_pipe): Inherit from fhandler_base_overlapped. Remove | |
1661 | overlapped stuff as a result. | |
1662 | (fhandler_fifo): Ditto. | |
1663 | * pipe.cc (fhandler_pipe::fhandler_pipe): Initialize fhandler_base_overlapped. | |
1664 | (pipe): Put a descriptive name in the fhandler. | |
1665 | ||
d8b4cbe8 CV |
1666 | 2010-03-30 Corinna Vinschen <corinna@vinschen.de> |
1667 | ||
1668 | * fhandler_socket.cc (fhandler_socket::wait_for_events): Remove call to | |
1669 | sig_dispatch_pending. | |
1670 | ||
ca8eb333 CV |
1671 | 2010-03-30 Thomas Wolff <towo@towo.net> |
1672 | ||
b791ec4a CF |
1673 | * fhandler.h (class dev_console): Drop vt100_graphics_mode_active. Add |
1674 | flags vt100_graphics_mode_G0, vt100_graphics_mode_G1 and iso_2022_G1. | |
ca8eb333 CV |
1675 | * fhandler_console.cc: Throughout, tune VT100 graphics mode switching |
1676 | to follow ISO 2022 strictly. | |
b791ec4a CF |
1677 | (fhandler_console::write) Reset VT100 graphic mode flags on terminal |
1678 | full reset (ESC c). | |
ca8eb333 | 1679 | |
298cf05c CV |
1680 | 2010-03-30 Corinna Vinschen <corinna@vinschen.de> |
1681 | ||
1682 | * syscalls.cc (open): Remove call to sig_dispatch_pending. | |
1683 | ||
83dddecb CV |
1684 | 2010-03-30 Corinna Vinschen <corinna@vinschen.de> |
1685 | ||
1686 | * net.cc: Remove calls to sig_dispatch_pending throughout. | |
1687 | * libc/rexec.cc: Ditto. | |
1688 | ||
e23275a8 CV |
1689 | 2010-03-30 Corinna Vinschen <corinna@vinschen.de> |
1690 | ||
1691 | * mount.cc (fs_info::update): Allow variable FILE_SUPPORTS_SPARSE_FILES | |
1692 | flag in netapp flag test. Add comment. | |
1693 | ||
b3cbb06c CV |
1694 | 2010-03-29 Corinna Vinschen <corinna@vinschen.de> |
1695 | ||
1696 | * spawn.cc (find_exec): Enable finding paths in backslash notation, | |
1697 | especially for the exec[vl]p functions. | |
1698 | ||
1699 | * path.cc (symlink_info::check): Disable returning directories with | |
1700 | suffix appended here. | |
1701 | ||
ef7fc145 CV |
1702 | 2010-03-29 Corinna Vinschen <corinna@vinschen.de> |
1703 | ||
1704 | * include/cygwin/version.h: Bump DLL minor version number to 3. | |
1705 | ||
ce3d8993 CV |
1706 | 2010-03-29 Corinna Vinschen <corinna@vinschen.de> |
1707 | ||
1708 | * fhandler.cc (fhandler_base::fstat): Keep st_ctime and st_birthtime | |
1709 | fixed to 2006-12-01 00:00 UTC. | |
1710 | ||
f1c6730b CV |
1711 | 2010-03-29 Corinna Vinschen <corinna@vinschen.de> |
1712 | ||
1713 | * libc/rcmd.c: Enable IPv6. | |
1714 | ||
e2402ed8 CF |
1715 | 2010-03-28 Christopher Faylor <me+cygwin@cgf.cx> |
1716 | ||
7a2df116 | 1717 | * fhandler.cc (fhandler_base::fstat): Set st_mtime to current time. |
e2402ed8 | 1718 | |
c019a66c CF |
1719 | 2010-03-28 Christopher Faylor <me+cygwin@cgf.cx> |
1720 | ||
1721 | * globals.cc (exit_status): Add new ES_EXIT_STARTING enum. | |
1722 | * dcrt0.cc (cygwin_exit): Set exit_state to ES_EXIT_STARTING prior to | |
1723 | calling real exit. | |
1724 | * dll_init.cc (dll_list::detach): Remove dll from linked list and call | |
1725 | destructors even if exiting. Don't call __cxa_finalize in exiting case. | |
1726 | ||
68b0fa82 CV |
1727 | 2010-03-27 Corinna Vinschen <corinna@vinschen.de> |
1728 | ||
1729 | * nlsfuncs.cc (__set_charset_from_locale): Set default charset for | |
1730 | locales defaulting to codepage 936 to GB2312. | |
1731 | ||
65b4b495 CV |
1732 | 2010-03-22 Corinna Vinschen <corinna@vinschen.de> |
1733 | ||
1734 | * fhandler_socket.cc (fhandler_socket::evaluate_events): Make erase | |
1735 | const in parameter list. | |
1736 | (fhandler_socket::wait_for_events): Take a DWORD flags value instead of | |
1737 | just a bool. Call evaluate_events with erase flag according to | |
1738 | MSG_PEEK value in flags. Replace check for dontwait with check for | |
1739 | MSG_DONTWAIT in flags. | |
1740 | (fhandler_socket::connect): Call wait_for_events with 0 flags value. | |
1741 | (fhandler_socket::accept4): Ditto. | |
1742 | (fhandler_socket::recv_internal): Save flags in wait_flags. Drop | |
1743 | dontwait variable. Call wait_for_events with wait_flags. | |
1744 | (fhandler_socket::send_internal): Save MSG_DONTWAIT flag in wait_flags | |
1745 | and call wait_for_events with wait_flags as argument. Drop dontwait | |
1746 | variable. | |
1747 | * fhandler.h (class fhandler_socket): Change second parameter in | |
1748 | declaration of wait_for_events to const DWORD. | |
1749 | ||
0f6de51a CV |
1750 | 2010-03-19 Corinna Vinschen <corinna@vinschen.de> |
1751 | ||
1752 | * fhandler_disk_file.cc (fhandler_cygdrive::fstat): Add standard read | |
1753 | permissions again. | |
1754 | ||
60698cf3 CF |
1755 | 2010-03-18 Corinna Vinschen <corinna@vinschen.de> |
1756 | ||
1757 | * shared.cc (init_installation_root): Change to make sure that scope of | |
1758 | the lock lasts the entire function. | |
1759 | ||
cef5dfd7 CF |
1760 | 2010-03-15 Christopher Faylor <me+cygwin@cgf.cx> |
1761 | ||
1762 | * shared_info.h (user_info): Add dll_crt0_1 as a friend. | |
1763 | (user_info::version): Make LONG to accommodate spinlock use. | |
1764 | (user_info::create): New static function renamed from user_info_create. | |
1765 | (user_info::initialize): New private function renamed from | |
1766 | user_info_initialize. | |
1767 | (SHARED_VERSION): Delete. | |
1768 | (SHARED_VERSION_MAGIC): Ditto. | |
1769 | (USER_VERSION_MAGIC): Ditto. | |
1770 | (SHARED_INFO_CB): Ditto. | |
1771 | (USER_VERSION): Ditto. | |
1772 | (USER_VERSION_MAGIC): Ditto. | |
1773 | (CURR_SHARED_MAGIC): Update. | |
1774 | (CURR_USER_MAGIC): Ditto. | |
1775 | (shared_info::version): Make LONG to accommodate spinlock use. | |
1776 | (shared_info::create): New static function mirroring user_info::create. | |
1777 | (dll_crt0_1): Accommodate change to user_info::initialize. | |
1778 | * spinlock.h (spinlock::setto): New variable member. | |
1779 | (spinlock::done): New function. | |
1780 | (spinlock::spinlock): Generalize to allow arbitrary values and | |
1781 | timeouts. Call done() when lock is not needed. | |
1782 | * ntdll.h: Make multiple-inclusion safe. | |
1783 | (NtQuerySystemTime): Declare. | |
1784 | * shared.cc (installation_root_inited): Rename from shared_mem_inited. | |
1785 | (init_installation_root): Make inline. Use a spinlock to ensure that | |
1786 | this is initialized only once per session. | |
1787 | (user_info::initialize): Rename from user_shared_initialize. Protect | |
1788 | with spinlock on sversion and remove other spinlock-like things. | |
1789 | Remove reference to user_shared since it is now implicit. Refer to | |
1790 | spinlock version of multiple_cygwin_problem to ensure that any spinlock | |
1791 | is released. | |
1792 | (user_info::create): Rename from user_shared_create. Accommodate | |
1793 | change from user_shared_initialize to user_info::initialize. | |
1794 | (shared_info::create): New inline function. | |
1795 | (shared_info::initialize): Protect with spinlock on sversion. Move | |
1796 | heap_init back under specific control of shared_info spinlock. Remove | |
1797 | reference to SHARED_INFO_CB and just use sizeof(*this). | |
1798 | (memory_init): Move all locking into respective functions where it is | |
1799 | needed. Accommodate name changes. Remove call to heap_init(). | |
1800 | * syscalls.cc (seteuid32): Accommodate name change to | |
1801 | user_info::create(). | |
1802 | ||
1803 | * mount.cc (mount_info::create_root_entry): Report on errors from | |
1804 | add_item since they should be nonexistent. | |
1805 | (mount_info::init): Don't initialize nmounts. It should already be | |
1806 | zero. Give more verbose error when root_idx < 0. Implicitly use this | |
1807 | pointer rather than explicitly referencing mount_table->. | |
1808 | (mount_info::add_item): Minor whitespace fix. | |
1809 | ||
654e623c CF |
1810 | 2010-03-15 Christopher Faylor <me+cygwin@cgf.cx> |
1811 | ||
1812 | * sigproc.cc (no_signals_available): Get sense of the test right for | |
1813 | previous botched change. | |
1814 | ||
d1ef5f33 CF |
1815 | 2010-03-15 Christopher Faylor <me+cygwin@cgf.cx> |
1816 | ||
1817 | * sigproc.cc (no_signals_available): Don't try to send a signal if | |
1818 | still in cygwin startup code. | |
1819 | ||
f8af64be CF |
1820 | 2010-03-13 Christopher Faylor <me+cygwin@cgf.cx> |
1821 | ||
1822 | * spinlock.h: New file. | |
1823 | (spinlock): New class. | |
1824 | * shared.cc: Include spinlock.h. | |
1825 | (memory_init): Use new spinlock methods rather than roll-your-own. | |
1826 | Time out after ten seconds if shared_mem_inited is not initialized. | |
1827 | ||
1828 | * sync.h: Update copyright. Remove vanity attribution. | |
1829 | ||
1830 | * sigproc.cc (sigproc_terminate): Avoid attempts to kill the signal | |
1831 | thread while we're still initializing or suffer a deadlock. | |
1832 | ||
084ea510 CF |
1833 | 2010-03-12 Christopher Faylor <me+cygwin@cgf.cx> |
1834 | ||
1835 | Throughout change all calls of low_priority_sleep (0) to yield (). | |
1836 | * miscfuncs.cc (yield): Rename from low_priority_sleep. Remove all of | |
1837 | the logic which called Sleep() and just use SwitchToThread. | |
1838 | * miscfuncs.h (yield): Rename from low_priority_sleep. | |
1839 | (SLEEP_0_STAY_LOW): Delete unused define. | |
1840 | * shared.cc (memory_init): Move heap_init() call directly after shared | |
1841 | memory initialization to more closely mimic long-standing program flow. | |
1842 | * tty.cc (tty_list::terminate): Replace call to low_priority_sleep with | |
1843 | Sleep. | |
1844 | ||
c2fe02c4 CF |
1845 | 2010-03-10 Christopher Faylor <me.cygwin@cgf.cx> |
1846 | ||
1847 | * shared.cc (memory_init): Fix comment. Fix indentation. | |
1848 | ||
bd3b3783 CF |
1849 | 2010-03-09 Christopher Faylor <me+cygwin@cgf.cx> |
1850 | ||
1851 | * shared_info.h (open_shared): Create function wrapper for common use | |
1852 | case. | |
1853 | (open_shared): Change fifth argument to a pointer rather than a | |
1854 | reference. | |
1855 | * fhandler_console.cc (fhandler_console::get_tty_stuff): Eliminate use | |
1856 | of dummy variable and call open_shared with constant. | |
1857 | * fhandler_process.cc (format_process_mounts): Ditto. | |
1858 | * pinfo.cc (pinfo::init): Pass pointer to shloc. | |
1859 | * shared.cc (shared_mem_inited): New variable. | |
1860 | (open_shared): Crate function wrapper for common use case. | |
1861 | (open_shared): Accommodate change to fifth argument to a pointer. | |
1862 | (shared_info::initialize): Remove spinlock test. Simplify function. | |
1863 | Move get_session_parent_dir call back here. | |
1864 | (memory_init): Protect global shared settings with shared_mem_inited | |
1865 | spinlock. Move get_session_parent_dir call to shared_info::initialize. | |
1866 | ||
e8190d8f CF |
1867 | 2010-03-09 Christopher Faylor <me.cygwin@cgf.cx> |
1868 | ||
1869 | * shared.cc (inst_root_inited): Delete. | |
1870 | * (shared_info::initialize): Reorganize. Move call to | |
1871 | init_installation_root here under spinlock control. Move unneeded | |
1872 | non-shared_info initialization out of this function. | |
1873 | (memory_init): Remove call to init_installation_root. Call heap_init | |
1874 | and get_session_parent_dir here. | |
1875 | ||
8e75995c CV |
1876 | 2010-03-04 Corinna Vinschen <corinna@vinschen.de> |
1877 | ||
1878 | * syscalls.cc (nt_path_has_executable_suffix): Change storage class of | |
1879 | blessed_executable_suffixes to static. | |
1880 | (rename): Revert meaning of old_explicit_suffix. Change the rules | |
1881 | for appending a .exe suffix and (yikes!) document them. | |
1882 | ||
a9fd7424 CV |
1883 | 2010-03-04 Charles Wilson <cygwin@cwilson.fastmail.fm> |
1884 | ||
1885 | * cygwin.din: Export __xdr functions. | |
1886 | * include/cygwin/version.h: Bump version. | |
1887 | * posix.sgml: Add a few more XDR functions to list | |
1888 | of implemented Solaris functions. | |
1889 | ||
53c24915 CV |
1890 | 2010-03-03 Charles Wilson <cygwin@cwilson.fastmail.fm> |
1891 | ||
1892 | Add XDR support. | |
1893 | * cygwin.din: Export xdr functions. | |
1894 | * include/cygwin/version.h: Bump version. | |
1895 | * cygxdr.cc: New. | |
1896 | * cygxdr.h: New. | |
1897 | * dcrt0.cc (dll_crt0_1): Print the (rare) xdr-related | |
1898 | error messages to stderr. | |
1899 | * Makefile.in: Add cygxdr. | |
1900 | * posix.sgml: Add new XDR functions to list of implemented Solaris | |
1901 | functions. | |
1902 | ||
cf156945 CF |
1903 | 2010-03-01 Christopher Faylor <me+cygwin@cgf.cx> |
1904 | ||
1905 | * cygtls.h: Replace /*gentls_offsets*/ at end. | |
1906 | ||
a9b112ec CF |
1907 | 2010-03-01 Christopher Faylor <me+cygwin@cgf.cx> |
1908 | ||
1909 | * exception.h: Fix copyright. | |
1910 | ||
98a97ac6 CF |
1911 | 2010-02-27 Christopher Faylor <me+cygwin@cgf.cx> |
1912 | ||
1913 | Update some copyrights. | |
1914 | * cygtls.cc (_cygtls::call): Invoke new exception protection here. | |
1915 | (_cygtls::init_thread): Remove conditionalized exception handler setup. | |
1916 | (exception_list): Delete declaration. | |
1917 | (_cygtls::init_exception_handler): Delete obsolete function. | |
1918 | * cygtls.h: Remove (now) unneeded include. | |
1919 | (_cygtls): Make this a real C++ class. | |
1920 | (_cygtls::handle_exceptions): Remove. | |
1921 | (_cygtls::init_exception_handler): Remove. | |
1922 | (_cygtls::call2): Make private. | |
1923 | (myfault::faulted): Remove unneeded parentheses. | |
1924 | * dcrt0.cc (dll_crt0_1): Remove exception handler setup. | |
1925 | * dlfcn.cc (dlopen): Ditto. | |
1926 | (dlclose): Ditto. | |
1927 | * dll_init.cc (dll_dllcrt0_1): Ditto. | |
1928 | (dll_list::detach): Use new exception handler protection. | |
1929 | * exceptions.cc (dump_exception): Rename to prevent confusion with new | |
1930 | class. | |
1931 | (exception::handle): Rename from _cygtls::handle_exceptions. | |
1932 | Accommodate new exception class. Accommodate rename to dump_exception. | |
1933 | * tlsoffsets.h: Regenerate. | |
1934 | ||
d5d5bf4d CF |
1935 | 2010-02-26 Christopher Faylor <me+cygwin@cgf.cx> |
1936 | ||
1937 | * cygtls.h (_cygtls::init_exception_handler): Eliminate argument. | |
1938 | (_cygtls::andreas): Convert to a pointer. | |
1939 | (san): Convert to a real class with methods. Use a linked list to | |
1940 | keep track of previous handlers on the "stack". | |
1941 | (myfault): Rewrite to use new san class rather than calling directly | |
1942 | into _cygtls. | |
1943 | * cygtls.cc (_cygtls::init_exception_handler): Just assume that we're | |
1944 | always using the standard exception handler. | |
1945 | (_cygtls::init_thread): Reflect loss of argument to | |
1946 | init_exception_handler. | |
1947 | * dcrt0.cc (dll_crt0_1): Ditto. | |
1948 | * dfcn.cc (dlopen): Ditto. | |
1949 | (dlclose): Reset the exception handler after FreeLibrary. | |
1950 | * dll_init.cc (dll_list::detach): Make sure that the exception handler | |
1951 | is initialized before calling destructors. | |
1952 | * exceptions.cc (_cygtls::handle_exceptions): Accommodate new andreas | |
1953 | pointer. | |
1954 | * thread.cc (verifyable_object_isvalid): Pass objectptr to faulted for | |
1955 | explicit NULL pointer checking. | |
1956 | * tlsoffsets.h: Regenerate. | |
1957 | ||
b6336c95 CF |
1958 | 2010-02-26 Christopher Faylor <me+cygwin@cgf.cx> |
1959 | ||
1960 | * mkimport: cd away from temp directory or Windows will have problems | |
1961 | removing the directory. | |
1962 | ||
75bd77d2 CV |
1963 | 2010-02-26 Corinna Vinschen <corinna@vinschen.de> |
1964 | ||
1965 | * libc/strptime.cc: Implement support for era, alt_digits and POSIX | |
1966 | padding and width modifiers. | |
1967 | (era_info_t): New type. | |
1968 | (free_era_info): New static function to free era_info_t storage. | |
1969 | (get_era_info): New static function to create era_info_t storage | |
1970 | from LC_TIME era information. | |
1971 | (alt_digits_t): New type. | |
1972 | (get_alt_digits): New static function to create alt_digits_t storage | |
1973 | from LC_TIME alt_digits information. | |
1974 | (free_alt_digits): New static function to free alt_digits_t storage. | |
1975 | (find_alt_digits): New static function to scan input for alternative | |
1976 | digits and return them, if any. Return NULL otherwise. | |
1977 | (__strptime): New static function taking all code from strptime. | |
1978 | Implement handling for E, O, +, 0, and width modifiers per POSIX-1.2008. | |
1979 | (strptime): Convert into wrapper function to provide era_info and | |
1980 | alt_digits pointers and call __strptime. | |
1981 | (conv_num): Take additional alt_digits_t parameter and if it's not | |
1982 | NULL, call find_alt_digits to convert. | |
1983 | ||
f467ede2 CV |
1984 | 2010-02-26 Corinna Vinschen <corinna@vinschen.de> |
1985 | ||
1986 | * strsig.cc: Fix formatting and copyright. | |
1987 | ||
a90dc29d PH |
1988 | 2010-02-26 Pierre Humblet <Pierre.Humblet@ieee.org> |
1989 | ||
1990 | * security.cc (check_access): Use user.imp_token if appropriate. | |
f467ede2 | 1991 | Set errno and return if DuplicateTokenEx fails . |
a90dc29d | 1992 | |
d91ab868 CV |
1993 | 2010-02-26 Corinna Vinschen <corinna@vinschen.de> |
1994 | ||
1995 | Remove all traces of __CYGWIN_USE_BIG_TYPES__. | |
1996 | ||
1997 | * include/cygwin/config.h: Move Cygwin-specific build flags from | |
1998 | newlib's sys/config.h here. Add a comment. | |
1999 | ||
0512608d YS |
2000 | 2010-02-25 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> |
2001 | ||
2002 | * include/cygwin/signal.h: Define SIGPWR as synonym for SIGLOST. | |
2003 | * strsig.cc: Ditto. | |
2004 | * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR. | |
2005 | ||
1550b620 CV |
2006 | 2010-02-25 Corinna Vinschen <corinna@vinschen.de> |
2007 | ||
2008 | * lc_era.h (lc_era_t): Fix apparent glibc bug in ja_JP era definition. | |
2009 | ||
be71be8e CV |
2010 | 2010-02-24 Corinna Vinschen <corinna@vinschen.de> |
2011 | ||
2012 | * sec_auth.cc (get_full_privileged_inheritable_token): Fix dumb typo | |
2013 | when checking linked token for being a primary token. | |
2014 | ||
c6a6b5a3 CF |
2015 | 2010-02-24 Christopher Faylor <me+cygwin@cgf.cx> |
2016 | ||
2017 | * dlfcn.cc (dlopen): Make sure exception handler is really loaded after | |
2018 | dynamic load. | |
2019 | ||
fd4a56af CF |
2020 | 2010-02-23 Christopher Faylor <me+cygwin@cgf.cx> |
2021 | ||
2022 | * cygtls.cc (_cygtls::init_exception_handler): Force installation of | |
2023 | our exception handler to always be at the beginning. | |
2024 | ||
7414c24a CF |
2025 | 2010-02-23 Christopher Faylor <me+cygwin@cgf.cx> |
2026 | ||
2027 | * thread.cc (pthread_mutex::unlock): Don't attempt to unlock if there | |
2028 | is an error. | |
2029 | ||
478ea460 CF |
2030 | 2010-02-22 Christopher Faylor <me+cygwin@cgf.cx> |
2031 | ||
2032 | * include/sys/strace.h: Define _STRACE_SPECIAL. | |
2033 | (strace_printf_wrap): Fix NOSTRACE definitions. | |
2034 | (strace_printf_wrap1): Fix NOSTRACE definitions. | |
2035 | (special_printf): Define. | |
2036 | ||
2037 | * thread.cc: Perform minor syntax fix in a comment. Rename | |
2038 | "is_good_initialzer*" to "is_initializer*" throughout. Use | |
2039 | pthread_printf rather than debug_printf throughout. Add extra | |
2040 | pthread_printf debugging throughout. | |
2041 | (pthread_mutex::_new_mutex): New constant value. | |
2042 | (pthread_mutex::_unlocked_mutex): Ditto. | |
2043 | (pthread_mutex::_destroyed_mutex): Ditto. | |
2044 | (pthread_mutex::no_owner): Define new function. | |
2045 | (pthread_mutex::can_be_unlocked): Detect no_owner situation. Handle | |
2046 | PTHREAD_MUTEX_NORMAL as a special case. | |
2047 | (pthread::create_cancel_event): Use C++ boolean values. | |
2048 | (pthread::precreate): Use method to set mutex type. | |
2049 | (pthread_cond::pthread_cond): Ditto. | |
2050 | (pthread_rwlock::pthread_rwlock): Ditto. | |
2051 | (pthread_mutex::pthread_mutex): Set owner to _new_mutex initially. | |
2052 | (pthread_mutex::~pthread_mutex): Reset various elements to make it | |
2053 | clearer if they are incorrectly reused. | |
2054 | (pthread_mutex::lock): Add clarifying comment. | |
2055 | (pthread_mutex::unlock): Attempt to handle various mutex types | |
2056 | correctly. In particular, reinstate ability to have one thread unlock | |
2057 | another thread's mutex if type == PTHREAD_MUTEX_NORMAL. | |
2058 | (semaphore::_fixup_after_fork): Avoid redundancy. | |
2059 | (pthread_mutex::_fixup_after_fork): Ditto. Fix debugging statement. | |
2060 | (__pthread_cond_dowait): Accommodate changes to remove previously | |
2061 | inexplicable use can_be_unblocked() as a static function. | |
2062 | * thread.h: Rename "is_good_initialzer*" to "is_initializer*" | |
2063 | throughout. | |
2064 | (pthread_mutex): Reorganize. Make many things private. | |
2065 | (pthread_mutex::no_owner): Define new method. | |
2066 | (pthread_mutex::_new_mutex): Define new constant. | |
2067 | (pthread_mutex::_unlocked_mutex): Ditto. | |
2068 | (pthread_mutex::_destroyed_mutex): Ditto. | |
2069 | ||
f2ecf0ee CV |
2070 | 2010-02-22 Corinna Vinschen <corinna@vinschen.de> |
2071 | ||
2072 | * lc_era.h: Redefine lc_era_t to keep | |
2073 | default date and time formats as well to workaround YA Windows | |
2074 | shortcoming. Refresh with latest data. | |
2075 | * lc_msg.h: Refresh with latest data. | |
2076 | * nlsfuncs.cc (__eval_datetimefmt): Revert latest change. | |
2077 | (__set_lc_time_from_win): Rename res to era. Prefer default date and | |
2078 | time formats from era array if available. | |
2079 | (__set_lc_messages_from_win): Rename res to msg. | |
2080 | ||
5d765846 CV |
2081 | 2010-02-20 Corinna Vinschen <corinna@vinschen.de> |
2082 | ||
2083 | * lc_era.h (lc_era): Fix "ja_JP" era_t_fmt entry to use traditional | |
2084 | format. | |
2085 | * nlsfuncs.cc (dt_flags): Remove DT_ERACAL since crippled era data | |
2086 | in Windows makes it useless. | |
2087 | (__eval_datetimefmt): Check if locale's default calender has | |
2088 | non-gregorian start year. Use era year also in default date entries, | |
2089 | if so. | |
2090 | ||
53a918f3 CV |
2091 | 2010-02-20 Corinna Vinschen <corinna@vinschen.de> |
2092 | ||
2093 | * path.cc (warn_msdos): Enforce extended hex printing of multibyte | |
2094 | pathnames. | |
2095 | ||
ff3e6bcb CF |
2096 | 2010-02-19 Christopher Faylor <me+cygwin@cgf.cx> |
2097 | ||
2098 | * include/sys/strace.h: Remove old code. Add support for ptrace | |
2099 | tracing. | |
2100 | ||
6c36e83b CV |
2101 | 2010-02-19 Corinna Vinschen <corinna@vinschen.de> |
2102 | ||
2103 | * lc_era.h: New file. | |
2104 | * nlsfuncs.cc: Include lc_era.h. | |
2105 | (locale_cmp): convert arguments to char** to be usable for both types, | |
2106 | lc_msg_t and lc_era_t. | |
2107 | (__set_lc_time_from_win): Handle era-related data | |
2108 | ||
1929fc8e CV |
2109 | 2010-02-19 Corinna Vinschen <corinna@vinschen.de> |
2110 | ||
2111 | * fhandler_disk_file.cc (fhandler_disk_file::opendir): Try to open | |
2112 | directory with stat()-friendly access mask first. Explain why. | |
2113 | ||
eb676040 CV |
2114 | 2010-02-19 Corinna Vinschen <corinna@vinschen.de> |
2115 | ||
2116 | * fhandler_disk_file.cc (fhandler_base::fstat_helper): Set st_rdev | |
2117 | to same value as st_dev. Avoid useless debug output in executable | |
2118 | check. Add filename to debug output. | |
2119 | (fhandler_disk_file::facl): Simplify code calling fstat methods to | |
2120 | just call fstat to avoid errors with the cygdrive directory. | |
2121 | ||
97c8d005 CV |
2122 | 2010-02-18 Corinna Vinschen <corinna@vinschen.de> |
2123 | ||
2124 | * nlsfuncs.cc (eval_datetimefmt): Rename force to flags. | |
2125 | (enum dt_flags): Define. | |
2126 | (__eval_datetimefmt): Change force to flags and change type to | |
2127 | dt_flags. Accommodate throughout. | |
2128 | (__set_lc_time_from_win): Accommodate above change. Set era-related | |
2129 | values to empty strings for now. | |
2130 | ||
90f5de33 CF |
2131 | 2010-02-18 Christopher Faylor <me+cygwin@cgf.cx> |
2132 | ||
2133 | * fhandler.cc (fhandler_base::setup_overlapped): Revert to starting | |
2134 | with handle in signalled state as it seems to fix some hangs. | |
2135 | ||
66f2d8f1 CV |
2136 | 2010-02-15 Corinna Vinschen <corinna@vinschen.de> |
2137 | ||
2138 | * path.cc (path_conv::check): Treat native DOS paths as "noacl". | |
2139 | ||
93579594 CV |
2140 | 2010-02-15 Corinna Vinschen <corinna@vinschen.de> |
2141 | ||
2142 | * mount.cc (mount_info::conv_to_win32_path): Set UNC path flags to | |
2143 | cygdrive prefix path flags. | |
2144 | ||
8103e407 CF |
2145 | 2010-02-14 Christopher Faylor <me+cygwin@cgf.cx> |
2146 | ||
2147 | * fhandler.cc (fhandler_base::setup_overlapped): Don't set signalled | |
2148 | state to true initially. | |
2149 | (fhandler_base::has_ongoing_io): Delete ill-advised function. | |
2150 | (fhandler_base::read_overlapped): Rely on caller having checked | |
2151 | nonblocking state. Don't attempt to (incorrectly) check it here. | |
2152 | (fhandler_base::write_overlapped): Remove call to has_ongoing_io. | |
2153 | * select.cc (peek_pipe): Ditto. | |
2154 | * fhandler.h (fhandler_base::has_ongoing_io): Delete declaration. | |
2155 | ||
d67a6ce4 CF |
2156 | 2010-02-14 Christopher Faylor <me+cygwin@cgf.cx> |
2157 | ||
2158 | * regex/regcomp.c (xwcrtomb): Fix one explicable and one inexcplicable | |
2159 | C warning. | |
2160 | ||
15a9e176 CV |
2161 | 2010-02-13 Corinna Vinschen <corinna@vinschen.de> |
2162 | ||
2163 | * regex/regcomp.c (xwcrtomb): Don't convert Unicode chars outside the | |
2164 | base plane always to UTF-8. Call wcsnrtombs instead to allow arbitrary | |
2165 | multibyte charsets. | |
2166 | ||
6b3f923f CV |
2167 | 2010-02-12 Corinna Vinschen <corinna@vinschen.de> |
2168 | ||
2169 | * regex/regcomp.c (wgetnext): Use size_t as type for n2 since that's | |
2170 | what's returned by mbrtowc. | |
2171 | * regex/regexec.c (xmbrtowc): Ditto. | |
2172 | ||
2b1407d3 CF |
2173 | 2010-02-12 Christopher Faylor <me+cygwin@cgf.cx> |
2174 | ||
2175 | * pthread.cc (pthread_mutex_init): Explicitly fill out third arg to | |
2176 | pthread_mutex::init. | |
2177 | * thread.cc: Remov some obsolete comments. | |
2178 | (verifyable_object_isvalid): Reflect change to use thread_magic_t for | |
2179 | magic numbers. | |
2180 | (pthread_mutex::pthread_mutex): Set magic number to invalid initially | |
2181 | until we've verified that everything is valid. | |
2182 | (pthread_mutex::unlock): Fix a comment. | |
2183 | (verifyable_object::verifyable_object): Delete here. | |
2184 | (~verifyable_object::~verifyable_object): Ditto. | |
2185 | (pthread_mutex::init): Don't run is_good_initializer for non-static | |
2186 | objects. | |
2187 | * thread.h (thread_magic_t): New typedef. | |
2188 | (verifyable_object::verifyable_object): Use thread_magic_t; | |
2189 | (verifyable_object::magic): Ditto. | |
2190 | (pthread_mutex::is_good_initializer_or_bad_object): Remove unneeded | |
2191 | variable names. | |
2192 | (pthread_mutex::can_be_unlocked): Ditto. | |
2193 | (pthread_mutex::init): Ditto. Remove default for third argument. | |
2194 | ||
7bd2296c CV |
2195 | 2010-02-12 Corinna Vinschen <corinna@vinschen.de> |
2196 | ||
2197 | * regex/regcomp.c (xwcrtomb): New function to convert wide chars | |
2198 | outside of the base plane to UTF-8. Call throughout instead of | |
2199 | wcrtomb. | |
2200 | (wgetnext): Handle surrogate pairs on UTF-16 systems. | |
2201 | * regex/regexec.c (xmbrtowc): Ditto. | |
2202 | ||
e122c471 CV |
2203 | 2010-02-12 Corinna Vinschen <corinna@vinschen.de> |
2204 | ||
2205 | * sec_auth.cc (get_user_local_groups): Retrieve name of well known | |
2206 | builtin group from system. Explain why. | |
2207 | * sec_helper.cc (well_known_builtin_sid): New SID for BUILTIN group. | |
2208 | * security.h (well_known_builtin_sid): Declare. | |
2209 | ||
848dbc8f PH |
2210 | 2010-02-11 Pierre Humblet <Pierre.Humblet@ieee.org> |
2211 | ||
97e5d3ff | 2212 | * registry.cc (get_registry_hive_path): Add space in string. |
848dbc8f | 2213 | |
44caccfc CV |
2214 | 2010-02-11 Corinna Vinschen <corinna@vinschen.de> |
2215 | ||
2216 | * regex/engine.c (step): Drop Cygwin-specific definition. | |
2217 | (NONCHAR): Better cast here to make the test work. Move comment | |
2218 | from step here. | |
2219 | (matcher): Disable skipping initial string in multibyte case. | |
2220 | * regex/regcomp.c (p_bracket): Don't simplify singleton in the invert | |
2221 | case. | |
2222 | (p_b_term): Handle early end of pattern after dash in bracket | |
2223 | expression. | |
2224 | (singleton): Don't ignore the wides just because there's already a | |
2225 | singleton in the single byte chars. Fix condition for a singleton | |
2226 | wide accordingly. | |
2227 | (findmust): Check for LC_CTYPE charset, rather than LC_COLLATE charset. | |
2228 | * regex2.h (CHIN): Fix condition in the icase & invert case. | |
2229 | (ISWORD): Fix wrong cast to unsigned char. | |
2230 | ||
87c09031 CV |
2231 | 2010-02-11 Andy Koppe <andy.koppe@gmail.com> |
2232 | ||
2233 | * nlsfuncs.cc (initial_setlocale): Move check whether charset has | |
2234 | changed from here... | |
2235 | (internal_setlocale): ...to here, to avoid unnecessary work when invoked | |
2236 | via CW_INT_SETLOCALE. | |
2237 | ||
4f1c922e CV |
2238 | 2010-02-10 Corinna Vinschen <corinna@vinschen.de> |
2239 | ||
2240 | * nlsfuncs.cc (__set_charset_from_locale): Allow "@euro" modifier only | |
2241 | for locales which use EUR as currency. | |
2242 | ||
ae40237a CV |
2243 | 2010-02-10 Corinna Vinschen <corinna@vinschen.de> |
2244 | ||
2245 | * nlsfuncs.cc (__get_lcid_from_locale): Convert iu_CA to iu-Latn-CA | |
2246 | rather than iu-Cans-CA on Vista and later. | |
2247 | (__set_charset_from_locale): Set default charset for iu_CA to UTF-8. | |
2248 | ||
3700578e CF |
2249 | 2010-02-10 Christopher Faylor <me+cygwin@cgf.cx> |
2250 | ||
2251 | * dcrt0.cc (_dll_crt0): Set _main_tls as early as possible. | |
2252 | * thread.cc (pthread_mutex::can_be_unlocked): Remove check for | |
2253 | MUTEX_OWNER_ANONYMOUS since it is racy and unsafe. | |
2254 | (pthread::init_mainthread): Initialize thread directly from _my_tls. | |
2255 | (pthread::self): Ditto. | |
2256 | (pthread::get_tls_self_pointer): Delete. | |
2257 | (pthread_mutex::pthread_mutex): Use an event rather than a semaphore. | |
2258 | (pthread_mutex::lock): Rename from _<func>. Derive self directly. | |
2259 | (pthread_mutex::tryunlock): Ditto. | |
2260 | (pthread_mutex::destroy): Ditto. | |
2261 | (pthread_mutex::unlock): Ditto. Accommodate change from semaphore to | |
2262 | event. | |
2263 | (pthread_mutex::_fixup_after_fork): Accommodate change from semaphore | |
2264 | to event. | |
2265 | (pthread_mutex::init): Don't attempt to initialize a semaphore unless | |
2266 | it is in an initialized state. Do this check under | |
2267 | mutex_initialization_lock.lock | |
2268 | * thread.h (fast_mutex::init): Use event rather than semaphore. | |
2269 | (fast_mutex::lock): Ditto. | |
2270 | (pthread_mutex::_lock): Delete. | |
2271 | (pthread_mutex::_unlock): Ditto. | |
2272 | (pthread_mutex::_trylock): Ditto. | |
2273 | (pthread_mutex::_destroy): Ditto. | |
2274 | (pthread_mutex::get_pthread_self): Ditto. | |
2275 | (pthread_mutex::get_tls_self_pointer): Ditto. | |
2276 | (pthread_mutex::lock): Un-inline. | |
2277 | (pthread_mutex::unlock): Ditto. | |
2278 | (pthread_mutex::trylock): Ditto. | |
2279 | (pthread_mutex::destroy): Ditto. | |
2280 | ||
161387a7 CF |
2281 | 2010-02-09 Christopher Faylor <me+cygwin@cgf.cx> |
2282 | ||
2283 | * cygtls.h (struct _cygtls): Remove unneeded elements. | |
2284 | * thread.cc (pthread::exit): Avoid potential double call to | |
2285 | _my_tls.remove. | |
2286 | * tlsoffsets.h: Regenerate. | |
2287 | ||
ae40237a CV |
2288 | 2010-02-09 Corinna Vinschen <corinna@vinschen.de> |
2289 | ||
2290 | * nlsfuncs.cc (lc_wcstombs): Add `return_invalid' flag to specify | |
2291 | whether invalid chars should be ignored or not. Change comment. | |
2292 | (__set_lc_monetary_from_win): Call lc_wcstombs with return_invalid | |
2293 | flag set. | |
2294 | (__set_lc_messages_from_win): Simplify to accommodate the fact that | |
2295 | lc_wcstombs just ignores invalid chars. Explain why. | |
2296 | ||
3d9e3644 CV |
2297 | 2010-02-09 Corinna Vinschen <corinna@vinschen.de> |
2298 | ||
2299 | * nlsfuncs.cc (__set_lc_messages_from_win): Fix typo. | |
2300 | ||
9008eb40 CV |
2301 | 2010-02-09 Corinna Vinschen <corinna@vinschen.de> |
2302 | ||
2303 | * lc_msg.h: New file, fix a problem in locales with modifiers. | |
2304 | ||
09dfe7e0 CV |
2305 | 2010-02-09 Corinna Vinschen <corinna@vinschen.de> |
2306 | ||
2307 | * lc_msg.h: New file, generated from running Linux system. | |
2308 | ||
502a4f52 CV |
2309 | 2010-02-09 Corinna Vinschen <corinna@vinschen.de> |
2310 | ||
2311 | * lc_msg.h: New file, autogenerated from CLDR data. | |
2312 | * nlsfuncs.cc: Include lc_msg.h. | |
2313 | (lc_time_buf): Remove. | |
2314 | (lc_numeric_buf): Remove. | |
2315 | (lc_monetary_buf): Remove. | |
2316 | (lc_mbstowcs): Fix previous fix. | |
2317 | (__set_lc_time_from_win): Take additional pointer to buffer pointer, | |
2318 | defined in newlib. | |
2319 | (__set_lc_numeric_from_win): Ditto. | |
2320 | (__set_lc_monetary_from_win): Ditto. | |
2321 | (locale_cmp): New static function. | |
2322 | (__set_lc_messages_from_win): New function to be called from newlib. | |
2323 | ||
f5a73638 CV |
2324 | 2010-02-08 Corinna Vinschen <corinna@vinschen.de> |
2325 | ||
2326 | * external.cc (cygwin_internal): Add CW_INT_SETLOCALE case to | |
2327 | allow to call internal_setlocale(). | |
2328 | * nlsfuncs.cc (internal_setlocale): Make externally available. | |
2329 | * include/cygwin/version.h: Bump API minor number. | |
2330 | * include/sys/cygwin.h (cygwin_getinfo_types): Add CW_INT_SETLOCALE. | |
2331 | ||
2332 | * nlsfuncs.cc (lc_mbstowcs): Fix call to f_mbtowc. | |
2333 | (__set_locale_from_locale_alias): Ignore "@cjknarrow" modifier. | |
2334 | ||
ab6ef080 CV |
2335 | 2010-02-07 Corinna Vinschen <corinna@vinschen.de> |
2336 | ||
2337 | * nlsfuncs.cc (__get_lcid_from_locale): Handle "@cyrillic" modifier | |
2338 | for uz_UZ locale here. | |
2339 | (__set_charset_from_locale): Accommodate above change. | |
2340 | ||
07d061ae CV |
2341 | 2010-02-07 Corinna Vinschen <corinna@vinschen.de> |
2342 | ||
2343 | * nlsfuncs.cc (__set_locale_from_locale_alias): New function to read | |
2344 | locale aliases from /usr/share/locale/locale.alias. | |
2345 | ||
689109a7 CV |
2346 | 2010-02-06 Corinna Vinschen <corinna@vinschen.de> |
2347 | ||
2348 | * nlsfuncs.cc (__get_lcid_from_locale): Handle no_NO as nb_NO, rather | |
2349 | than nn_NO. | |
2350 | ||
28d3c4fa CV |
2351 | 2010-02-06 Corinna Vinschen <corinna@vinschen.de> |
2352 | ||
2353 | * nlsfuncs.cc (has_modifier): MOve up in file to use in | |
2354 | __get_lcid_from_locale as well. | |
2355 | (__get_lcid_from_locale): Handle no_NO locale as alias for nn_NO. | |
2356 | Default all sr_XY locales to Cyrillic script. Change lcid to Latin | |
2357 | script if "@latin" modifier has been specified. | |
2358 | (__set_charset_from_locale): Handle Serbian in codepage 1251 case as | |
2359 | well. Also check for sr_BA lcid. Restrict "@euro" modifier to | |
2360 | locales otherwise defaulting to ISO-8859-1. | |
2361 | ||
b6b23627 CV |
2362 | 2010-02-06 Corinna Vinschen <corinna@vinschen.de> |
2363 | ||
2364 | * nlsfuncs.cc (__set_charset_from_locale): Set default charset for | |
2365 | "ka_GE" locale to GEORGIAN-PS, for "kk_KZ" to PT154. | |
2366 | ||
38d9821d CV |
2367 | 2010-02-06 Corinna Vinschen <corinna@vinschen.de> |
2368 | ||
2369 | * path.cc (symlink_info::check_nfs_symlink): Reopen file with | |
2370 | FILE_READ_EA access since, surprisingly, you need it to read EAs even | |
2371 | on NFS. | |
2372 | ||
b96600ef CV |
2373 | 2010-02-06 Corinna Vinschen <corinna@vinschen.de> |
2374 | ||
2375 | * sec_auth.cc (get_full_privileged_inheritable_token): New function | |
2376 | to fetch token with full privileges from logon token in Vista and | |
2377 | later, and to make token inheritable. Add lengthy comments to explain | |
2378 | the function's job. | |
2379 | (cygwin_logon_user): Drop calling SetHandleInformation. Enable TCB | |
2380 | privilege and call get_full_privileged_inheritable_token. | |
2381 | (lsaauth): Don't fetch linked token and don't make handle inheritable | |
2382 | here, just call get_full_privileged_inheritable_token instead. | |
2383 | (lsaprivkeyauth): Ditto. | |
2384 | ||
207889c9 CV |
2385 | 2010-02-05 Corinna Vinschen <corinna@vinschen.de> |
2386 | ||
b6b23627 | 2387 | * nlsfuncs.cc (__set_charset_from_locale): Set default charset for |
207889c9 CV |
2388 | "uz_UZ" locale to ISO-8859-1, with the "@cyrillic" modifier to UTF-8. |
2389 | ||
e7fd0883 CF |
2390 | 2010-02-05 Christopher Faylor <me+cygwin@cgf.cx> |
2391 | ||
2392 | * dll_init.cc (per_module::run_dtors): Use consistent method for | |
2393 | running destructors. | |
2394 | ||
6e3f2c62 CF |
2395 | 2010-02-04 Christopher Faylor <me+cygwin@cgf.cx> |
2396 | ||
2397 | * regcomp.c (p_ere): Workaround incorrect compiler warning. | |
2398 | * regerror.c (regatoi): Return non-const string or compiler complains | |
2399 | in certain inexplicable situations. | |
2400 | ||
aec8c3d5 CV |
2401 | 2010-02-04 Corinna Vinschen <corinna@vinschen.de> |
2402 | ||
2403 | * regex/engine.c (step): Declare and define with `int ch' rather than | |
2404 | `wint_t ch' parameter. Explain why. | |
2405 | (NONCHAR): Remove related Cygwin patch here, including wrong comment. | |
2406 | ||
e1e595a6 CV |
2407 | 2010-02-04 Corinna Vinschen <corinna@vinschen.de> |
2408 | ||
2409 | Replace regex files with multibyte-aware version from FreeBSD. | |
2410 | * Makefile.in (install-headers): Remove extra command to install | |
2411 | regex.h. | |
2412 | (uninstall-headers): Remove extra command to uninstall regex.h. | |
2413 | * nlsfuncs.cc (collate_lcid): Make externally available to allow | |
2414 | access to collation internals from regex functions. | |
2415 | (collate_charset): Ditto. | |
2416 | * wchar.h: Add __cplusplus guards to make C-clean. | |
2417 | * include/regex.h: New file, replacing regex/regex.h. Remove UCB | |
2418 | advertising clause. | |
2419 | * regex/COPYRIGHT: Accommodate BSD license. Remove UCB advertising | |
2420 | clause. | |
2421 | * regex/cclass.h: Remove. | |
2422 | * regex/cname.h: New file from FreeBSD. | |
2423 | * regex/engine.c: Ditto. | |
2424 | (NONCHAR): Tweak for Cygwin. | |
2425 | * regex/engine.ih: Remove. | |
2426 | * regex/mkh: Remove. | |
2427 | * regex/regcomp.c: New file from FreeBSD. Tweak slightly for Cygwin. | |
2428 | Import required collate internals from nlsfunc.cc. | |
2429 | (p_ere_exp): Add GNU-specific \< and \> handling for word boundaries. | |
2430 | (p_simp_re): Ditto. | |
2431 | (__collate_range_cmp): Define. | |
2432 | (p_b_term): Use Cygwin-specific collate internals. | |
2433 | (findmust): Ditto. | |
2434 | * regex/regcomp.ih: Remove. | |
2435 | * regex/regerror.c: New file from FreeBSD. Fix a few compiler warnings. | |
2436 | * regex/regerror.ih: Remove. | |
2437 | * regex/regex.7: New file from FreeBSD. Remove UCB advertising clause. | |
2438 | * regex/regex.h: Remove. Replaced by include/regex.h. | |
2439 | * regex/regexec.c: New file from FreeBSD. Fix a few compiler warnings. | |
2440 | * regex/regfree.c: New file from FreeBSD. | |
2441 | * regex/tests: Remove. | |
2442 | * regex/utils.h: New file from FreeBSD. | |
2443 | ||
66dd5c4f CF |
2444 | 2010-02-03 Christopher Faylor <me+cygwin@cgf.cx> |
2445 | ||
2446 | * sigproc.cc (get_proc_lock): Fix error message typo. | |
2447 | ||
4a49c715 CV |
2448 | 2010-02-03 Corinna Vinschen <corinna@vinschen.de> |
2449 | ||
2450 | * fhandler_disk_file.cc (fhandler_base::fstat_helper): Workaround | |
2451 | another bug in NWFS. Add comment to explain why. Improve debug output | |
2452 | in case the NT calls to test for binary fail. | |
2453 | * path.h (path_conv::fs_is_cifs): New method. | |
2454 | (path_conv::fs_is_nwfs): New method. | |
2455 | ||
fac3c73b CV |
2456 | 2010-02-02 Corinna Vinschen <corinna@vinschen.de> |
2457 | ||
2458 | * include/paths.h (_PATH_MNTTAB): Define. | |
2459 | (_PATH_MOUNTED): Define. | |
2460 | * include/mntent.h: Include paths.h. Define MNTTAB and MOUNTED as their | |
2461 | paths.h equivalents. Add comment. | |
2462 | ||
fc6a0dc8 CF |
2463 | 2010-02-01 Christopher Faylor <me+cygwin@cgf.cx> |
2464 | ||
2465 | * dcrt0.cc (atexit_lock): Delete. | |
2466 | (cygwin_exit): Remove atexit lock. | |
2467 | (cygwin_atexit): Ditto. Rename parameter to match newlib. Call | |
2468 | __cxa_atexit when invoked by a registered DLL. | |
2469 | * dll_init.cc (remove_dll_atexit): Delete. | |
2470 | (dll_list::find): New function. | |
2471 | (dll_list::detach): Use dll_list::find to find dll associated with | |
2472 | return address. Use __cxa_finalize to run atexit functions associated | |
2473 | with the dll. | |
2474 | (cygwin_detach_dll): Don't assume that HANDLE == void *. | |
2475 | * dll_init.h (dll_list::find): Declare. | |
2476 | (__cxa_atexit): Ditto. | |
2477 | (__cxa_finalize): Ditto. | |
2478 | ||
2479 | * init.cc (dll_entry): Clarify comment. | |
2480 | ||
a3906150 DK |
2481 | 2010-02-02 Dave Korn <dave.korn.cygwin@gmail.com> |
2482 | ||
2483 | * how-startup-shutdown-works.txt: Add new document. | |
2484 | ||
54c4a926 CV |
2485 | 2010-01-29 Corinna Vinschen <corinna@vinschen.de> |
2486 | ||
2487 | * sec_auth.cc (lsaauth): Use CYG_LSA_MAGIC as checksum start value to | |
2488 | decouple from Cygwin release. | |
2489 | ||
0b189c1e CV |
2490 | 2010-01-29 Corinna Vinschen <corinna@vinschen.de> |
2491 | ||
2492 | * libc/strfmon.c (__setup_vars): Test for an empty string rather than | |
2493 | for a NULL pointer. | |
2494 | ||
d5c4cd3f CF |
2495 | 2010-01-29 Christopher Faylor <me+cygwin@cgf.cx> |
2496 | ||
2497 | * dll_init.cc (remove_dll_atexit): New function. | |
2498 | (dll_list::detach): Run any atexit handlers registered in the DLL prior | |
2499 | to unloading. | |
2500 | ||
2b37c431 CF |
2501 | 2010-01-29 Christopher Faylor <me+cygwin@cgf.cx> |
2502 | ||
2503 | * libc/strfmon.c (__setup_vars): Fix compiler warning about assigning | |
2504 | const strings. Compare a pointer to NULL rather than '\0'. | |
2505 | ||
2506 | * dll_init.cc (dll_dllcrt0_1): Minor comment fix. | |
2507 | ||
2508 | * pipe.cc (fhandler_pipe::create_selectable): Remove Win9x | |
2509 | accommodation. | |
2510 | ||
3432d6f1 CV |
2511 | 2010-01-29 Corinna Vinschen <corinna@vinschen.de> |
2512 | ||
2513 | Throughout, use FileBothDirectoryInformation info class rather than | |
2514 | FileDirectoryInformation info class to avoid problems with incomplete | |
2515 | filesystem implementations. Fix comments accordingly. | |
2516 | * fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Set | |
2517 | fname->Length to 0 in error case to avoid potential crash in debug | |
2518 | output. | |
2519 | (fhandler_disk_file::readdir): Try to speed up the working default case. | |
2520 | Check for STATUS_INVALID_NETWORK_RESPONSE as potential status value | |
2521 | returned by filesystems not implementing FileIdBothDirectoryInformation. | |
2522 | * ntdll.h (STATUS_INVALID_NETWORK_RESPONSE): Define. | |
2523 | (FILE_BOTH_DIRECTORY_INFORMATION): Rename to official name. | |
2524 | * path.cc (symlink_info::check): Don't request FILE_READ_EA access, it's | |
2525 | not required for NFS. Try to speed up the working default case. Check | |
2526 | for STATUS_INVALID_NETWORK_RESPONSE as potential status value returned | |
2527 | by filesystems not supporting non-NULL EA parameters. Fix the way | |
2528 | fs.update is called. Improve debug output. | |
2529 | ||
1b52d127 CV |
2530 | 2010-01-28 Corinna Vinschen <corinna@vinschen.de> |
2531 | ||
2532 | * Makefile.in (tags, ctags, CTAGS)): Add rules to create tags file. | |
2533 | ||
8944c6af CV |
2534 | 2010-01-25 Corinna Vinschen <corinna@vinschen.de> |
2535 | ||
2536 | * nlsfuncs.cc (__get_lcid_from_locale): Add comments. Fix typos in | |
2537 | comments. Make sure to set last_lcid every time. Return locale | |
2538 | without territory part as invalid. Handle modern serbian territory | |
2539 | names per ISO 3166 on older systems as well. Add appropriate comment. | |
2540 | (__set_charset_from_locale): Handle LCID for sr_CS as well to make older | |
2541 | systems happy. | |
2542 | ||
0f8df291 CV |
2543 | 2010-01-25 Corinna Vinschen <corinna@vinschen.de> |
2544 | ||
2545 | * nlsfuncs.cc (__set_charset_from_locale): Rearrange to set charset | |
2546 | more closely aligned to Glibc. | |
2547 | ||
27ac6434 CV |
2548 | 2010-01-25 Corinna Vinschen <corinna@vinschen.de> |
2549 | ||
2550 | * spawn.cc (spawn_guts): Only try to remove long path prefix from | |
2551 | runpath if runpath is not NULL. | |
2552 | ||
4fc8ae4f CV |
2553 | 2010-01-25 Corinna Vinschen <corinna@vinschen.de> |
2554 | ||
2555 | * nlsfuncs.cc (__get_lcid_from_locale): Fix a comment. Handle special | |
2556 | language/TERRITORY combinations explicitely. Explain why. | |
2557 | ||
05fab4a6 CV |
2558 | 2010-01-24 Corinna Vinschen <corinna@vinschen.de> |
2559 | ||
2560 | * nlsfuncs.cc (__set_charset_from_locale): Fix comment. | |
2561 | ||
57c7e05e CV |
2562 | 2010-01-24 Corinna Vinschen <corinna@vinschen.de> |
2563 | ||
2564 | * nlsfuncs.cc (check_codepage): Move from syscalls.cc here. | |
2565 | (internal_setlocale): Ditto. | |
2566 | (initial_setlocale): Ditto. | |
2567 | (setlocale): Ditto. | |
2568 | * strfuncs.cc (__sjis_wctomb): Revert previous patch. | |
2569 | (__sjis_mbtowc): Ditto. | |
2570 | * syscalls.cc: Move setlocale-related functions to nlsfuncs.cc. | |
2571 | ||
6b121156 CV |
2572 | 2010-01-23 Corinna Vinschen <corinna@vinschen.de> |
2573 | ||
2574 | * strfuncs.cc (__sjis_wctomb): Special handling for characters which | |
2575 | differ between SJIS and Windows codepage 932, if charset is "SJIS". | |
2576 | (__sjis_mbtowc): Ditto. | |
2577 | (_jis_wctomb): Remove. | |
2578 | (__jis_mbtowc): Remove. | |
2579 | ||
e020bfa8 CV |
2580 | 2010-01-23 Corinna Vinschen <corinna@vinschen.de> |
2581 | ||
2582 | * nlsfuncs.cc (wcsxfrm): Call LCMapStringW with LCMAP_BYTEREV flag to | |
2583 | allow correct comparison using wcscmp. | |
2584 | ||
bc9fcc28 CV |
2585 | 2010-01-22 Corinna Vinschen <corinna@vinschen.de> |
2586 | ||
2587 | * posix.sgml (strfmon): Move to implemented SUSv4 API. | |
2588 | ||
326fb376 CV |
2589 | 2010-01-22 Corinna Vinschen <corinna@vinschen.de> |
2590 | ||
2591 | * Makefile.in (DLL_OFILES): Add nlsfunc.o and strfmon.o. | |
2592 | * autoload.cc (LocaleNameToLCID): Define. | |
2593 | * cygwin.din (strfmon): Export. | |
2594 | * nlsfuncs.cc: New file. Define a lot of internal functions called | |
2595 | from setlocale. | |
2596 | (wcscoll): Implement locale-aware here, using CompareStringW function. | |
2597 | (strcoll): Ditto. | |
2598 | (wcsxfrm): Implement locale-aware here, usingLCMapStringW function. | |
2599 | (strxfrm): Ditto. | |
2600 | (__set_charset_from_locale): Replace __set_charset_from_codepage. | |
2601 | Return Linux-compatible charset. | |
2602 | * strfuncs.cc (__set_charset_from_codepage): Remove. | |
2603 | * wchar.h (__set_charset_from_codepage): Drop definition. | |
2604 | * wincap.h (wincaps::has_localenames): New element. | |
2605 | * wincap.cc: Implement above element throughout. | |
2606 | * libc/strfmon.c: New file. | |
2607 | * libc/strptime.cc: Remove locale constant strings in favor of | |
2608 | access to locale-specifc data. | |
2609 | (strptime): Point _CurrentTimeLocale to locale-specific data. | |
2610 | Throughout use correct locale-specific format fields for all | |
2611 | locale-specific formats. | |
2612 | * include/monetary.h: New file. | |
2613 | * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. | |
2614 | ||
43b4aa0f CV |
2615 | 2010-01-18 Corinna Vinschen <corinna@vinschen.de> |
2616 | ||
2617 | * strfuncs.cc: Remove needless includes. | |
2618 | ||
62910474 CV |
2619 | 2010-01-17 Corinna Vinschen <corinna@vinschen.de> |
2620 | ||
2621 | * syscalls.cc (internal_setlocale): Use UTF-8 internally if external | |
2622 | charset is ASCII. | |
2623 | ||
011560c8 CV |
2624 | 2010-01-15 Corinna Vinschen <corinna@vinschen.de> |
2625 | ||
2626 | * libc/fnmatch.c: Replace with multibyte capable version from FreeBSD. | |
2627 | ||
1a8d1e10 CV |
2628 | 2010-01-15 Corinna Vinschen <corinna@vinschen.de> |
2629 | ||
2630 | * fhandler_socket.cc (fhandler_socket::accept4): Reset async flag | |
2631 | on accepted socket. | |
2632 | ||
9d5bf1b1 CV |
2633 | 2010-01-15 Pierre A. Humblet <phumblet@phumblet.no-ip.org> |
2634 | ||
2635 | * fhandler_socket.cc (fhandler_socket::accept4): Set nonblocking | |
2636 | flag exactly according to flags, as on Linux. | |
2637 | * net.cc (cygwin_accept): Maintain BSD semantics here. | |
2638 | ||
0d653155 CV |
2639 | 2010-01-15 Corinna Vinschen <corinna@vinschen.de> |
2640 | ||
2641 | * cygwin.din (accept4): Export. | |
2642 | * fhandler.h (fhandler_socket::accept4): Rename from accept. Take | |
2643 | additional flag parameter. | |
2644 | * fhandler_socket.cc (fhandler_socket::accept4): Ditto. Handle | |
2645 | SOCK_NONBLOCK and SOCK_CLOEXEC flags. | |
2646 | * net.cc (cygwin_socket): Handle SOCK_NONBLOCK and SOCK_CLOEXEC flags | |
2647 | in type. Check for invalid flag values. | |
2648 | (socketpair): Ditto. | |
2649 | (cygwin_accept): Accommodate renaming of fhandler_socket::accept | |
2650 | function to accept4. | |
2651 | (accept4): New function. | |
2652 | * posix.sgml: Mention accept4 as GNU extensions. | |
2653 | * include/cygwin/socket.h (SOCK_NONBLOCK): Define. | |
2654 | (SOCK_CLOEXEC): Define. | |
2655 | (_SOCK_FLAG_MASK): Define when building Cygwin. | |
2656 | * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. | |
2657 | * include/sys/socket.h (accept4): Declare. | |
2658 | ||
14c800a5 CV |
2659 | 2010-01-15 Corinna Vinschen <corinna@vinschen.de> |
2660 | ||
2661 | * posix.sgml: Mention dup3 and pipe2 as GNU extensions. | |
2662 | ||
41d184bb CV |
2663 | 2010-01-14 Corinna Vinschen <corinna@vinschen.de> |
2664 | ||
2665 | * dcrt0.cc (dll_crt0_1): Reset locale to "C" at the last moment before | |
2666 | calling the application's main. | |
2667 | * syscalls.cc (internal_setlocale): Don't reset locale to "C here. | |
2668 | Change comment accordingly. | |
2669 | ||
e70fdfb9 CV |
2670 | 2010-01-14 Corinna Vinschen <corinna@vinschen.de> |
2671 | ||
2672 | * cygwin.din (dup3): Export. | |
2673 | (pipe2): Export. | |
2674 | * dtable.cc (dtable::dup_worker): Take additional flags parameter. | |
2675 | Handle O_CLOEXEC flag. | |
2676 | (dtable::dup3): Rename from dup2. Take additional flags parameter. | |
2677 | Check for valid flags. Drop check for newfd == oldfd. | |
2678 | * dtable.h (dtable::dup_worker): Add flags parameter. | |
2679 | (dtable::dup3): Rename from dup2. | |
2680 | * fcntl.cc (fcntl64): Add F_DUPFD_CLOEXEC case. | |
2681 | * fhandler.h (fhandler_mailslot::get_object_attr): Add flags parameter. | |
2682 | * fhandler.cc (fhandler_base::open): Use security attribute with | |
2683 | inheritance according to setting of O_CLOEXEC flag. | |
2684 | * fhandler_console.cc (fhandler_console::open): Ditto. | |
2685 | * fhandler_fifo.cc (sec_user_cloexec): New inline function to | |
2686 | create security attribute with inheritance according to setting of | |
2687 | O_CLOEXEC flag. | |
2688 | (fhandler_fifo::open): Call sec_user_cloexec to fetch security | |
2689 | attribute. | |
2690 | (fhandler_fifo::wait): Ditto. | |
2691 | * fhandler_mem.cc (fhandler_dev_mem::open): Ditto. | |
2692 | * fhandler_mailslot.cc (fhandler_mailslot::get_object_attr): Take | |
2693 | additional flags parameter. Use security attribute with inheritance | |
2694 | according to setting of O_CLOEXEC flag. | |
2695 | (fhandler_mailslot::open): Call get_object_attr with flags parameter. | |
2696 | * fhandler_registry.cc (fhandler_registry::open): Call set_close_on_exec | |
2697 | on real handles to accommodate O_CLOEXEC flag. | |
2698 | * fhandler_tty.cc (fhandler_tty_slave::open): Ditto. | |
2699 | * fhandler_tape.cc: Create mutex with inheritance according to setting | |
2700 | of O_CLOEXEC flag. | |
2701 | * pipe.cc: Replace usage of O_NOINHERIT with O_CLOEXEC. | |
2702 | (fhandler_pipe::init): Simplify setting close_on_exec flag. | |
2703 | (fhandler_pipe::open): Remove setting close_on_exec flag. | |
2704 | (fhandler_pipe::create): Use security attribute with inheritance | |
2705 | according to setting of O_CLOEXEC flag. | |
2706 | (pipe2): New exported function. | |
2707 | * posix_ipc.cc: Throughout, open backing files with O_CLOEXEC | |
2708 | flag to follow POSIX semantics. | |
2709 | * security.h (sec_none_cloexec): New define. | |
2710 | * syscalls.cc (dup): Add missing extern "C" qualifier. Accommodate | |
2711 | renaming of dtable::dup2 to dtable::dup3. | |
2712 | (dup2): Ditto. Check newfd == oldfd here. | |
2713 | (dup3): New function. Check newfd == oldfd here. | |
2714 | (open): Set close_on_exec flag according to O_CLOEXEC flag before | |
2715 | calling fhandler->open. | |
2716 | * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. | |
2717 | ||
811de4bf CV |
2718 | 2010-01-13 Corinna Vinschen <corinna@vinschen.de> |
2719 | ||
2720 | * include/fcntl.h (O_TTY_INIT): Define as 0. | |
2721 | ||
c0135201 CV |
2722 | 2010-01-13 Corinna Vinschen <corinna@vinschen.de> |
2723 | ||
2724 | * fhandler_tty.cc (fhandler_tty_master::init): Don't erase all default | |
2725 | termios settings of slave console. | |
2726 | ||
4bcdec72 CV |
2727 | 2010-01-13 Corinna Vinschen <corinna@vinschen.de> |
2728 | ||
2729 | * syscalls.cc (rename): Don't exit prematurely with EROFS when trying | |
2730 | to rename an AF_LOCAL socket or when trying to replace an AF_LOCAL | |
2731 | socket. | |
2732 | ||
c04ed45d CV |
2733 | 2010-01-12 Corinna Vinschen <corinna@vinschen.de> |
2734 | ||
2735 | * globals.cc (ro_u_nwfs): New R/O unicode string. | |
2736 | * mount.cc (fs_info::update): Check for NWFS filesystem. Set | |
2737 | has_buggy_basic_info, if so. Add comment to explain why. | |
2738 | (fillout_mntent): Add "nwfs" string to fs_names array. | |
2739 | * mount.h (enum fs_info_type): Add nwfs. | |
2740 | (class fs_info): Add has_buggy_basic_info status flag. Add accessors | |
2741 | for has_buggy_basic_info and is_nwfs. | |
2742 | * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Accommodate | |
2743 | filesystems with broken FileBasicInformation handling. | |
2744 | * path.cc (symlink_info::check): Ditto. | |
2745 | * path.h (path_conv::has_buggy_basic_info): Add method. | |
2746 | ||
4ee93264 CV |
2747 | 2010-01-12 Corinna Vinschen <corinna@vinschen.de> |
2748 | ||
2749 | * dtable.cc (build_fh_name_worker): Remove. Move all functionality | |
2750 | back into build_fh_name. | |
2751 | (build_fh_name): Drop unused HANDLE parameter. Drop call to pc.fillin. | |
2752 | Remove disabled build_fh_name with UNICODE_STRING name parameter. | |
2753 | * dtable.h (build_fh_name): Drop HANDLE parameter from declaration. | |
2754 | Remove declaration for build_fh_name with UNICODE_STRING name parameter. | |
2755 | * path.cc (path_conv::fillin): Remove. | |
2756 | (symlink_info::check): Fix comment. | |
2757 | * path.h (path_conv::fillin): Remove declaration. | |
2758 | * dir.cc: Accommodate change in build_fh_name parameters throughout. | |
2759 | * sec_acl.cc: Ditto. | |
2760 | * syscalls.cc: Ditto. | |
2761 | ||
2762 | * ntea.cc (getxattr_worker): Fix debug output. | |
2763 | (setxattr_worker): Ditto. | |
2764 | * times.cc (utimens_worker): Ditto. | |
2765 | ||
523a66d9 CV |
2766 | 2010-01-11 Corinna Vinschen <corinna@vinschen.de> |
2767 | ||
2768 | * fhandler_proc.cc (format_proc_stat): Use new in_buf. | |
2769 | (format_proc_cpuinfo): Replace szBuffer with a union in_buf. Use type | |
2770 | correct throughout. Add a couple of missing or newer cpu flags. Allow | |
2771 | certain AMD flags for intel as well. | |
2772 | ||
f1817d36 CV |
2773 | 2010-01-10 Corinna Vinschen <corinna@vinschen.de> |
2774 | ||
2775 | * fhandler.h (fhandler_base::fstat_helper): Declare timestamps as | |
2776 | PLARGE_INTEGER. | |
2777 | * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): | |
2778 | Accommodate fstat_helper change of timestamp arguments. | |
2779 | (fhandler_base::fstat_by_name): Ditto. | |
2780 | (fhandler_base::fstat_helper): Define with timestamps as PLARGE_INTEGER. | |
2781 | Accommodate in call to to_timestruc_t. | |
2782 | ||
9f00d746 CV |
2783 | 2010-01-08 Corinna Vinschen <corinna@vinschen.de> |
2784 | ||
2785 | * sec_auth.cc (get_token_group_sidlist): Add BUILTIN\Users account | |
2786 | to all created tokens. | |
2787 | * sec_helper.cc (well_known_users_sid): Define as BUILTIN\Users. | |
2788 | * security.h (well_known_users_sid): Declare. | |
2789 | ||
e1212c43 CF |
2790 | 2010-01-01 Christopher Faylor <me+cygwin@cgf.cx> |
2791 | ||
2792 | * dcrt0.cc: Bump copyright. | |
2793 | ||
1afba8e5 CF |
2794 | 2010-01-01 Christopher Faylor <me+cygwin@cgf.cx> |
2795 | ||
2796 | * dcrt0.cc (dll_crt0_1): Move internal locale setting prior to | |
2797 | potential globify to prevent creation of unglobbed filenames in the | |
2798 | wrong character set. |