diff options
Diffstat (limited to 'net/unix')
-rw-r--r-- | net/unix/Kconfig | 21 | ||||
-rw-r--r-- | net/unix/af_unix.c | 4 |
2 files changed, 23 insertions, 2 deletions
diff --git a/net/unix/Kconfig b/net/unix/Kconfig new file mode 100644 index 0000000000..5a69733bcd --- /dev/null +++ b/net/unix/Kconfig | |||
@@ -0,0 +1,21 @@ | |||
1 | # | ||
2 | # Unix Domain Sockets | ||
3 | # | ||
4 | |||
5 | config UNIX | ||
6 | tristate "Unix domain sockets" | ||
7 | ---help--- | ||
8 | If you say Y here, you will include support for Unix domain sockets; | ||
9 | sockets are the standard Unix mechanism for establishing and | ||
10 | accessing network connections. Many commonly used programs such as | ||
11 | the X Window system and syslog use these sockets even if your | ||
12 | machine is not connected to any network. Unless you are working on | ||
13 | an embedded system or something similar, you therefore definitely | ||
14 | want to say Y here. | ||
15 | |||
16 | To compile this driver as a module, choose M here: the module will be | ||
17 | called unix. Note that several important services won't work | ||
18 | correctly if you say M here and then neglect to load the module. | ||
19 | |||
20 | Say Y unless you know what you are doing. | ||
21 | |||
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index c420eba487..d403e34088 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c | |||
@@ -302,7 +302,7 @@ static void unix_write_space(struct sock *sk) | |||
302 | * may receive messages only from that peer. */ | 302 | * may receive messages only from that peer. */ |
303 | static void unix_dgram_disconnected(struct sock *sk, struct sock *other) | 303 | static void unix_dgram_disconnected(struct sock *sk, struct sock *other) |
304 | { | 304 | { |
305 | if (skb_queue_len(&sk->sk_receive_queue)) { | 305 | if (!skb_queue_empty(&sk->sk_receive_queue)) { |
306 | skb_queue_purge(&sk->sk_receive_queue); | 306 | skb_queue_purge(&sk->sk_receive_queue); |
307 | wake_up_interruptible_all(&unix_sk(sk)->peer_wait); | 307 | wake_up_interruptible_all(&unix_sk(sk)->peer_wait); |
308 | 308 | ||
@@ -1619,7 +1619,7 @@ static long unix_stream_data_wait(struct sock * sk, long timeo) | |||
1619 | for (;;) { | 1619 | for (;;) { |
1620 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 1620 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); |
1621 | 1621 | ||
1622 | if (skb_queue_len(&sk->sk_receive_queue) || | 1622 | if (!skb_queue_empty(&sk->sk_receive_queue) || |
1623 | sk->sk_err || | 1623 | sk->sk_err || |
1624 | (sk->sk_shutdown & RCV_SHUTDOWN) || | 1624 | (sk->sk_shutdown & RCV_SHUTDOWN) || |
1625 | signal_pending(current) || | 1625 | signal_pending(current) || |