summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/xorg-lib/xtrans/abstract_socket_fix.patch
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:14:24 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:29:45 +0100
commit29d6678fd546377459ef75cf54abeef5b969b5cf (patch)
tree8edd65790e37a00d01c3f203f773fe4b5012db18 /meta/recipes-graphics/xorg-lib/xtrans/abstract_socket_fix.patch
parentda49de6885ee1bc424e70bc02f21f6ab920efb55 (diff)
downloadpoky-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.gz
Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/recipes-graphics/xorg-lib/xtrans/abstract_socket_fix.patch')
-rw-r--r--meta/recipes-graphics/xorg-lib/xtrans/abstract_socket_fix.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/meta/recipes-graphics/xorg-lib/xtrans/abstract_socket_fix.patch b/meta/recipes-graphics/xorg-lib/xtrans/abstract_socket_fix.patch
new file mode 100644
index 0000000000..197da0735d
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/xtrans/abstract_socket_fix.patch
@@ -0,0 +1,58 @@
1From 556a351de83fc6f401b02213dae95731553c216d Mon Sep 17 00:00:00 2001
2From: Loïc Minier <lool@dooz.org>
3Date: Mon, 24 Mar 2008 19:38:27 +0000
4Subject: Bug #10489: Don't retry unix socket connect()s on ENOENT.
5
6If the socket isn't there, it's not gonna magically appear. Either it's
7a server socket and you should have just waited for the SIGUSR1 from the
8server, or it's a stale reference to an ICE socket.
9
10However, do retry once, so fallback from abstract to filesystem namespace
11works.
12
13Originally Debian bug #385976.
14---
15diff --git a/Xtranssock.c b/Xtranssock.c
16index 8a7d2ec..da4afe9 100644
17--- a/Xtranssock.c
18+++ b/Xtranssock.c
19@@ -2146,8 +2146,13 @@ TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, char *host, char *port)
20 errno = olderrno;
21
22 /*
23- * If the error was ENOENT, the server may be starting up
24- * and we should try again.
25+ * If the error was ENOENT, the server may be starting up; we used
26+ * to suggest to try again in this case with
27+ * TRANS_TRY_CONNECT_AGAIN, but this introduced problems for
28+ * processes still referencing stale sockets in their environment.
29+ * Hence, we now return a hard error, TRANS_CONNECT_FAILED, and it
30+ * is suggested that higher level stacks handle retries on their
31+ * level when they face a slow starting server.
32 *
33 * If the error was EWOULDBLOCK or EINPROGRESS then the socket
34 * was non-blocking and we should poll using select
35@@ -2161,14 +2166,14 @@ TRANS(SocketUNIXConnect) (XtransConnInfo ciptr, char *host, char *port)
36 else if (olderrno == EINTR)
37 return TRANS_TRY_CONNECT_AGAIN;
38 else if (olderrno == ENOENT) {
39- /*
40- * If opening as abstract socket failed, try again "normally"
41- */
42- if (abstract)
43+ /* If opening as abstract socket failed, try again normally */
44+ if (abstract) {
45 ciptr->transptr->flags &= ~(TRANS_ABSTRACT);
46- return TRANS_TRY_CONNECT_AGAIN;
47- }
48- else {
49+ return TRANS_TRY_CONNECT_AGAIN;
50+ } else {
51+ return TRANS_CONNECT_FAILED;
52+ }
53+ } else {
54 PRMSG (2,"SocketUNIXConnect: Can't connect: errno = %d\n",
55 EGET(),0, 0);
56
57--
58cgit v0.7.2-37-g538c