aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/ChangeLog
blob: 3d6a06b2c3f715b0d2386870b41fb418d27dc66c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
2011-03-18  Christopher Faylor  <me.cygwin2011@cgf.cx>

	* fhandler.h (DEFAULT_PIPEBUFSIZE): Reset to 64K.

2011-03-18  Corinna Vinschen  <corinna@vinschen.de>

	* mmap.cc (mmap_record::alloc_fh): Initialize name strings in fdev to
	empty strings or suffer a SEGV.  Drop second parameter in call to
	build_fh_dev.

2011-03-18  Corinna Vinschen  <corinna@vinschen.de>

	* mmap.cc (class mmap_record): Pack 4 byte-aligned.  Convert member dev
	to plain int.
	(mmap_record::alloc_fh): Create temporary device from dev and use in
	call to build_fh_dev.

2011-03-17  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_socket.cc (get_inet_addr): Make externally available.
	* autoload.cc (GetUdpTable): Define.
	* syslog.cc (connect_syslogd): Use get_inet_addr rather than _stat64
	to check for local socket file.  Create socket with type returned by
	get_inet_addr.  If connect on UDP socket works, test if there's
	really a listening peer, otherwise fall back to Windows event log.
	(try_connect_syslogd): Use syslogd_inited flag to check if syslogd
	is available.

2011-03-16  Corinna Vinschen  <corinna@vinschen.de>

	* crt0.c (mainCRTStartup): Move call to _feinitialise from here...
	* dcrt0.cc (_dll_crt0): ...to here.

2011-03-16  Corinna Vinschen  <corinna@vinschen.de>

	* winver.rc: Fix copyright dates.

2011-03-16  Corinna Vinschen  <corinna@vinschen.de>

	* cygtls.h (struct _local_storage): Redefine process_ident as wchar_t
	pointer.
	* syslog.cc (CYGWIN_LOG_NAME): Convert to wide char constant.
	(openlog): Convert incoming ident string to wide char.  Fix formatting.
	(vsyslog): Print ident string as wide char string.  Convert message
	string to wide char and call UNICODE Win32 Event functions to make sure
	to use correct codeset.
	* tlsoffset.h: Regenerate.

2011-03-14  Corinna Vinschen  <corinna@vinschen.de>

	* uinfo.cc (cygheap_user::env_domain): Use LookupAccountSidW and
	convert user and domain to multibyte strings to make sure to use
	correct codeset.

2011-03-14  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Only use
	file id as inode number if it masters the isgood_inode check.

2011-03-13  Christopher Faylor  <me.cygwin2011@cgf.cx>

	* fhandler.cc (fhandler_base_overlapped::wait_overlapped): Remove
	special treatment for ERROR_NO_SYSTEM_RESOURCES.  Cancel I/O and reset
	the overlapped handle on error.
	(fhandler_base_overlapped::write_overlapped): Limit writes to
	max_atomic_write bytes in blocking case.  Incorporate code from
	now-defunct write_overlapped_fallback.  Fix serious oversight where ptr
	was not advanced as buffer was written.
	(fhandler_base_overlapped::write_overlapped_fallback): Eliminate.
	* fhandler.h (fhandler_base_overlapped::write_overlapped_fallback):
	Ditto for declaration.
	(DEFAULT_PIPEBUFSIZE): Lower size to slightly less than documented
	worst-case atomic write size.
	(fhandler_overlapped::wait_return): Remove unused element.

2011-03-13  Corinna Vinschen  <corinna@vinschen.de>

	* autoload.cc (UuidCreate): Remove.
	(UuidCreateSequential): Remove.
	* ntdll.h (NtAllocateUuids): Declare.
	* syscalls.cc (gethostid): Use NtAllocateUuids function rather than
	UuidCreateSequential/UuidCreate to get rid of rpcrt4 dependency.

2011-03-13  Corinna Vinschen  <corinna@vinschen.de>

	* passwd.cc (internal_getpwsid): Avoid a strict-aliasing compiler
	error with gcc 4.5.1.
	* fhandler_floppy.cc (fhandler_dev_floppy::get_drive_info): Ditto.
	* syscalls.cc (gethostid): Ditto.

