aboutsummaryrefslogtreecommitdiff
path: root/libpipe
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright year.Marcus Brinkmann2002-04-241-1/+1
|
* 2002-04-22 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann2002-04-222-5/+18
| | | | | | | | | | * 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-09 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell1999-07-112-7/+14
| | | | | | * pq.c (packet_realloc): Use mmap instead of vm_allocate. (packet_read_ports): Likewise. (packet_read): Likewise.
* .Roland McGrath1999-07-111-0/+4
|
* 1999-07-10 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath1999-07-111-0/+1
| | | | * pq.c: Add #include <sys/mman.h> for munmap decl.
* 1999-07-03 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell1999-07-032-3/+6
| | | | * pq.c (free_packets): Use munmap instead of vm_deallocate.
* Add braces to silence gcc warnings.Roland McGrath1998-10-203-42/+58
|
* Mon Oct 21 21:58:03 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>Thomas Bushnell1996-10-246-25/+46
| | | | | | | * 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.
* *** empty log message ***Thomas Bushnell1996-09-172-3/+7
|
* Initial revisionRoland McGrath1996-07-171-0/+137
|
* (EWOULDBLOCK): Define to work around new libc bug.Michael I. Bushnell1996-07-161-1/+3
|
* (pq_queue): Initialize packet->buf_vm_alloced.Miles Bader1996-07-011-1/+2
|
* (packet_fit): New function.Miles Bader1996-01-231-22/+49
| | | | (packet_ensure, packet_ensure_efficiently): Use packet_fit().
* (packet_read): If there's lots of empty space at the beginning of aMiles Bader1996-01-231-3/+22
| | | | vm_alloced buffer, deallocate it.
* (packet_realloc): Reflect in the new values of BUF_START & BUF_END that we'veMiles Bader1996-01-221-2/+2
| | | | removed any empty space at the beginning of BUF.
* (packet_ensure, packet_ensure_efficiently):Miles Bader1996-01-141-9/+7
| | | | | | Use packet_new_size() instead of packet_size_adjust(). (packet_size_adjust): Declaration removed. (packet_new_size): New declaration.
* (pipe_send):Miles Bader1996-01-141-1/+1
| | | | For non-blocking writes, avoid writing more than the user requested.
* (packet_size_adjust): Function removed.Miles Bader1996-01-141-39/+33
| | | | | | (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.
* (pq_queue): Initialize the ports_alloced field.Miles Bader1996-01-121-5/+9
| | | | | (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.
* Specify shared library dependencies.Roland McGrath1995-10-091-0/+3
|
* (_pipe_no_readers): REALLY wake up writers when the pipe breaks.Miles Bader1995-09-141-1/+1
|
* (packet_read): Don't leave PACKET in a fucked up state when it's vm_allocate'dMiles Bader1995-09-071-13/+30
| | | | but doesn't a page-multiple amount of data and we're reading everything.
* (_pipe_no_readers): Wake up write selects too when the pipe breaks.Miles Bader1995-09-011-1/+4
|
* (pipe_wait): Renamed to `pipe_wait_readable'.Miles Bader1995-08-311-14/+71
| | | | | | | | | | | (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.
* `pipe_pair_select_read_write' --> `pipe_pair_select'.Miles Bader1995-08-311-4/+4
| | | | | `pipe_select_read' --> `pipe_select_readable'. `pipe_select_write' --> `pipe_select_writable'.
* (pipe_send): Make writes blockable.Miles Bader1995-08-311-22/+168
| | | | | | | | | | | (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.
* (pipe_select): New function.Miles Bader1995-08-291-1/+14
|
* (pipe_send): Use condition_broadcast, not condition_signal.Miles Bader1995-08-291-2/+2
|
* (pipe_create): Don't initialize interrupt_seq_num field.Miles Bader1995-08-291-1/+0
|
* (struct pipe): Remove interrupt_seq_num field.Miles Bader1995-08-291-12/+1
| | | | | (pipe_wait): Use hurd_condition_wait to detect interrupts instead of previous ad-hoc mechanism.
* (pipe_acquire_reader, pipe_acquire_writer, pipe_add_reader, pipe_add_writer):Miles Bader1995-08-291-6/+6
| | | | `aquire' -> `acquire'.
* `aquire' -> `acquire'.Miles Bader1995-08-291-1/+1
|
* (pipe_create): Initialize READERS & WRITERS, not REFS.Miles Bader1995-08-151-15/+33
| | | | | | (_pipe_first_writer): New function. (_pipe_no_writers, _pipe_no_writers): New function. (pipe_break): Function deleted.
* (struct pipe): Keep separate ref counts for readers and writers.Miles Bader1995-08-151-13/+74
| | | | | | | | | | | (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.
* (pipe_recv): Get rid of code to deal with getting the source address from theMiles Bader1995-08-011-16/+3
| | | | | control packet if there is no data packet, since pipe_write always writes a data packet.
* (pipe_recv): Assert that a control packet should only have a source addressMiles Bader1995-07-311-8/+20
| | | | | | | | 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.
* (stream_pipe_class, dgram_pipe_class, seqpack_pipe_class):Miles Bader1995-07-311-3/+3
| | | | | Make these declarations extern so they don't fuck up initialization. (seqpacket_pipe_class): Renamed to `seqpack_pipe_class'.
* Initial revisionMiles Bader1995-07-269-0/+1357