summaryrefslogtreecommitdiff
path: root/libpipe
AgeCommit message (Collapse)Author
1996-01-23(packet_fit): New function.Miles Bader
(packet_ensure, packet_ensure_efficiently): Use packet_fit().
1996-01-23(packet_read): If there's lots of empty space at the beginning of aMiles Bader
vm_alloced buffer, deallocate it.
1996-01-22(packet_realloc): Reflect in the new values of BUF_START & BUF_END that we'veMiles Bader
removed any empty space at the beginning of BUF.
1996-01-14(packet_ensure, packet_ensure_efficiently):Miles Bader
Use packet_new_size() instead of packet_size_adjust(). (packet_size_adjust): Declaration removed. (packet_new_size): New declaration.
1996-01-14(pipe_send):Miles Bader
For non-blocking writes, avoid writing more than the user requested.
1996-01-14(packet_size_adjust): Function removed.Miles Bader
(packet_new_size): New function. (packet_read): Re-arrange to be slightly less confusing. Reverse start-past-buf-beginning test that may have leaked memory.
1996-01-12(pq_queue): Initialize the ports_alloced field.Miles Bader
(packet_read): When a page-aligned read consumes the whole buffer, but there's a non-page-multiple amount available, don't let buf_len go negative.
1995-10-09Specify shared library dependencies.Roland McGrath
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