2011-03-12  Corinna Vinschen  <corinna@vinschen.de>

	* mmap.cc (mmap_record::page_map): Define as variable array rather than
	as pointer.
	(mmap_record::alloc_page_map): Remove.
	(mmap_record::free_page_map): Remove.
	(mmap_record::init_page_map): New method.
	(mmap_record::add_record): Take mmap_record parameter by reference
	rather than by value.
	(mmap_record::map_pages): Fix comment.
	(mmap_list::add_record): Allocate space for mmap_record including the
	page_map in a single ccalloc call.  Call init_page_map afterwards.
	(mmap_list::del_record): Remove call to mmap_record::free_page_map.

2011-03-12  Corinna Vinschen  <corinna@vinschen.de>

	* times.cc (hires_ms::timeGetTime_ns): Fix formatting in comment.
	(hires_ms::resolution): Cast to DWORD in assignments to minperiod.
	(clock_setres): Improve comment.  Convert period to ULONGLONG and
	store 100ns value to simplify code.

2011-03-11  Corinna Vinschen  <corinna@vinschen.de>

	* times.cc (clock_setres): Use status code from NtSetTimerResolution
	to compute errno.

2011-03-11  Corinna Vinschen  <corinna@vinschen.de>

	* cygwin.din (pthread_spin_destroy): Export.
	(pthread_spin_init): Export.
	(pthread_spin_lock): Export.
	(pthread_spin_trylock): Export.
	(pthread_spin_unlock): Export.
	* posix.sgml (std-susv4): Add pthread_spin_destroy, pthread_spin_init,
	pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock.
	(std-notimpl): Remove pthread_spin_[...].
	* pthread.cc (pthread_spin_init): New function.
	* thread.cc (pthread_spinlock::is_good_object): New function.
	(pthread_mutex::pthread_mutex): Rearrange initializers to accommodate
	protected data in pthread_mutex.
	(pthread_spinlock::pthread_spinlock): New constructor.
	(pthread_spinlock::lock): New method.
	(pthread_spinlock::unlock): New method.
	(pthread_spinlock::init): New method.
	(pthread_spin_lock): New function.
	(pthread_spin_trylock): New function.
	(pthread_spin_unlock): New function.
	(pthread_spin_destroy): New function.
	* thread.h (PTHREAD_SPINLOCK_MAGIC): Define.
	(class pthread_mutex): Change access level of members shared with
	derived classes to protected.
	(pthread_mutex::set_shared): New protected method.
	(class pthread_spinlock): New class, derived class of pthread_mutex.
	* include/pthread.h (pthread_spin_destroy): Declare.
	(pthread_spin_init): Declare.
	(pthread_spin_lock): Declare.
	(pthread_spin_trylock): Declare.
	(pthread_spin_unlock): Declare.
	* include/cygwin/types.h (pthread_spinlock_t): New typedef.
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.

2011-03-11  Corinna Vinschen  <corinna@vinschen.de>

	* times.cc (hires_ms::timeGetTime_ns): Fix typo in comment.

2011-03-11  Corinna Vinschen  <corinna@vinschen.de>

	* times.cc (hires_ms::timeGetTime_ns): Document entire functionality
	of timeGetTime in case we need it.

2011-03-11  Corinna Vinschen  <corinna@vinschen.de>

	* autoload.cc (winmm): Remove time functions.  Don't treat
	unloadable wave functions as fatal.
	* hires.h (hires_ms::timeGetTime_ns): New private method.
	(hires_ms::dmsecs): Call timeGetTime_ns here.
	* ntdll.h (struct _KSYSTEM_TIME): Define.
	(KUSER_SHARED_DATA): Redefine to allow access to InterruptTime.
	(SharedUserData): Define here.
	(NtQueryTimerResolution): Declare.
	(NtSetTimerResolution): Declare.
	* path.cc (SharedUserData): Move to ntdll.h.
	* times.cc (hires_ms::timeGetTime_ns): New private method.
	Use throughout instead of timeGetTime.
	(hires_ms::resolution): Try a call to NtQueryTimerResolution
	to fetch current period.  Fall back to heuristic if that fails.
	(clock_setres): Align period to possible values per a call to
	NtQueryTimerResolution.  Explain why.  Replace calls to
	timeBeginPeriod and timeEndPeriod with underlying call to
	NtSetTimerResolution.

