Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 216441 Details for
Bug 300929
dbus fixes for Interix
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Don't coredump for sigpipe writing "credentials" byte
dbus-1.3.0-interix-ignore-sigpipe.patch (text/plain), 1.08 KB, created by
Greg Turner
on 2010-01-14 03:28:00 UTC
(
hide
)
Description:
Don't coredump for sigpipe writing "credentials" byte
Filename:
MIME Type:
Creator:
Greg Turner
Created:
2010-01-14 03:28:00 UTC
Size:
1.08 KB
patch
obsolete
>--- dbus/dbus-sysdeps-unix.c.orig 2010-01-13 15:01:22 -0800 >+++ dbus/dbus-sysdeps-unix.c 2010-01-13 15:00:02 -0800 >@@ -1372,6 +1372,10 @@ > { > int bytes_written; > char buf[1] = { '\0' }; >+#ifdef __INTERIX >+ struct sigaction oldsigaction, newsigaction; >+ int sigactionfailed; >+#endif > #if defined(HAVE_CMSGCRED) > union { > struct cmsghdr hdr; >@@ -1397,12 +1401,26 @@ > _DBUS_ASSERT_ERROR_IS_CLEAR (error); > > again: >- >+#ifdef __INTERIX >+ /* It would seem that Interix SIGPIPE happens faster than other UNICES */ >+ newsigaction.sa_handler = SIG_IGN; >+ newsigaction.sa_mask = 0; >+ newsigaction.sa_flags = 0; >+ sigactionfailed = 0; >+ if (sigaction(SIGPIPE, &newsigaction, &oldsigaction) < 0) { >+ _dbus_warn("sigaction failed before writing to pipe.\n"); >+ sigactionfailed = 1; >+ } >+#endif > #if defined(HAVE_CMSGCRED) > bytes_written = sendmsg (server_fd, &msg, 0); > #else > bytes_written = write (server_fd, buf, 1); > #endif >+#ifdef __INTERIX >+ if (!sigactionfailed) >+ sigaction(SIGPIPE, &oldsigaction, NULL); >+#endif > > if (bytes_written < 0 && errno == EINTR) > goto again;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 300929
: 216441 |
216442
|
216443
|
216444