+2009-06-28 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * gendef (cleanup): Rename from 'nocr'. Remove comments and trailing
+ spaces.
+ * cygwin.din: Add long-needed comment describing what
+ dll_crt0__FP11per_process demangles to.
+
2009-06-26 Corinna Vinschen <corinna@vinschen.de>
* wincap.h (wincaps::has_broken_alloc_console): New element.
dlerror NOSIGFE
dlfork NOSIGFE
_dll_crt0@0 NOSIGFE
-dll_crt0__FP11per_process NOSIGFE
+dll_crt0__FP11per_process NOSIGFE # dll_crt0(per_process *)
dll_dllcrt0 NOSIGFE
dll_entry@12 NOSIGFE
dll_noncygwin_dllcrt0 NOSIGFE
if (doit)
{
set_overlapped (ov);
- res = !!(ov->hEvent = CreateEvent (&sec_none_nih, true, false, NULL));
+ res = !!(ov->hEvent = CreateEvent (&sec_none_nih, true, true, NULL));
}
else
{
debug_printf ("EOF");
}
- /* Make sure the event is unsignalled (this is a potential race in a multi-threaded
- app. Sigh.). Must do this after WFMO and GetOverlappedResult or suffer
- occasional sporadic problems:
- http://cygwin.com/ml/cygwin/2008-08/msg00511.html */
- if (err != ERROR_IO_PENDING)
- ResetEvent (get_overlapped ()->hEvent);
if (writing && (err == ERROR_NO_DATA || err == ERROR_BROKEN_PIPE))
raise (SIGPIPE);
return res;
# details.
#
use strict;
-sub nocr(@);
+sub cleanup(@);
+
my $in = shift;
my $tls_offsets = shift;
my $out = shift;
open(IN, $in) or die "$0: couldn't open \"$in\" - $!\n";
my @top = ();
while (<IN>) {
- push(@top, nocr $_);
+ push(@top, cleanup $_);
last if /^\s*exports\s*$/i;
}
-my $libline = nocr scalar(<IN>);
-my @in = nocr <IN>;
+my $libline = cleanup scalar(<IN>);
+my @in = cleanup <IN>;
close(IN);
my %sigfe = ();
EOF
}
-sub nocr(@) {
+sub cleanup(@) {
map {s/\r//g; $_} @_;
+ map {s/#.*//g; $_} @_;
+ map {s/[ \t]+$//g; $_} @_;
}
else if (fh->get_device () == FH_PIPER)
select_printf ("%s, select for write on read end of pipe",
fh->get_name ());
+ else if (fh->get_overlapped ()->hEvent
+ && WaitForSingleObject (fh->get_overlapped ()->hEvent, 0)
+ != WAIT_OBJECT_0)
+ s->write_ready = false;
else
{
#if 0