2011-03-11  Corinna Vinschen  <corinna@vinschen.de>

	* net.cc (SIO_BASE_HANDLE): Define.
	(fdsock): If we got an LSP handle, try to try to create a copy of the
	base handle instead.  Change comment to explain.

2011-03-09  Christopher Faylor  <me.cygwin2011@cgf.cx>

	* fhandler.cc (fhandler_base_overlapped::wait_overlapped): Handle
	overlapped_fallback error condition like other error conditions.  Set
	res carefully and specifically for each condition rather than resorting
	to a default.
	(fhandler_base_overlapped::write_overlapped): Preserve errno in
	overlapped_fallback condition.  Correct write_overlapped_fallback to
	avoid inappropriate looping.
	(fhandler_base_overlapped::write_overlapped_fallback): Add some more
	comments.

2011-03-09  Christopher Faylor  <me.cygwin2011@cgf.cx>

	* fhandler.cc (fhandler_base_overlapped::write_overlapp): Oops!
	Accommodate change in arguments to wait_overlapped.

2011-03-09  Christopher Faylor  <me+cygwin@cgf.cx>

	* errno.cc (errmap): Change mapping of NO_SYSTEM_RESOURCES to EFBIG.
	* fhandler.cc (MAX_OVERLAPPED_WRITE_LEN): New constant.
	(MIN_OVERLAPPED_WRITE_LEN): Ditto.
	(fhandler_base_overlapped::close): Accommodate change in arguments to
	wait_overlapped.
	(fhandler_base_overlapped::setup_overlapped): Add __stdcall and regparm
	modifiers.
	(fhandler_base_overlapped::destroy_overlapped): Ditto.
	(fhandler_base_overlapped::has_ongoing_io): Ditto.
	(fhandler_base_overlapped::wait_overlapped): Modify to return an enum
	returning various states.  Accept nonblocking parameter.
	(fhandler_base_overlapped::read_overlapped): Add __stdcall and regparm
	modifiers.  Rework to attempt to be smarter about reacting to states
	returned by wait_overlapped.
	(fhandler_base_overlapped::write_overlapped): Ditto.  Add fallback
	option for when wait_overlapped detects that smaller chunks must be
	written.
	(fhandler_base_overlapped::write_overlapped_fallback): Ditto.
	* fhandler.h (DEFAULT_PIPEBUFSIZE): Move definition here from pipe.cc.
	(fhandler_base::has_ongoing_io): Define with __stdcall and regparm
	modifiers.
	(fhandler_base_overlapped::wait_return): New enum.
	(fhandler_base_overlapped::max_atomic_write): New variable.
	(fhandler_base_overlapped:: wait_overlapped): Accommodate changes
	mentioned above to arguments and modifiers.
	(fhandler_base_overlapped::setup_overlapped): Ditto for modifiers.
	(fhandler_base_overlapped::read_overlapped): Ditto.
	(fhandler_base_overlapped::write_overlapped): Ditto.
	(fhandler_base_overlapped::destroy_overlapped): Ditto.
	(fhandler_base_overlapped::has_ongoing_io): Ditto.
	(fhandler_base_overlapped::fhandler_base_overlapped): Zero
	max_atomic_write.
	* fhandler_fifo.cc (fhandler_fifo::fhandler_fifo): Set max_atomic_write
	to the size of the DEFAULT_PIPEBUFSIZE.
	(fhandler_fifo::wait): Accommodate change in arguments to
	wait_overlapped.
	* pipe.cc (fhandler_pipe::fhandler_pipe): Set max_atomic_write to the
	size of the DEFAULT_PIPEBUFSIZE.
	(fhandler_pipe::create_selectable): Allow minimum size of DEFAULT_PIPEBUFSIZE.
	(DEFAULT_PIPEBUFSIZE): Delete here, move to fhandler.h.

2011-03-08  Corinna Vinschen  <corinna@vinschen.de>

	* security.cc: Fix copyright dates.

