changeset 106398:31424b91531a

(Fmake_network_process): Fix up the tests for "connectionless socket", so they DTRT for seqpacket sockets as well.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Thu, 03 Dec 2009 19:01:36 +0000
parents 210af1fb2669
children 065925e07677
files etc/NEWS src/ChangeLog src/process.c
diffstat 3 files changed, 11 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/etc/NEWS	Thu Dec 03 18:51:32 2009 +0000
+++ b/etc/NEWS	Thu Dec 03 19:01:36 2009 +0000
@@ -354,6 +354,8 @@
 
 * Lisp changes in Emacs 23.2
 
+** make-network-socket can now also create `seqpacket' Unix sockets.
+
 ** New function `completion-in-region' to use the standard completion
 facilities on a particular region of text.
 
--- a/src/ChangeLog	Thu Dec 03 18:51:32 2009 +0000
+++ b/src/ChangeLog	Thu Dec 03 19:01:36 2009 +0000
@@ -1,3 +1,8 @@
+2009-12-03  Daniel Hackney  <dan@haxney.org>  (tiny change)
+
+	* process.c (Fmake_network_process): Fix up the tests for
+	"connectionless socket", so they DTRT for seqpacket sockets as well.
+
 2009-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 
 	* process.c (Qseqpacket): New symbol.
--- a/src/process.c	Thu Dec 03 18:51:32 2009 +0000
+++ b/src/process.c	Thu Dec 03 19:01:36 2009 +0000
@@ -3333,7 +3333,7 @@
   QCaddress = is_server ? QClocal : QCremote;
 
   /* :nowait BOOL */
-  if (!is_server && socktype == SOCK_STREAM
+  if (!is_server && socktype != SOCK_DGRAM
       && (tem = Fplist_get (contact, QCnowait), !NILP (tem)))
     {
 #ifndef NON_BLOCKING_CONNECT
@@ -3428,7 +3428,7 @@
      Some kernels have a bug which causes retrying connect to fail
      after a connect.  Polling can interfere with gethostbyname too.  */
 #ifdef POLL_FOR_INPUT
-  if (socktype == SOCK_STREAM)
+  if (socktype != SOCK_DGRAM)
     {
       record_unwind_protect (unwind_stop_other_atimers, Qnil);
       bind_polling_period (10);
@@ -3631,7 +3631,7 @@
 	    }
 #endif
 
-	  if (socktype == SOCK_STREAM && listen (s, backlog))
+	  if (socktype != SOCK_DGRAM && listen (s, backlog))
 	    report_file_error ("Cannot listen on server socket", Qnil);
 
 	  break;
@@ -3794,7 +3794,7 @@
   p->pid = 0;
   p->infd  = inch;
   p->outfd = outch;
-  if (is_server && socktype == SOCK_STREAM)
+  if (is_server && socktype != SOCK_DGRAM)
     p->status = Qlisten;
 
   /* Make the process marker point into the process buffer (if any).  */