From 0e36cdd54964c4012acec2bb8e598b85e82d2846 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Fri, 10 Jul 2009 21:33:02 -0400 Subject: Bug 896 - Avoid race conditions reading message from exited process MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Patch based on extensive work from Michael Meeks , thanks to Dafydd Harries , Kimmo Hämäläinen and others. The basic idea with this bug is that we effectively ignore errors on write. Only when we're done reading from a connection do we close down a connection. This avoids a race condition where if a process (such as dbus-send) exited while we still had data to read in the buffer, we'd miss that data. --- dbus/dbus-sysdeps.h | 1 + 1 file changed, 1 insertion(+) (limited to 'dbus/dbus-sysdeps.h') diff --git a/dbus/dbus-sysdeps.h b/dbus/dbus-sysdeps.h index 2fd54214..8ce6566d 100644 --- a/dbus/dbus-sysdeps.h +++ b/dbus/dbus-sysdeps.h @@ -362,6 +362,7 @@ dbus_bool_t _dbus_get_is_errno_nonzero (void); dbus_bool_t _dbus_get_is_errno_eagain_or_ewouldblock (void); dbus_bool_t _dbus_get_is_errno_enomem (void); dbus_bool_t _dbus_get_is_errno_eintr (void); +dbus_bool_t _dbus_get_is_errno_epipe (void); const char* _dbus_strerror_from_errno (void); void _dbus_disable_sigpipe (void); -- cgit