2011-03-08  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler.cc (fhandler_base::open): When creating a file on a
	filesystem supporting ACLs, create the file with WRITE_DAC access.
	Explain why.
	* fhandler_disk_file.cc (fhandler_disk_file::mkdir): Ditto for
	directories.
	* fhandler_socket.cc (fhandler_socket::bind): Ditto for sockets.
	* path.cc (symlink_worker): Ditto for symlinks.
	* security.cc (get_file_sd): Always call GetSecurityInfo for directories
	on XP and Server 2003.  Improve comment to explain why.
	(set_file_attribute): Explicitely cast mode_t value to bool in call to
	get_file_sd.
	* wincap.h (wincaps::use_get_sec_info_on_dirs): New element.
	* wincap.cc: Implement above element throughout.

2011-03-04  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_procsys.cc (fhandler_procsys::exists): Rewrite.
	(fhandler_procsys::fill_filebuf): Fill buffer with valid string even if
	reading the symlink fails.

2011-03-03  Corinna Vinschen  <corinna@vinschen.de>

	* posix_ipc.cc (ipc_cond_timedwait): If ipc_mutex_unlock fails, return
	actual error number.
	(_mq_send): Break loop if ipc_cond_timedwait returns with error.
	(_mq_receive): Ditto.

2011-03-03  Corinna Vinschen  <corinna@vinschen.de>

	* errno.cc (__xpg_strerror_r): Add accidentally missing condition.

2011-03-02  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_procsys.cc (fhandler_procsys::open): Call worker exists
	method, rather than wrapper.

2011-03-01  Christopher Faylor  <me+cygwin@cgf.cx>

	* autoload.cc (dll_load): Avoid in_forkee test since this apparently
	fails even when not forked.

2011-03-01  Christopher Faylor  <me+cygwin@cgf.cx>

	* include/cygwin/version.h: Bump CYGWIN_VERSION_DLL_MINOR to 9.

2011-02-28  Christopher Faylor  <me+cygwin@cgf.cx>

	* autoload.cc (dll_load): Only perform DONT_RESOLVE_DLL_REFERENCES hack
	on systems which need it.
	* wincap.cc (use_dont_resolve_hack): Set as appropriate.
	* wincap.h (use_dont_resolve_hack): Define.

2011-02-28  Christopher Faylor  <me+cygwin@cgf.cx>

	* autoload.cc (dll_load): Make inline.  Clarify logic.

2011-02-27  Corinna Vinschen  <corinna@vinschen.de>

	* autoload.cc (dll_load): Only call LoadLibraryExW with
	DONT_RESOLVE_DLL_REFERENCES if a normal LoadLibrary call failed with
	ERROR_INVALID_ADDRESS.
	(LsaRegisterLogonProcess): Align comment to previous change.

2011-02-26  Christopher Faylor  <me+cygwin@cgf.cx>

	* autoload.cc: Use LoadDLLfuncEx3 for all winmm functions.  Accommodate
	changes to LoadDLLprime.
	(LoadDLLprime): Take an extra argument indicating whether this dll
	needs special handling on fork.  Place this information in the "handle"
	location.
	(LoadDLLfuncEx3): Eliminate "func" handling.  Pass new
	no_resolve_on_fork argument to LoadDLLprime.
	(dll_load): New function.
	(std_dll_init): Accommodate changes to dll_info::handle.  Use dll_load
	to load DLL in both cases where it is used.

2011-02-26  Corinna Vinschen  <corinna@vinschen.de>

	* autoload.cc: Make autoloaded ntdll function non-optional.  Ditto for
	secur32 functions, except for LsaRegisterLogonProcess.  Change return
	value to ERROR_PROC_NOT_FOUND.  Explain why.
	* sec_auth.cc (lsaauth): Handle ERROR_PROC_NOT_FOUND from call to
	LsaRegisterLogonProcess when generating the errno value.

2011-02-22  Corinna Vinschen  <corinna@vinschen.de>

	* dcrt0.cc: Fix copyright dates.
	* winsup.h: Ditto.
	* syscalls.cc (_read): Move EXPORT_ALIAS to its rightful place.

2011-02-21  Christopher Faylor  <me+cygwin@cgf.cx>

	* cygwin.din: Mark __assert* and _abort as NOSIGFE.

2011-02-21  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_socket (fhandler_socket::readv): Call recv_internal directly,
	rather than recvmsg.
	(fhandler_socket::writev): Call send_internal directly, rather than
	sendmsg.
	* net.cc (cygwin_recv): Call fhandler_socket::recvfrom directly, rather
	than cygwin_recvfrom.
	(cygwin_send): Call fhandler_socket::sendto directly, rather than
	cygwin_sendto.

