From 4c9a77261e713f62248a79cc6b68290764da2b71 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Wed, 23 Dec 2009 00:35:18 +0000 Subject: [PATCH] * select.cc (fhandler_fifo::select_read): Fill in device specific record. (fhandler_fifo::select_write): Ditto. (fhandler_fifo::select_except): Ditto. --- winsup/cygwin/ChangeLog | 7 +++++++ winsup/cygwin/select.cc | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 385115af4..26291f0d8 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,10 @@ +2009-12-22 Christopher Faylor + + * select.cc (fhandler_fifo::select_read): Fill in device specific + record. + (fhandler_fifo::select_write): Ditto. + (fhandler_fifo::select_except): Ditto. + 2009-12-21 Corinna Vinschen * path.cc (cygwin_conv_path): Add band-aid including comment to avoid diff --git a/winsup/cygwin/select.cc b/winsup/cygwin/select.cc index 1cd18e720..64c3cdecd 100644 --- a/winsup/cygwin/select.cc +++ b/winsup/cygwin/select.cc @@ -742,6 +742,9 @@ fhandler_pipe::select_except (select_stuff *ss) select_record * fhandler_fifo::select_read (select_stuff *ss) { + if (!ss->device_specific_pipe + && (ss->device_specific_pipe = new select_pipe_info) == NULL) + return NULL; select_record *s = ss->start.next; s->startup = start_thread_pipe; s->peek = peek_pipe; @@ -755,6 +758,9 @@ fhandler_fifo::select_read (select_stuff *ss) select_record * fhandler_fifo::select_write (select_stuff *ss) { + if (!ss->device_specific_pipe + && (ss->device_specific_pipe = new select_pipe_info) == NULL) + return NULL; select_record *s = ss->start.next; s->startup = start_thread_pipe; s->peek = peek_pipe; @@ -768,6 +774,9 @@ fhandler_fifo::select_write (select_stuff *ss) select_record * fhandler_fifo::select_except (select_stuff *ss) { + if (!ss->device_specific_pipe + && (ss->device_specific_pipe = new select_pipe_info) == NULL) + return NULL; select_record *s = ss->start.next; s->startup = start_thread_pipe; s->peek = peek_pipe;