summaryrefslogtreecommitdiff
path: root/libpipe
AgeCommit message (Collapse)Author
2012-03-25Fix extern inline useSamuel Thibault
* ext2fs/Makefile (SRCS): Add xinl.c * libtreefs/Makefile (OTHERSRCS): Likewise. * term/Makefile (SRCS): Likewise. * ufs/Makefile (SRCS): Likewise. * hostmux/hostmux-xinl.c: Define HOSTMUX_DEFINE_EI instead of HOSTMUX_EI. * libdiskfs/extern-inline.c: Define DISKFS_DEFINE_EXTERN_INLINE instead of DISKFS_EXTERN_INLINE. * libftpconn/xinl.c: Define FTP_CONN_DEFINE_EI instead of FTP_CONN_EI. * libpipe/pipe-funcs.c: Define PIPE_DEFINE_EI instead of PIPE_EI. * libpipe/pq-funcs.c: Define PQ_DEFINE_EI instead of PQ_EI. * libshouldbeinlibc/idvec-funcs.c: Define IDVEC_DEFINE_EI instead of IDVEC_EI. * libshouldbeinlibc/maptime-funcs.c: Define MAPTIME_DEFINE_EI instead of MAPTIME_EI. * libshouldbeinlibc/ugids-xinl.c: Define UGIDS_DEFINE_EI instead of UGIDS_EI. * libstore/xinl.c: Define STORE_DEFINE_EI instead of STORE_EI. * libthreads/rwlock.c: Define RWLOCK_DEFINE_EI instead of RWLOCK_EI. * ext2fs/xinl.c: New file, define EXT2FS_DEFINE_EI and include "ext2fs.h" * libtreefs/xinl.c: New file, define TREEFS_DEFINE_EI and include "treefs.h" and "mig-decls.h". * term/xinl.c: New file, define TERM_DEFINE_EI and include "term.h". * ufs/xinl.c: New file, define UFS_DEFINE_EI and include "ufs.h" * ext2fs/ext2fs.h: Include <features.h>, define EXT2FS_EI to __extern_inline instead of "extern inline", define it to empty when EXT2FS_DEFINE_EI is defined. Always declare extern inline prototypes, and define extern inlines content only if __USE_EXTERN_INLINES or EXT2FS_DEFINE_EI is defined. * libdiskfs/diskfs.h: Likewise with DISKFS_EXTERN_INLINE and DISKFS_DEFINE_EXTERN_INLINE. * libftpconn/ftpconn.h: Likewise with FTP_CONN_EI and FTP_CONN_DEFINE_EI. * libftpconn/priv.h: Likewise. * libpipe/pipe.h: Likewise with PIPE_EI and PIPE_DEFINE_EI. * libpipe/pq.h: Likewise with PQ_EI and PQ_DEFINE_EI. * libshouldbeinlibc/idvec.h: Likewise with IDVEC_EI and IDVEC_DEFINE_EI. * libshouldbeinlibc/maptime.h: Likewise with MAPTIME_EI and MAPTIME_DEFINE_EI. * libshouldbeinlibc/ugids.h: Likewise with UGIDS_EI and UGIDS_DEFINE_EI. * libstore/store.h: Likewise with STORE_EI and STORE_DEFINE_EI. * libthreads/rwlock.h: Likewise with RWLOCK_EI and RWLOCK_DEFINE_EI. * term/term.h: Likewise with TERM_EI and TERM_DEFINE_EI. * ufs/ufs.h: Likewise with UFS_EI and UFS_DEFINE_EI. * libtreefs/treefs.h: Include <features.h>, define TREE_FS_EI to __extern_inline, or to empty when TREEFS_DEFINE_EI is defined. Use TREEFS_EI instead of "extern inline". * libtreefs/mig-decls.h: Use TREEFS_EI instead of "extern inline".
2011-11-27Partially revert fa5e833aSamuel Thibault
libpipe/pipe.c (pipe_recv): Even if `source' is NULL and packet source exists, do not dereference it, as pq_dequeue already does it.
2011-11-27Fix source address reference accountingSamuel Thibault
* libpipe/pipe.c (pipe_recv): If `source' is NULL but packet source exists, dereference it. * pflocal/io.c (S_io_write): Only dereference the source on errors.
2011-08-20fix common misspellingsJonathan Neuschäfer
* Fix spelling with codespell[1] and manually review it. [1] http://git.profusion.mobi/cgit.cgi/lucas/codespell/
2009-07-11Switch to the new ChangeLog style.Thomas Schwinge
* ChangeLog: Wipe out content, and add instructions about how to get it back. * auth/ChangeLog: Remove file. * benchmarks/ChangeLog: Likewise. * boot/ChangeLog: Likewise. * bsdfsck/ChangeLog: Likewise. * config/ChangeLog: Likewise. * console-client/ChangeLog: Likewise. * console/ChangeLog: Likewise. * daemons/ChangeLog: Likewise. * defpager/ChangeLog: Likewise. * doc/ChangeLog: Likewise. * exec/ChangeLog: Likewise. * ext2fs/ChangeLog: Likewise. * fatfs/ChangeLog: Likewise. * fstests/ChangeLog: Likewise. * ftpfs/ChangeLog: Likewise. * hostmux/ChangeLog: Likewise. * hurd/ChangeLog: Likewise. * include/ChangeLog: Likewise. * init/ChangeLog: Likewise. * isofs/ChangeLog: Likewise. * libcons/ChangeLog: Likewise. * libdirmgt/ChangeLog: Likewise. * libdiskfs/ChangeLog: Likewise. * libfshelp/ChangeLog: Likewise. * libftpconn/ChangeLog: Likewise. * libhurdbugaddr/ChangeLog: Likewise. * libihash/ChangeLog: Likewise. * libiohelp/ChangeLog: Likewise. * libnetfs/ChangeLog: Likewise. * libpager/ChangeLog: Likewise. * libpipe/ChangeLog: Likewise. * libports/ChangeLog: Likewise. * libps/ChangeLog: Likewise. * libshouldbeinlibc/ChangeLog: Likewise. * libstore/ChangeLog: Likewise. * libthreads/ChangeLog: Likewise. * libtrivfs/ChangeLog: Likewise. * login/ChangeLog: Likewise. * mach-defpager/ChangeLog: Likewise. * nfs/ChangeLog: Likewise. * nfsd/ChangeLog: Likewise. * pfinet/ChangeLog: Likewise. * pflocal/ChangeLog: Likewise. * proc/ChangeLog: Likewise. * release/ChangeLog: Likewise. * serverboot/ChangeLog: Likewise. * storeio/ChangeLog: Likewise. * sutils/ChangeLog: Likewise. * term/ChangeLog: Likewise. * tmpfs/ChangeLog: Likewise. * trans/ChangeLog: Likewise. * ufs-fsck/ChangeLog: Likewise. * ufs-utils/ChangeLog: Likewise. * ufs/ChangeLog: Likewise. * usermux/ChangeLog: Likewise. * utils/ChangeLog: Likewise.
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