2011-02-20  Christopher Faylor  <me+cygwin@cgf.cx>

	* fhandler.cc (fhandler_base_overlapped::close): Finish any pending I/O
	before closing.
	(fhandler_base_overlapped::wait_overlapped): Defensively zero bytes
	read.  Add more info to debugging output.

2011-02-18  Christopher Faylor  <me+cygwin@cgf.cx>

	* dcrt0.cc (dll_crt0_1): Add a CYGHEAP_DEBUG conditional for debugging
	which allocates a lot of space at startup.

2011-02-18  Corinna Vinschen  <corinna@vinschen.de>

	* cygwin.sc: Set alignment of .cygheap section to 64K.

2011-02-15  Corinna Vinschen  <corinna@vinschen.de>

	* spawn.cc (spawn_guts): Only set PID_NOTCYGWIN in _P_OVERLAY mode.
	Drop flag if creating new process failed.

2011-02-15  Corinna Vinschen  <corinna@vinschen.de>

	* Throughout fix copyright dates.

2011-02-15  Corinna Vinschen  <corinna@vinschen.de>

	* devices.in: Throughout use slashes instead of backslashes in the
	native path of devices not backed by native NT devices.
	* devices.cc: Regenerate.
	* globals.cc (ro_u_pmem): Use correct case.
	(ro_u_globalroot): New R/O unicode string.
	* path.cc (path_conv::check): Fix incorrect handling of /proc/sys
	block devices if they are just visited due to a component check.
	(symlink_info::posixify): Fix typo in comment.
	(cygwin_conv_path): Use ro_u_globalroot instead of string constant.
	(fast_cwd_version): New shared variable to store FAST_CWD version
	used on the system.
	(find_fast_cwd_pointer): Rename from find_fast_cwd_pointers.  Don't
	set global fast_cwd_ptr pointer here.  Return pointer value instead.
	(find_fast_cwd): New function to set fast_cwd_ptr and fast_cwd_version.
	(cwdstuff::override_win32_cwd): Call find_fast_cwd from here.
	Check for fast_cwd_version to differ between old and new FAST_CWD
	structure.  Check old_cwd for NULL to avoid SEGV.  Don't set CWD if
	we have neitehr a valid fast_cwd_ptr, nor a valid CWD handle in the
	process parameter block.
	(cwdstuff::set): Create Win32 path taking /proc/sys paths into account.
	* spawn.cc (spawn_guts): Recode creating runpath.  Also take /proc/sys
	paths into account.  Drop special CWD handling when starting non-Cygwin
	processes.

2011-02-15  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_procsys.cc (fhandler_procsys::opendir): Avoid SEGV if
	opening object directory fails.
	* fhandler_virtual.cc (fhandler_virtual::opendir): Don't leak memory.

2011-02-15  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Don't
	append slash if there is one already.

2011-02-15  Corinna Vinschen  <corinna@vinschen.de>

	Revert change from 2010-08-31:
	* path.cc (normalize_posix_path): Drop support for //./ and //?/
	prefixes.
	(path_conv::check): Ditto.

2011-02-15  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Use POSIX
	path to check for symlink.

2011-02-14  Corinna Vinschen  <corinna@vinschen.de>

	* config/i386/profile.h: Sync with Mingw.

2011-02-13  Corinna Vinschen  <corinna@vinschen.de>

	* path.cc (struct _FAST_CWD): Redefine to new layout used since patch
	for KB 2393802.  Adjust comments throughout.
	(struct _FAST_CWD_OLD): Rename former definition.
	(cwdstuff::override_win32_cwd): Check if the OS is using the old or the
	new FAST_CWD structure layout and handle accordingly.

2011-02-11  Christopher Faylor  <me+cygwin@cgf.cx>

	* mkstatic: Make sure that we are not cd'ed to temporary directory on
	exit to avoid bogus warnings on directory cleanup.
	* speclib: Ditto.
	* mkimport: Ditto.

2011-02-11  Christopher Faylor  <me+cygwin@cgf.cx>

	* cygwin.sc: Eliminate __cygheap_mid.
	* cygheap.cc: Ditto.

