summaryrefslogtreecommitdiff
path: root/libpipe
AgeCommit message (Collapse)Author
1995-09-14(_pipe_no_readers): REALLY wake up writers when the pipe breaks.Miles Bader
1995-09-07(packet_read): Don't leave PACKET in a fucked up state when it's vm_allocate'dMiles Bader
but doesn't a page-multiple amount of data and we're reading everything.
1995-09-01(_pipe_no_readers): Wake up write selects too when the pipe breaks.Miles Bader
1995-08-31(pipe_wait): Renamed to `pipe_wait_readable'.Miles Bader
(pipe_select): Renamed to `pipe_select_readable'. (pipe_writable, pipe_wait_writable, pipe_select_writable): New functions. (pipe_acquire_reader): Call _pipe_first_reader if necessary. (_pipe_first_reader): New declaration. (struct pipe): New fields: `write_limit', `write_atomic', `pending_writes', `pending_write_selects'. (struct pipe): `pending_selects' changed to `pending_read_selects'. (pipe_pair_select): New declaration.
1995-08-31`pipe_pair_select_read_write' --> `pipe_pair_select'.Miles Bader
`pipe_select_read' --> `pipe_select_readable'. `pipe_select_write' --> `pipe_select_writable'.
1995-08-31(pipe_send): Make writes blockable.Miles Bader
(pipe_recv): Wakeup blocked writers. (pipe_kick): Function deleted. (pipe_create): Make connection-oriented pipes start out broken. (_pipe_first_reader): New function. (_pipe_first_writer): Don't check whether PIPE is connection- oriented before clearing PIPE_BROKEN, as otherwise it will never be set. (pipe_pair_select_read_write): New function. (pipe_multiple_lock): New variable.
1995-08-29(pipe_select): New function.Miles Bader
1995-08-29(pipe_send): Use condition_broadcast, not condition_signal.Miles Bader
1995-08-29(pipe_create): Don't initialize interrupt_seq_num field.Miles Bader
1995-08-29(struct pipe): Remove interrupt_seq_num field.Miles Bader
(pipe_wait): Use hurd_condition_wait to detect interrupts instead of previous ad-hoc mechanism.
1995-08-29(pipe_acquire_reader, pipe_acquire_writer, pipe_add_reader, pipe_add_writer):Miles Bader
`aquire' -> `acquire'.
1995-08-29`aquire' -> `acquire'.Miles Bader
1995-08-15(pipe_create): Initialize READERS & WRITERS, not REFS.Miles Bader
(_pipe_first_writer): New function. (_pipe_no_writers, _pipe_no_writers): New function. (pipe_break): Function deleted.
1995-08-15(struct pipe): Keep separate ref counts for readers and writers.Miles Bader
(pipe_aquire_reader, pipe_aquire_writer): New functions. (pipe_release_reader, pipe_release_writer): New functions. (pipe_add_reader, pipe_add_writer): New functions. (pipe_remove_reader, pipe_remove_writer): New functions. (_pipe_first_writer): New function decl. (_pipe_no_writers, _pipe_no_writers): New function decl. (pipe_aquire, pipe_release): Function deleted. (pipe_break): Function decl deleted.
1995-08-01(pipe_recv): Get rid of code to deal with getting the source address from theMiles Bader
control packet if there is no data packet, since pipe_write always writes a data packet.
1995-07-31(pipe_recv): Assert that a control packet should only have a source addressMiles Bader
if there is no corresponding data packet. (pipe_send): Change the test to determine whether we should write a control packet, so that we only do so if we need to. Also, don't record the source address in control packets, as it's recorded in the following data packet anyway, and this prevents it from being dealloc'd twice.
1995-07-31(stream_pipe_class, dgram_pipe_class, seqpack_pipe_class):Miles Bader
Make these declarations extern so they don't fuck up initialization. (seqpacket_pipe_class): Renamed to `seqpack_pipe_class'.
1995-07-26Initial revisionMiles Bader