[SSI] openssi/kernel/net/unix af_unix.c,1.21,1.22
Roger Tsang <[email protected]>
| Newsgroups | gmane.linux.cluster.ssic.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/ssic-linux/openssi/kernel/net/unix
In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv8553/net/unix
Modified Files:
Tag: OPENSSI-FC
af_unix.c
Log Message:
Bug fixes and enhancements. (see ChangeLog)
Index: af_unix.c
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/net/unix/af_unix.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- af_unix.c 10 Oct 2008 08:10:34 -0000 1.21
+++ af_unix.c 3 Feb 2009 06:18:14 -0000 1.22
@@ -1416,6 +1416,9 @@
#ifdef CONFIG_SSI
if (ssi_unix_ismagic(sk)) {
err = ssi_unix_getpeername(sk, uaddr, uaddr_len);
+#ifdef IPC_STALE_RMTUNIX_CACHE_FIX
+ ssi_unix_sock_put(sk, 1);
+#endif
goto out;
}
#endif
@@ -1536,10 +1539,16 @@
/* the other socket is remote */
err = ssi_unix_dgram_sendmsg(siocb, other, sock, msg, len);
+#ifdef IPC_STALE_RMTUNIX_CACHE_FIX
+ ssi_unix_sock_put(other, 1);
+ other = NULL;
+#else
+ /* wtf? */
if (!ssi_unix_ismagic(other)) {
kfree(other);
other = NULL;
}
+#endif
#ifdef RMTUNIX_DGRAM_SENDMSG_TOSELF_FIX
if (err == -EAGAIN) {
@@ -1814,7 +1823,11 @@
err = -EPIPE;
out_err:
if (other)
+#ifdef IPC_STALE_RMTUNIX_CACHE_FIX
+ ssi_unix_sock_put(other, 1);
+#else
ssi_unix_sock_put(other, 0);
+#endif
scm_destroy(siocb->scm);
siocb->scm = NULL;
return sent ? : err;
------------------------------------------------------------------------------
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com