2011-02-11  Christopher Faylor  <me+cygwin@cgf.cx>

	* cygheap.cc (_cygheap_mid): Drop unneeded section attribute.
	(cygheap_init): Just zero cygheap structure.
	* cygwin.sc: Keep 16 byte alignment but drop all other alignments
	related to cygheap.  Eliminate unused __cygheap_end1.

2011-02-11  Corinna Vinschen  <corinna@vinschen.de>

	* cygwin.sc: Raise default cygheap size to 1 Meg.  Set alignment to
	standard 64K.

2011-02-11  Corinna Vinschen  <corinna@vinschen.de>

	* include/endian.h: Move definitions of __BIG_ENDIAN, __LITTLE_ENDIAN,
	and __BYTE_ORDER into ...
	* include/bits/endian.h: New file.
	* include/arpa/nameser_compat.h: Include endian.h rather than defining
	BYTE_ORDER here.
	* include/asm/byteorder.h: Include bits/endian.h.  Drop definition of
	__LITTLE_ENDIAN.
	* include/netinet/ip.h: Include bits/endian.h.  Drop definitions of
	BIG_ENDIAN, LITTLE_ENDIAN, and BYTE_ORDER.  Use underscored variants
	of aforementioned constants.
	* include/netinet/tcp.h: Ditto.
	* include/sys/param.h: Drop disabled definitions of BIG_ENDIAN,
	LITTLE_ENDIAN, and BYTE_ORDER.

	* include/netinet/ip.h: Reformat.  Define setsockopt IP_TOS options
	matching recent RFCs.  Tweak comments.

2011-02-10  Eric Blake  <eblake@redhat.com>

	* errno.cc (includes): Avoid compilation failure if <string.h>
	settles on wrong strerror_r signature.

	* errno.cc (__xpg_strerror_r): New function.
	(strerror_r): Update to copy newlib's fixes.
	(strerror): Set errno on failure.
	(_sys_errlist): Cause EINVAL failure for reserved values.
	* cygwin.din: Export new function.
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Combine
	this into minor 236.

2011-02-09  Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>

	* cygwin.din (pthread_yield): Export as alias to sched_yield.
	* include/pthread.h (pthread_yield): Declare.
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
	* posix.sgml (std-deprec): Add pthread_yield.

2011-02-09  Christopher Faylor  <me+cygwin@cgf.cx>

	* cygheap.cc: Add some __stdcall decoration where appropriate.
	* lib/cygwin_crt0.c: __attribute -> __attribute__.

2011-02-09  Christopher Faylor  <me+cygwin@cgf.cx>

	* hookapi.cc (hook_or_detect_cygwin): Prevent i from being considered
	uninitialized by gcc.

2011-02-09  Christopher Faylor  <me+cygwin@cgf.cx>

	* exception.h: Remove DEBUG_EXCEPTION left over debugging ifdef.

2011-02-08  Christopher Faylor  <me+cygwin@cgf.cx>

	* dll_init.cc: Fix typo in comment.

2011-02-07  Corinna Vinschen  <corinna@vinschen.de>

	* configure.in: Remove AC_ALLOCA test and test for __builtin_memset.
	* configure: Regenerate.

2011-02-07  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_console.cc (fhandler_console::write_normal): Remove
	erroneous premature return after collecting truncated multibyte
	sequence in trunc_buf.  Rather fall through to printing routine.
	Fix return value to take trunc_buf content into account.  Improve
	comments.

2011-02-05  Christopher Faylor  <me+cygwin@cgf.cx>

	* autoload.cc (wsock_init): Properly define WSAStartup function pointer
	to avoid stack damage.

2011-02-02  Corinna Vinschen  <corinna@vinschen.de>

	* libc/bsdlib.cc: Include err.h.

2011-02-02  Eric Blake  <eblake@redhat.com>

	* include/err.h: Fix loss of semicolons in previous patch.

2011-02-02  Corinna Vinschen  <corinna@vinschen.de>

	* include/err.h (err): Add noreturn attribute.
	(errx): Ditto.
	(verr): Ditto.
	(verrx): Ditto.

