summaryrefslogtreecommitdiff
path: root/libpipe
AgeCommit message (Collapse)Author
2006-07-252006-07-25 Stefan Siegl <stesie@brokenpipe.de>Thomas Schwinge
* pq.c (packet_write): Only dereference AMOUNT if it is not the null pointer and document the change. * pq.h (packet_write): Document the change.
2002-04-24Update copyright year.Marcus Brinkmann
2002-04-222002-04-22 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* pq.c (packet_set_ports): Correctly replace old ports buffer with new one. Take size of mach_port_t rather than pointer to it. (packet_read_ports): Take size of mach_port_t rather than pointer to it. (pq_queue): Update PACKET->num_ports, PACKET->buf_start and PACKET->buf_end for reused packets as well. Submitted by Ognyan Kulev <ogi@fmi.uni-sofia.bg>.
1999-07-111999-07-09 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* pq.c (packet_realloc): Use mmap instead of vm_allocate. (packet_read_ports): Likewise. (packet_read): Likewise.
1999-07-11.Roland McGrath
1999-07-111999-07-10 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* pq.c: Add #include <sys/mman.h> for munmap decl.
1999-07-031999-07-03 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* pq.c (free_packets): Use munmap instead of vm_deallocate.
1998-10-20Add braces to silence gcc warnings.Roland McGrath
1996-10-24Mon Oct 21 21:58:03 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>Thomas Bushnell
* pipe.h: Add extern inline protection. * pq.h: Likewise. * pipe-funcs.c, pq-funcs.c: New files. * Makefile (SRCS): Add pipe-funcs.c and pq-funcs.c.
1996-09-17*** empty log message ***Thomas Bushnell
1996-07-17Initial revisionRoland McGrath
1996-07-16(EWOULDBLOCK): Define to work around new libc bug.Michael I. Bushnell
1996-07-01(pq_queue): Initialize packet->buf_vm_alloced.Miles Bader
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