1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-17 17:58:46 +00:00

(Qseqpacket): New symbol.

(HAVE_SEQPACKET): New macro.
(Fmake_network_process): Accept new :type `seqpacket'.
(init_process): Add `seqpacket' feature when applicable.
(syms_of_process): Initialize Qseqpacket.
This commit is contained in:
Stefan Monnier 2009-12-03 18:51:32 +00:00
parent 627e0a14e8
commit f00c449ba1
2 changed files with 25 additions and 3 deletions

View File

@ -1,3 +1,11 @@
2009-12-03 Stefan Monnier <monnier@iro.umontreal.ca>
* process.c (Qseqpacket): New symbol.
(HAVE_SEQPACKET): New macro.
(Fmake_network_process): Accept new :type `seqpacket'.
(init_process): Add `seqpacket' feature when applicable.
(syms_of_process): Initialize Qseqpacket.
2009-12-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> 2009-12-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* font.c (font_load_for_lface, font_open_by_name): Don't store name * font.c (font_load_for_lface, font_open_by_name): Don't store name

View File

@ -127,7 +127,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
Lisp_Object Qprocessp; Lisp_Object Qprocessp;
Lisp_Object Qrun, Qstop, Qsignal; Lisp_Object Qrun, Qstop, Qsignal;
Lisp_Object Qopen, Qclosed, Qconnect, Qfailed, Qlisten; Lisp_Object Qopen, Qclosed, Qconnect, Qfailed, Qlisten;
Lisp_Object Qlocal, Qipv4, Qdatagram; Lisp_Object Qlocal, Qipv4, Qdatagram, Qseqpacket;
Lisp_Object Qreal, Qnetwork, Qserial; Lisp_Object Qreal, Qnetwork, Qserial;
#ifdef AF_INET6 #ifdef AF_INET6
Lisp_Object Qipv6; Lisp_Object Qipv6;
@ -253,6 +253,10 @@ int update_tick;
#endif /* DATAGRAM_SOCKETS */ #endif /* DATAGRAM_SOCKETS */
#endif /* BROKEN_DATAGRAM_SOCKETS */ #endif /* BROKEN_DATAGRAM_SOCKETS */
#if defined HAVE_LOCAL_SOCKETS && defined DATAGRAM_SOCKETS
# define HAVE_SEQPACKET
#endif
#if !defined (ADAPTIVE_READ_BUFFERING) && !defined (NO_ADAPTIVE_READ_BUFFERING) #if !defined (ADAPTIVE_READ_BUFFERING) && !defined (NO_ADAPTIVE_READ_BUFFERING)
#ifdef EMACS_HAS_USECS #ifdef EMACS_HAS_USECS
#define ADAPTIVE_READ_BUFFERING #define ADAPTIVE_READ_BUFFERING
@ -3123,7 +3127,8 @@ compiled with getaddrinfo, a port number can also be specified as a
string, e.g. "80", as well as an integer. This is not portable.) string, e.g. "80", as well as an integer. This is not portable.)
:type TYPE -- TYPE is the type of connection. The default (nil) is a :type TYPE -- TYPE is the type of connection. The default (nil) is a
stream type connection, `datagram' creates a datagram type connection. stream type connection, `datagram' creates a datagram type connection,
`seqpacket' creates a reliable datagram connection.
:family FAMILY -- FAMILY is the address (and protocol) family for the :family FAMILY -- FAMILY is the address (and protocol) family for the
service specified by HOST and SERVICE. The default (nil) is to use service specified by HOST and SERVICE. The default (nil) is to use
@ -3301,6 +3306,10 @@ usage: (make-network-process &rest ARGS) */)
#ifdef DATAGRAM_SOCKETS #ifdef DATAGRAM_SOCKETS
else if (EQ (tem, Qdatagram)) else if (EQ (tem, Qdatagram))
socktype = SOCK_DGRAM; socktype = SOCK_DGRAM;
#endif
#ifdef HAVE_SEQPACKET
else if (EQ (tem, Qseqpacket))
socktype = SOCK_SEQPACKET;
#endif #endif
else else
error ("Unsupported connection type"); error ("Unsupported connection type");
@ -6859,7 +6868,7 @@ exec_sentinel (proc, reason)
record_unwind_protect (exec_sentinel_unwind, Fcons (proc, sentinel)); record_unwind_protect (exec_sentinel_unwind, Fcons (proc, sentinel));
/* Inhibit quit so that random quits don't screw up a running filter. */ /* Inhibit quit so that random quits don't screw up a running filter. */
specbind (Qinhibit_quit, Qt); specbind (Qinhibit_quit, Qt);
specbind (Qlast_nonmenu_event, Qt); specbind (Qlast_nonmenu_event, Qt); /* Why? --Stef */
/* In case we get recursively called, /* In case we get recursively called,
and we already saved the match data nonrecursively, and we already saved the match data nonrecursively,
@ -7330,6 +7339,9 @@ init_process ()
#ifdef DATAGRAM_SOCKETS #ifdef DATAGRAM_SOCKETS
ADD_SUBFEATURE (QCtype, Qdatagram); ADD_SUBFEATURE (QCtype, Qdatagram);
#endif #endif
#ifdef HAVE_SEQPACKET
ADD_SUBFEATURE (QCtype, Qseqpacket);
#endif
#ifdef HAVE_LOCAL_SOCKETS #ifdef HAVE_LOCAL_SOCKETS
ADD_SUBFEATURE (QCfamily, Qlocal); ADD_SUBFEATURE (QCfamily, Qlocal);
#endif #endif
@ -7403,6 +7415,8 @@ syms_of_process ()
#endif #endif
Qdatagram = intern_c_string ("datagram"); Qdatagram = intern_c_string ("datagram");
staticpro (&Qdatagram); staticpro (&Qdatagram);
Qseqpacket = intern_c_string ("seqpacket");
staticpro (&Qseqpacket);
QCport = intern_c_string (":port"); QCport = intern_c_string (":port");
staticpro (&QCport); staticpro (&QCport);