2011-02-02  Corinna Vinschen  <corinna@vinschen.de>

	* path.cc (conv_path_list): Remove enclosing quotes and trailing
	backslashes from Win32 environment path lists.

2011-02-01  Christian Franke  <franke@computer.org>

	* fhandler.cc (fhandler_base::fsync): Ignore ERROR_INVALID_FUNCTION
	error from FlushFileBuffers().

2011-01-31  Corinna Vinschen  <corinna@vinschen.de>

	* syscalls.cc (utmp_data): Fix potential buffer overflow.

2011-01-31  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_socket.cc (address_in_use): Improve comment readability.

2011-01-30  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_socket.cc (address_in_use): Disable.  Add comment.
	(fhandler_socket::bind): Change comment to explain setting the
	SO_EXCLUSIVEADDRUSE socket option.  Remove code which checks for
	address in use.
	* net.cc (cygwin_setsockopt): Never set SO_REUSEADDR option.  Improve
	comment to compensate for the deleted comment in fhandler_socket::bind.
	* wincap.cc: Throughout, drop has_enhanced_socket_security from wincaps.
	* wincap.h (struct wincaps): Drop has_enhanced_socket_security flags
	and method.

2011-01-28 Peter Foley <jpfoley2@verizon.net>

	* configure.in: Define LIBSERVER regardless of cross_host.
	* configure: Regenerate.

2011-01-28  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_socket.cc (fhandler_socket::wait_for_events): Call
	pthread_testcancel in case of timeout to enable pthread_cancel
	on waiting thread.

2011-01-27  Corinna Vinschen  <corinna@vinschen.de>

	* include/features.h (__STDC_ISO_10646__): Move to newlib's
	sys/features.h.

2011-01-26  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_disk_file.cc (fhandler_base::fstat_by_nfs_ea): Fix
	computation of st_blocks.
	(fhandler_base::fstat_helper): Fix formatting.

2011-01-24  Corinna Vinschen  <corinna@vinschen.de>

	* include/features.h (__STDC_ISO_10646__): Define.  Add comment.

2011-01-21  Corinna Vinschen  <corinna@vinschen.de>

	* syscalls.cc (rename): Fix permission problem with symlinks on NFS.
	Rework how NtOpenFile gets called to make it more readable.  Change
	comment.

2011-01-20  Corinna Vinschen  <corinna@vinschen.de>

	* exec.cc: Include pinfo.h.
	* winf.h: Move definitions of _P_PATH_TYPE_EXEC and _P_MODE from here...
	* pinfo.h: ...to here.
	(_P_PATH_TYPE_EXEC): Redefine to be bigger than _P_SYSTEM.
	(_P_MODE): Redefine so as not to mask out _P_SYSTEM.
	* spawn.cc (spawnlp): Add _P_PATH_TYPE_EXEC flag in call to spawnve.
	(spawnlpe): Ditto.
	(spawnvp): Ditto.

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

	* spawn.cc (av::fixup): Reenable #! handling for all exec functions.
	Return ENOEXEC in !p_type_exec case only for unrecognized files.
	Fix comment formatting.

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

	* exec.cc (execlp): Add missing _P_PATH_TYPE_EXEC flag in call to
	spawnve.

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

	* exec.cc: Rearrange functions in alphabetical order.
	(_execve): Drop temporary define and drop export alias.
	(execl): Call spawnve.
	(execle): New function.
	(execlp): New function.
	(execv): Call spawnve.
	(execve): Drop converting NULL envp to emtpy envp.
	(execvp): Call spawnve.
	(execvpe): Drop converting NULL envp to emtpy envp.  Call spawnve.
	(fexecve): Call spawnve.
	* spawn.cc (spawnve): Convert NULL envp to emtpy envp.  Remove outdated
	comment.
	(spawnlp): Call spawnve.
	(spawnlpe): Ditto.
	(spawnvp): Ditto.
	(spawnvpe): Fix formatting.

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

	* exec.cc (strccpy): Move function from here...
	* strfuncs.cc (strccpy): ...to here.
	* string.h (strccpy): Declare.
	* winsup.h (strccpy): Drop declaration.

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

	* errno.cc (errmap): Add error codes for invalid binaries.
	* exec.cc (execvp): Call spawnve with _P_PATH_TYPE_EXEC flag
	from here.
	(execvpe): Ditto.
	* spawn.cc (spawn_guts): Filter _P_PATH_TYPE_EXEC from mode and
	store in p_type_exec.  Call av::fixup with addtional p_type_exec
	argument.
	(spawnve): Check for filtered mode.
	(spawnvpe): Add _P_PATH_TYPE_EXEC flag when calling spawnve.
	(av::fixup): Accept additional bool parameter p_type_exec.  Only check
	for script if p_type_exec is true.
	* winf.h (_P_PATH_TYPE_EXEC): Define.
	(_P_MODE): Define.
	(av::fixup): Declare with additional bool parameter.

2011-01-17  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_proc.cc (format_proc_partitions): Fix compiler warning.

2011-01-17  Corinna Vinschen  <corinna@vinschen.de>

	* path.cc (path_conv::check): Don't follow reparse point symlinks if
	PC_SYM_NOFOLLOW_REP flag is set.
	(cygwin_conv_path): Set PC_SYM_NOFOLLOW_REP flag when converting from
	POSIX to Win32.
	* path.h (enum pathconv_arg): Define PC_SYM_NOFOLLOW_REP flag.

2011-01-17  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_proc.cc (proc_tab_cmp): Fix typo in comment.
	(fhandler_proc::fill_filebuf): Handle return value of 0 from format
	function as error.
	(format_proc_stat): Set errno when returning 0 size.
	(format_proc_partitions): Rewrite method to fetch partition info.

2011-01-13  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_disk_file.cc (fhandler_base::fstat_helper): Always set
	st_size of directories to 0.  Explain why.

2011-01-12  Corinna Vinschen  <corinna@vinschen.de>

	* posix.sgml: Add madvise to BSD list.

2011-01-12  Corinna Vinschen  <corinna@vinschen.de>

	* cygwin.din (madvise): Export posix_madvise as madvise.
	* include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR.
	* include/sys/mman.h: Define madvise constants, keep Linux-specific
	constants undefined.
	(madvise): Declare.

2011-01-12  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler.h (struct part_t): New type.
	(class fhandler_dev_floppy): Convert partitions to part_t pointer.
	Add lock_partition method.
	* fhandler_floppy.cc (fhandler_dev_floppy::lock_partition): New method
	to implement ondemand partition locking.
	(fhandler_dev_floppy::write_file): Call lock_partition from here if
	writing failed due to a potential write restriction on a disk
	partition.  
	(fhandler_dev_floppy::open): Don't lock partitions here.
	(fhandler_dev_floppy::close): Keep track of partition handle reference
	count.  Close handles and remove partitions pointer ony if count is 0.
	(fhandler_dev_floppy::dup): Just copy partitions pointer and increment
	reference count.

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

	* fhandler.h (MAX_PARTITIONS): New definition.
	(class fhandler_dev_floppy): Add partitions array member.  Add close
	method.
	* fhandler_floppy.cc (fhandler_dev_floppy::fhandler_dev_floppy): Zero
	out partitions array.
	(fhandler_dev_floppy::open): Fix "entire disk" condition for call to 
	DeviceIoControl (FSCTL_ALLOW_EXTENDED_DASD_IO).
	When opening disks for writing, call DeviceIoControl (FSCTL_LOCK_VOLUME)
	on all affected disk partitions starting with Vista.
	(fhandler_dev_floppy::close): New method.
	(fhandler_dev_floppy::dup): Duplicate handles in partitions, if any.
	* wincap.h (wincaps::has_restricted_raw_disk_access): New element.
	* wincap.cc: Implement above element throughout.

2011-01-11  Yaakov Selkowitz  <yselkowitz@users.sourceforge.net>

	* termios.cc (cfgetospeed, cfgetispeed): Constify argument per POSIX.
	* include/sys/termios.h (cfgetospeed, cfgetispeed): Declare functions.
	Move macros after declarations and make conditional on !__cplusplus.

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

	* cygtls.cc (_cygtls::init_thread): Call _REENT_INIT_PTR.  Drop setting
	current locale and calling srand48.

2011-01-02  Christopher Faylor  <me+cygwin@cgf.cx>

	* ChangeLog-2010: Create from ChangeLog.
	* ChangeLog: Start fresh.