X11R4 patch for SCO XENIX (part11)

Chain Lee chain at paul.rutgers.edu
Mon Jan 7 13:29:14 AEST 1991


*** X11R4.ORIG/drivers/xenix/Makefile	Sun Jan  6 12:36:31 1991
--- X11R4/drivers/xenix/Makefile	Sun Jan  6 12:00:09 1991
***************
*** 0 ****
--- 1,43 ----
+ SHELL= /bin/sh
+ CC= cc
+ 
+ LIBSOCK= Slibsocket.a
+ HDRSOCK= socket.h
+ UTILS= whoami exec_shell
+ SYSLIBDIR= /lib/386
+ SYSINCDIR= /usr/include/sys
+ 
+ ALL= $(LIBSOCK)
+ 
+ all:		$(ALL) whoami
+ 
+ $(LIBSOCK):	Slibsocket.uue
+ 		uudecode Slibsocket.uue
+ 		ranlib $@
+ 
+ install:	all libinstall hdrinstall
+ 
+ whoami:		whoami.uue
+ 		uudecode whoami.uue
+ 		chmod a+x whoami
+ 
+ libinstall:	$(LIBSOCK)
+ 		@echo Installing $(LIBSOCK)
+ 		@if [ ! `./whoami` = root ]; \
+ 		then \
+ 			echo "Must be root to install"; exit 1; \
+ 		else \
+ 			cp $(LIBSOCK) $(SYSLIBDIR)/$(LIBSOCK); \
+ 		fi
+ 
+ hdrinstall:	$(HDRSOCK)
+ 		@echo Installing $(HDRSOCK)
+ 		@if [ ! `./whoami` = root ]; \
+ 		then \
+ 			echo "Must be root to install"; exit 1; \
+ 		else \
+ 			cp $(HDRSOCK) $(SYSINCDIR)/$(HDRSOCK); \
+ 		fi
+ 
+ clean:		
+ 		rm -f whoami *.a *~
*** X11R4.ORIG/drivers/xenix/INFO	Sun Jan  6 12:36:34 1991
--- X11R4/drivers/xenix/INFO	Sat Jan  5 18:39:26 1991
***************
*** 0 ****
--- 1,69 ----
+ 
+ 		 --- The Socket Emulator Driver Package ---
+ 
+ 1. What's in it?
+ 
+    The socket emulator device driver package includes a pseudo device
+    driver and a library that provide support for most of the system calls
+    associated with 4.2 BSD UNIX socket interface. It provides excellent
+    support for running X11R4 on SCO Xenix SysV 386 2.3.2 in the absense of
+    networking software such TCP/IP or STREAM. The package emulates socket
+    interface to the degree that hardly any changes is needed under 4.2bsd
+    directory. The changes I made are mostly related to header file usage
+    and the effort of making full use of the driver capacity to enhance the
+    Xxenix server performance.
+ 
+    Following calls are supported.
+ 
+ 	socket(), bind(), listen(), connect(), accept(), select(),
+ 	read(), write(), getsockname(), getpeername()
+ 
+    These calls almost have the same semantics as those of 4.2 BSD UNIX.
+    The driver supports a protocol same as AF_UNIX and SOCK_STREAM, except
+    that a socket address is not bound to any file under the file system 
+    and the maximum socket address length is limited to 14 characters.
+    The driver FULLY supports BSD select() on socket read/write/exception
+    conditions. Socket descriptors returned by socket() call WILL BE inherited
+    by subprocesses created by fork() or exec() call. ( This is hardly ever
+    true for any other socket emulation packages. ) The socket interface can
+    be used in your application program as if the mechanism is well designed 
+    and built-in to the kernel. Besides supporting X11R4, you can also use
+    it to port many network oriented (TCP/IP in particular) applications.
+    However, since the driver was written primarily for supporting X, there
+    is no guarantee that it will work as what you would have expected when
+    used for other applications.
+ 
+    An 'ss' program similar to 'ps' or 'ipcs' is provided to let you list
+    current status information of the socket devices for debugging purpose.
+ 
+    Also included are a few test and example programs. 'testsocket' is a
+    simple proram testing socket connection and select. 'server' is a server
+    program that makes copy of a client's data and writes them back. 'xerox'
+    is a client requesting such service. Multiple clients can be connected
+    to the server.
+ 
+    A VGA memory mapping device driver and a bell device driver is also 
+    provided to support the Xxenix server.
+ 
+    Example source programs are provided in the package. Source code for
+    the device drivers is NOT included and will NOT be released in general.
+    (However, if you are willing to put a big price tag on it, feel free :-)
+ 
+ 2. What version of Xenix does it work on?
+ 
+    It is tested and known to work on SCO Xenix SysV 386 version 2.3.2 only.
+    It may or may not run on other versions of Xenix.
+ 
+ 3. How to get?
+ 
+    Send $30, check only to 
+ 
+ 	Chain Lee
+ 	11 Holton Road
+ 	Lexington, MA 02173
+ 
+    Please specify media type (5 1/4 or 3 1/2 floppy). Allow time for
+    processing.
+ 
+ Chain Lee  12/30/90
+ chain at paul.rutgers.edu
*** X11R4.ORIG/drivers/xenix/socket.h	Sun Jan  6 12:36:38 1991
--- X11R4/drivers/xenix/socket.h	Sun Jan  6 11:43:59 1991
***************
*** 0 ****
--- 1,30 ----
+ /*
+  * socket.h, Revision 1.1 1/6/91 cl
+  */
+ 
+ #define	u_short		ushort
+ #ifndef	FIONREAD
+ #define	FIONREAD	(1 << 5)
+ #endif
+ #ifndef	EWOULDBLOCK
+ #define	EWOULDBLOCK	35
+ #endif
+ 
+ #define	AF_UNSPEC	0
+ #define	AF_UNIX		1
+ #define	AF_INET		2
+ 
+ #define	SOCK_STREAM	1
+ 
+ #define	SO_LINGER	0x0080
+ 
+ struct	sockaddr {
+ 	ushort	sa_family;
+ 	char	sa_data[14];
+ };
+ 
+ struct	sockaddr_un {
+ 	ushort	sun_family;
+ 	char	sun_path[14];
+ };
+ 
*** X11R4.ORIG/drivers/xenix/README	Sun Jan  6 12:36:42 1991
--- X11R4/drivers/xenix/README	Sun Jan  6 11:57:52 1991
***************
*** 0 ****
--- 1,13 ----
+ #
+ # README
+ #
+ 
+ This directory contains necessary header and library file for building
+ the system when you are using the socket emulator.
+ 
+ To install, run following.
+ 
+ 	make
+ 	su root
+ 	make install
+ 
*** X11R4.ORIG/drivers/xenix/whoami.uue	Sun Jan  6 12:36:45 1991
--- X11R4/drivers/xenix/whoami.uue	Sun Jan  6 11:48:10 1991
***************
*** 0 ****
--- 1,247 ----
+ begin 755 whoami
+ M!@(L ! >  "\!@  1 X                  $ID!]@                 
+ M         &    !                  @$"/P                      
+ M         0!(@#\     !   $!X  ! >                   " $2 1P  
+ M   D  "\!@   !4     B $                                     
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                             .M^Z_[K_NO^Z_X 
+ M                                                            
+ M                                                            
+ M                                  ##HP@ B $S[>A$!   4.C^!   
+ MZ_Y5B^R#[ CH"04  (E%^%#H' 4  (/$!(E%_ O =1K_=?AH% "( >@Q!0  
+ M@\0(:@'HQP0  (/$!(M%_/\P:$0 B 'H%04  (/$"&H Z*L$  #)PY!5B^R#
+ M[ 16OE0 B $Y-10$B %W!%[)PY!6Z!(   "#Q 2#QA Y-10$B %W[%[)PY!5
+ MB^R#[ 175HMU"+______"_9U"(O'7E_)PY"0]D8, at W0U]D8,!'0$,\#K"5;H
+ M4@   (/$!(OX#[Y&#5#HWPX  (/$! O ?0^______\<%! "( 0(   #V1 at P(
+ M=!+_=@CH1Q,  (/$!,=&"     #&1 at P QP8     BT8(B48$ZY.0D)!5B^Q6
+ MBW4(]D8, G4HQP8     ZS>0D)#V1 at P"=!V#?@@ =!>+1@@Y1 at 1V#U;H+@$ 
+ M (/$!/9&# 1TW?9&#"!T"[C_____7LG#D)"0,\!>R<.0D)!5B^R#[ 16BW4,
+ MBD8,)%(\0G4]#[Y&#8M.!#D,A1@$B $/AJ4   "+P?]&!(I-"(@(@/D*#X7*
+ M    5NC,    @\0$0 ^%N@   .FM    D(I&#"06/ 9U,XI%"(A%_\<&    
+ M &H!C47_4 ^^1 at U0Z&,3  "#Q R#^ $/A(,   " 3 at P@ZW60D)"0D(I&#"02
+ M/ )U&8-^" !T$XM&"#E&!'49 at SX =13V1 at Q$=0Y6Z-P   "#Q 3K!9"0D#/ 
+ M"\!U.O9&#$0/A3[___]6Z#H   "#Q 3_#G@/BD4(BTX$_T8$B 'K$)"05@^^
+ M10A0Z W___^#Q CV1 at P@= BX_____U[)PP^V10A>R<.058OL@^P(4U=6BW4(
+ MBUX$BWX(B\<KV(E^!/9&#$1T!3/ ZP^0#[Y&#8L$A1@$B $K1 at B)!@^^1 at V+
+ M!(48!(@!*T8$BPX+R7\",\D[P7T)5NA  0  @\0$"]M^(5-7#[Y&#5#H91( 
+ M (/$##O#= Z 3 at P@N/____]>7UO)PS/ 7E];R<.058OL5HMU"(I&#"02/ )T
+ M&O9&#()U"KC_____7LG#D)"*1 at PD[PP"B$8, at WX( '4)5NA*    @\0$BT8(
+ M.48$=3GV1 at Q$=3,/OD8-BP2%& 2( 2M&"(D&#[Y&#8L$A1@$B $K1 at 2+#@O)
+ M?P(SR3O!?0E6Z)D   "#Q 0SP%[)PY!5B^R#[ 175HMU" ^^?@WV1 at P$=3^#
+ M_P)]%@^^1 at V+#+U, (@!B4X(@<$ !   ZS5H" 0  .A>#@  @\0$B48("\!T
+ M$(!.# @/OD8-BTX(Z]>0D) /OD8-C0S]# ^( 8E."(/!"(D,A1@$B &+1 at B)
+ M1 at 17Z!01  "#Q 0+P'0*]D8,!'4$@$X,0%Y?R<.0D)!5B^R#[ 175HMU" ^^
+ M1 at V+!(48!(@!*T8$B_ at +_WT5#[Y&#8L$A1@$B &)1 at 1>7\G#D)"0.3Y^ HD^
+ M7E_)PY"058OL@^P,5U:-=0R)-0 +B &+10BC_!2( 5;H+0   (/$!(OXB3U(
+ M (@!Z$$   !75O]U".B+^___@\0,B47XZ%0   "+1?A>7\G#D%6+[(/L!%=6
+ MBW4(BSZ#Q at 2#?OP =?<[]W4#@^X$B\9>7\G#D%6+[(/L!%:^O :( 8'^O :(
+ M 74$7LG#D/\6@\8$@?Z\!H@!=?->R<-5B^R#[ 16OKP&B &!_KP&B %U!%[)
+ MPY#_%H/&!('^O :( 77S7LG#58OLZ%#[___HR_____]U".A["@  R<.0N!@ 
+ M  ":      < <@*2PZ,$ (@!N/_____# %6+[(/L!%=6BW4(Z( *  #H%PL 
+ M (OX"_]T!3EW"'7PZ*,*  "+QUY?R<.058OL@^P(5HU%#(E%_/8%< "( 0)U
+ M$/8%< "( 8!T)8 -< "( 0)H9 "( ?]U_/]U".C.    @\0,B_#V!7  B $@
+ M= BX_____U[)PXO&7LG#D)"058OL@^P(BT4(BP E 0   (E%^(M%"(L T?@E
+ M____?XE%_+D%    F??YBTT(B0&Y!0   (M%_)GW^8O"T> #1?B#P##)PY"0
+ M58OL4U=6BW4(BWT,BUT0@'L-/'0WBT44BP K0P0I XM%%(L B4,$4^C7_?__
+ M@\0$4U=J 5;H3A$  (/$$(M%%(M+!(D(7E];R<.0D%=6BT44_S#HT!(  (/$
+ M# /'BTT4B0%>7UO)PY!5B^R![+@   !35U:+=0B+?1#'1>      QT6<    
+ M ,=%]     #'1?P     #[Y'#8E%D(I'#"02/ )U&8-_" !T$XM'"#E'!'48
+ M at S\ =1/V1PQ$=0U7Z"_\__^#Q 3K!)"0,\ +P'0*,\!>7UO)PY"0D(M'!(E%
+ ME(-]D#QU" W___]_ZPN0BT60BP2%& 2( 8E%F ^^!HE%N O =%:#^"5T48O>
+ M1@^^!HE%N O = 6#^"5U\(O&*\.)18P!1> #192)18@[19AV%8U%E%!7_W6,
+ M4^B__O__@\00ZQ>0D/]UC%/_=93HU!$  (/$#(M%B(E%E(-]N !U<8M%E"M'
+ M!(E%A"D'BT64B4<$BT64 P<[19AV#X!_#3QT"5?H>OS__X/$!/9'#$1T)_9'
+ M# 1U&/]UA&H*BT64*T6$4.A:$0  @\0,"\!T"5?HN?K__X/$!/9'#"!T#+C_
+ M____7E];R<.0D(M%X%Y?6\G#,\")1;R)1?B)1:R)1=!&1@^^1O^)1;B#^#D/
+ MCQP$  "#^#$/C8T   "#Z""#^! /AS8$   N_R2%6 P  )"0D(!-O +KR9"0
+ M@$V\!.O!D)" 3;P(Z[F0D(!-O!#KL9"0@$V\0,=%L     #KHI"0D/9%O$!U
+ M'H-%# 2+10R+0/R)1= +P'V(]UW0@'6\!.E\____D(-%# 2+10R+0/R)1; +
+ MP ^-9O___^NYD/9%O$1U!(!-O""+1;B#Z#")18#K$9"0D&M%@ H#1;B#Z#")
+ M18!&#[X&B46X]H"Y!8@!!'7C]D6\0'0-BT6 B46PZ1W___^0D(M%@(E%T.D0
+ M____D(!-O 'I!O___Y"0D/9%O &#10P$BT4,BT#\B47<C5VKB5WH"\!](<=%
+ MU P%B ''1:P!    /0   ( /A H!  #W7=SK)Y"0D/9%O )T"L=%U X%B 'K
+ M#I#V1;P(= ['1=00!8@!QT6L 0   (M%W(F%?/___X/X"7\."\!U2_9%O$!U
+ M4.M#D)"+A7S___^)18RY"@   )GW^8F%?/___V:+A7S___]FN0H 9O?IP>(0
+ M#[? "\**38PJR(#!,$N("X.]?/___PE_OTN*A7S___\$,(@#]D6\0'0>BT6P
+ MBTWH*\LKP8F%>/___PO ?@J)1<B)1?B 3;T"@WV<  ^$S0(  (-]_  /A)@"
+ M  #'1=0D!8@!QT6L 0   ,=%_     #IH@(  )"0]D6\ 8-%# 2+10R+0/R)
+ M1=R-7:N)7>BI    @ ^$(O___XU%W%#HD?O__X/$!$N( ^D.____D)#'1< '
+ M    QT7, @   .L.QT7 #P   ,=%S ,   #V1;P!@T4,!(M%#(M _(E%W(-]
+ MN%AU![A<!8@!ZP6X< 6( 8E%Y(U=JXE=Z(M%W(F%=/___PO =1GV1;Q =4"X
+ M 0   (E%R(E%^(!-O0+K+Y"02XN%=/___R-%P -%Y(H B .+A73____1^"7_
+ M__]_BDW,T_B)A73___\+P'73]D6\0'0>BT6PBTWH*\LKP8F%</___PO ?@J)
+ M1<B)1?B 3;T"]D6\$ ^$S?[__X-]W  /A,/^__^+1;B#^%AT.X/X;W0*@_AX
+ M=!WIK/[__V;W1;P  @^%H/[__[@!    Z8S^__^0D,=%U!0%B ''1:P"    
+ MZ8'^__^0QT74& 6( >OJD)"0BD6XZPV0D)"#10P$BT4,BD#\B$6 at C5V@B\- 
+ MZR>0D)"#10P$BT4,BUC\"]MU!;L<!8@!]D6\0'434^AI#@  @\0$ \.)1>CI
+ M*/[__XF=;/___XN%;/____^%;/___X X '0%_TVP>>J+A6S___](Z].0D)"P
+ M"   RPP  ,L,  "X"   RPP  .0+  #+#   RPP  ,L,  #+#   T @  * (
+ M  #+#   J @  , (  #+#   # D  (/X:0^$Q_S__W\M at _A8#X0 at _O__@_AC
+ M#X0S____ at _AD#X2J_/__ at _AH#X2D^___3NFX^O__D)"0 at _AL#X2#_/__ at _AO
+ M#X3:_?__ at _AS#X05____ at _AU#X20_?__ at _AX#X3/_?__Z\B0]D6\ G0*QT74
+ M)@6( >L.D/9%O AT#L=%U"@%B ''1:P!    QT6<     (M%Z"O#B46, T6L
+ M T7X T7TB46T.470?P@!1>#IPP   (M%T %%X/9%O"!T+&;W1;P  G4,@$V]
+ M BM%M(E%R.L)BT70*T6T 47(BT70B46TZ8\   "0D)"0]D6\! ^%@0   (M%
+ MT"M%M(F%:/___^L;C4644%=J%&@L!8@!Z-OX__^#Q!"#K6C___\4@[UH____
+ M%'_<BX5H____ T64B85D____.T68=AR-19105_^U:/___V at L!8@!Z)_X__^#
+ MQ!#K(9"0_[5H____:"P%B '_=93HK0L  (/$#(N%9/___XE%E(-]K !T08M%
+ MK -%E(F%8/___SM%F'86C4644%?_=:S_==3H4OC__X/$$.L;D/]UK/]UU/]U
+ ME.AF"P  @\0,BX5 at ____B464@WWT '1(BT64@\ %B85<____.T68=A>-1910
+ M5VH%_W7$Z SX__^#Q!#K')"0D&H%_W7$_W64Z!\+  "#Q R+A5S___^)193'
+ M1?0     9O=%O  "='^+1<B)A5C____K')"-19105VH4:$0%B 'HO_?__X/$
+ M$(.M6/___Q2#O5C___\4?]R+A5C___\#192)A53___\[19AV'(U%E%!7_[58
+ M____:$0%B 'H at _?__X/$$.LAD)#_M5C___]H1 6( ?]UE.B1"@  @\0,BX54
+ M____B464 at WV, 'X_BT6, T64B850____.T68=A:-19105_]UC%/H./?__X/$
+ M$.L;D)"0_W6,4_]UE.A,"@  @\0,BX50____B4649O=%O(0!#X0)^/__]D6\
+ M! ^$__?__XM%M#E%T ^.\_?__XM%T"M%M(F%3/___^L;C4644%=J%&@L!8@!
+ MZ-?V__^#Q!"#K4S___\4@[U,____%'_<BX5,____ T64B85(____.T68=B"-
+ M19105_^U3/___V at L!8@!Z)OV__^#Q!#ID/?__Y"0D/^U3/___V at L!8@!_W64
+ MZ*4)  "#Q R+A4C___^)193I:??__[@!    F@     ' *,$ (@!N/_____#
+ M +@&    F@     ' '(#,\##HP0 B &X_____\-5B^R#/; %B $ =1QHG 6(
+ M 6B@!8@!Z%D&  "#Q BCL 6( <G#D)"0_S6P!8@!Z'D)  "#Q 3)PU6+[(,]
+ ML 6( 0!T&/\UL 6( >AU\/__@\0$QP6P!8@!     ,G#D)!5B^Q6BW4(ZPZ0
+ MD)" /CIT"X ^"G0&1H ^ '7P@#X*=0O&!@"+QE[)PY"0D( ^ '0$Q at 8 1HO&
+ M7LG#D)!5B^R#[ Q6 at SVP!8@! '4U:+0%B %HH 6( >BY!0  @\0(H[ %B $+
+ MP'4:,\!>R<.+1?2CQ :( 0OV= F /CH/A:,   "AL 6( ?9 #!!UVU!H  0 
+ M &C@!H@!Z+P$  "#Q R+\ OV=,*)-;P&B %6Z$____^#Q 2+\(DUP :( 5;H
+ M/O___X/$!(OP"_9TMH ^.G2Q:@J-1?A05N@<"0  @\0,B47T5NCP"   @\0$
+ M4&HZ5NCH!P  @\0,.T7X=856Z/[^__^#Q 2+\(-]] !\#8%]]&#J   /CE+_
+ M__^X8>H  .E+____:@J-1?A05NC("   @\0,B47T5NB<"   @\0$4&HZ5NB4
+ M!P  @\0,.T7X#X4M____5NBF_O__@\0$B_"#??0 ? F!??1 at Z@  ?@JX8>H 
+ M .L&D)"0BT7TH\@&B &)-= &B &)-=0&B %6Z&[^__^#Q 2+\(DUV :( 5;H
+ M7?[__X/$!(OPB37<!H@!5NA,_O__@\0$BS7 !H@!ZP>0@#XL= 9&@#X =?6 
+ M/@!T!,8& $:)-<P&B &XO :( 5[)PY"058OL@^P84U=6QT7H     (,]Z J(
+ M 0!U-KCL"H@!# &CZ J( ;CH"H@!# &C[ J( <<%\ J( >P*B ''!>0*B 'H
+ M"H@!H? *B &C^ J( 8M%"(/ !\'H HO8BS7D"H@!QT7P     /8& 74UZQJ0
+ MD(DUY J( 8L'B08Y/?@*B %U!HDU^ J( 8L^]@<!=.&-!)X[QW<+C02>.\8/
+ M at TL!  "+_HL&)/Z+\#OW=[HY/? *B %U"('^Z J( 70',\!>7UO)P_]%\(-]
+ M\ %VFHLU^ J( 6H Z,X&  "#Q 2+^*'P"H@!@\ $.\=T/8V#_P   +D  0  
+ MF??YB47PP67P"HO'N00   "9]_D+TG0^B\>9]_DKT??:B57HB\(#QXOXB\(!
+ M1?#K)9"A\ J( 2L%^ J( <'X BO#]]B)1? %  $  ,'H"(E%\,%E\ J+1? #
+ MQSO'#X)D____BT7PB47T/0#\_W]V&V@ _/]_Z#@&  "#Q 1 #X1#____ at 6WP
+ M /S_?_]U\.@?!@  @\0$0'415^BW 0  @\0$Z2#___^0D)")/?@*B &A\ J(
+ M 8DXBT7T*T7HC40'_(D'H? *B &#P 0[QW0.H? *B &+R(L)@,D!B0B+!Z/P
+ M"H@!N>@*B & R0&)"(O^Z77^__^0C02>H^0*B $[QW,0BP"C] J( :'D"H@!
+ MBPZ)"*'D"H@!# &)!CDU^ J( 74*H>0*B &C^ J( 8U&!%Y?6\G#D%6+[(/L
+ M!%=6BW4(B_Z#[P2)/>0*B &+!R3^B0>A\ J( 3D'=0:)/?@*B %>7\G#D%6+
+ M[(/L%%-75HM]"/9'_ %T"5?HN/___X/$!(M'_"O'P?@"B47L_W4,Z';]__^#
+ MQ 2+\ OV= 4Y=0AU"(O&7E];R<.0BT4,@\ #P>@"B47PBT7L.47P<P:+1?")
+ M1>R+1>S!X )0_W4(5NA2!   @\0,B]@[WW/%BT7PC02#.\=RNXM%\(T$@RO'
+ MP?@"BPWT"H@!B0R#ZZ6058OL@^P8H00 B &)1>B-1>Q0: %4  #_=0CHR0, 
+ M (/$# O ?0Z+1>BC! "( 3/ R<.0D+@!    R<.0N 0   ":      < <@'#
+ MHP0 B &X_____\,  + at 1    F@     ' '(,BT0D!*,( (@!,\##HP0 B &X
+ M_____\,   !5B^R#[ Q35U:+=0R+?1"+10B)1?3V1PR!=0DSP%Y?6\G#D)!.
+ MZV^0_T\$_P>+!SO&? *+QHO84VH*_W<$_W4(Z!\'  "#Q!")1?@+P'0%B]@K
+ M70@!70 at I'P%?! ^^1PV+!(48!(@!*T<$BP\+R7\",\D[P7T)5^@([O__@\0$
+ M at WWX '0/BT4(Q@  BT7T7E];R<.0*_,+]G[K at S\ ?XY7Z*<%  "#Q 1 #X5Y
+ M____BT4(.47T=<[I7____U6+[.A4!@  4/]U#/]U". at H    R<.0D%6+[%:+
+ M=1!6Z"OJ__^#Q 16_W4,_W4(Z @   "#Q Q>R<.0D%6+[(/L#%-75HMU$ OV
+ M= Z#?0@ = B+10B . !U"C/ 7E];R<.0D)"+10R > $K#Y3 #[; B_B+10P/
+ MO@"#^&%T.H/X<G11 at _AW==(+_W0(N (   #K!I"X 0   (O8@,\#:+8!  !3
+ M_W4(Z&0&  "#Q R)1?@+P'TRZZ(+_W0(N (   #K!I"X 0   (O89H'+" 'K
+ MS)"0"_]T"+@"    ZP.0,\"+V.NXD)#'!@    "*1?B(1 at T+_W0$L(#K#HM%
+ M#( X<G4$L 'K K "B$8,BT4,@#AA=1L+_W47:@)J /]U^.AG!0  @\0,"\ /
+ MC"K___\/OD8-,\F)3 at 2)3 at B)#(48!(@!B\9>7UO)PY"058OL@^P04U=6BW44
+ M at WT, 'X\@WT0 'XVBD8,)!(\ G49 at WX( '03BT8(.48$=1F#/@!U%/9&#$1U
+ M#E;H+.O__X/$!.L%D)"0,\ +P'0*,\!>7UO)PY"0D ^^1 at V+!(48!(@!B47X
+ MBT40#Z]%#(OXBT8$.48(<F3V1 at P$=0B!_P $  !R5E?_=0@/OD8-4. at A_?__
+ M@\0,B]@[WW0,@$X,( O ?P(SP(O8B\.9]WT,7E];R<.05N at NZO__@\0$0'4;
+ MBT4, \=(*]+W=0R+R(M%$"O!7E];R<.0 5T(BT7XBTX$B4WT*\&+V O;?LB+
+ MQSO#<@*+PXO84_]U"/]U].B>    @\0,*1X!7 at 0/OD8-BP2%& 2( 2M&!(L.
+ M"\E_ C/).\%]"5;H4NO__X/$!"O[=:?V1 at Q$="'V1 at P$=1)3:@K_=@CH-   
+ M (/$# O = E6Z)/I__^#Q 2+11!>7UO)P[@V    F@     ' '(!PZ,$ (@!
+ MN/_____#  !5B^Q7BTT0"\E^%(S?CL>+?0B+10S\\JYU!8O'2.L"*\!?R<-5
+ MB^Q65XM5$(S?CL>+?0B+QXMU#/R#^@=^)??& P   '03]\<#    = N+S_?9
+ M@^$#*]'SI(O*P>D"\Z6#X at .+R@O)?@+SI%]>R<, 58OL5HMU"%;HC^?__X/$
+ M!&H :@ /OD8-4. at V P  @\0,QP8     BT8(B48$@&8,S_9&#(!T!(!F#/Q>
+ MR<.0D%6+[(/L!%=6BW4("_9U":$( (@!7E_)PXL]" "( 8O' \90Z'S[__^#
+ MQ 1 =1;'!00 B $,    N/____]>7\G#D)"0B\=>7\G#D)!5B^Q7C-^.QXM]
+ M""O N?_____\\JZ+P??02%_)PP   %6+[(/L$%-75HMU"(M]$,=%]     "#
+ M?0P = 6+10R), O_? 6#_R1^"C/ 7E];R<.0D) /O@:)1?SV at +D%B $'=2SK
+ M"I"0D$8/O@:)1?R+1?SV at +D%B $(=>V#^"MT"(/X+74*_T7T1@^^!HE%_ O_
+ M=2:#??PP= >_"@   .L9@'X!>'0&@'X!6'4(OQ    #K!I"_"    (M%_/: 
+ MN06( 0=TA?: N06( 01T!H/H,.L;D(M%_/: N06( 0)T"(/H5^L)D)"0BT7\
+ M@^@WB47P.\</C5'___^#_Q!U*(-]_#!U(@^^1 at +V@+D%B & =!6 ?@%X= : 
+ M?@%8=0F#Q@(/O@:)1?R+1?SV at +D%B $$= :#Z##K&Y"+1?SV at +D%B $"= B#
+ MZ%?K"9"0D(M%_(/H-_?8ZS^0D(M%_/: N06( 01T"(/H,.L=D)"0BT7\]H"Y
+ M!8@! G0(@^A7ZPF0D)"+1?R#Z#>)1? [QWT:B\</K\,K1?"+V$8/O@:)1?SV
+ M at +D%B $'=;&#?0P = 6+10R),(-]] !T"(O#7E];R<.0B\/WV%Y?6\G#D)"0
+ M58OL@^P$5U:+=0B#?@@ =0E6Z)'G__^#Q 3V1 at P!=0[V1 at R #X26    @$X,
+ M ?9&#$1T)+]4 (@!ZP20@\<0.3T4!(@!=A'V1PQ =.]7Z/'D__^#Q 3KY(M&
+ M"(E&!/9&# 1T"+@!    ZP^0#[Y&#8L$A1@$B $K1 at A0_W8(#[Y&#5#H% $ 
+ M (/$#(D&_PYX#XM&!/]&! ^V %Y?R<.0D(,^_W0'@$X,(.L/D(!.#!#V1 at R 
+ M= 2 9 at S^QP8     N/____]>7\G#D)"058OL@^P$5KY4 (@!ZP60D(/&$#DU
+ M% 2( 78-]D8, at W7OB\9>R<.0D#/ 7LG#D)"0N!,   ":      < <@'#HP0 
+ MB &X_____\,  %6+[%97*\"+310+R7Y5C-^.QXM]#(OW_(O1BT40\JZX 0  
+ M '0"*\ KT8M]"(/Z!WXG]\8#    =!/WQP,   !T"XO/]]F#X0,KT?.DB\K!
+ MZ0+C!?.E@^(#B\KSI O = *+QU]>R<, N 4   ":      < <@'#HP0 B &X
+ M_____\,  +@#    F@     ' '(!PZ,$ (@!N/_____#                
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M              !W:&]A;6DZ(&YO('5S97(@;F%M92!A<W-O8VEA=&5D('=I
+ M=&@@=6ED("5U+ at H    E<PH       0+B 'T$(@!                 0  
+ M                  (!        ' ^( 1P/B $& @                  
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M% 2( 0          ) ^( 0                                      
+ M                                                            
+ M                                                            
+ M                                                            
+ M                                                            
+ M                               M "L (    #!X   P6   *&YU;&PI
+ M   M "L (    " @(" @(" @(" @(" @(" @(" @     # P,# P,# P,# P
+ M,# P,# P,# P     # Q,C,T-38W.#E!0D-$148     ,#$R,S0U-C<X.6%B
+ M8V1E9@    !N86XP>    $Y!3C!8    :6YF $E.1@!R    +V5T8R]P87-S
+ M=V0           !R     " @(" @(" @("@H*"@H(" @(" @(" @(" @(" @
+ M(" @2! 0$! 0$! 0$! 0$! 0$(2$A(2$A(2$A(00$! 0$! 0 at 8&!@8&! 0$!
+ M 0$! 0$! 0$! 0$! 0$! 0$0$! 0$!""@H*"@H(" @(" @(" @(" @(" @("
+ M @(" A 0$! @                                                
+ M                                                            
+ M                                                            
+ %        
+  
+ end
*** X11R4.ORIG/mit/server/os/4.2bsd/connection.c	Sun Jan  6 19:30:03 1991
--- X11R4/mit/server/os/4.2bsd/connection.c	Sun Jan  6 19:52:09 1991
***************
*** 790,813 ****
      notime.tv_sec = 0;
      notime.tv_usec = 0;
  
! #if BSD_SOCKET_EMULATION
      /*
!      * Much more efficient here, but may not be reliable.
       */
      COPYBITS(AllClients, tmask);
      r = select (MAXSOCKS, (int *)NULL, (int *)NULL, (int *)tmask, 
  		&notime);
!     for (i=0; i<mskcnt; i++)
!     {
!     	mask = tmask[i];
!     	while (mask) {
! 	    curoff = ffs (mask) - 1;
!  	    curclient = curoff + (i << 5);
! 	    CloseDownClient(clients[ConnectionTranslation[curclient]]);
! 	    mask &= ~(1 << curoff);
  	}
      }
! #else
      for (i=0; i<mskcnt; i++)
      {
  	mask = AllClients[i];
--- 790,816 ----
      notime.tv_sec = 0;
      notime.tv_usec = 0;
  
! #ifdef BSD_SOCKET_EMULATION
      /*
!      * Much more efficient here. In the case select fails, check each one.
       */
      COPYBITS(AllClients, tmask);
      r = select (MAXSOCKS, (int *)NULL, (int *)NULL, (int *)tmask, 
  		&notime);
!     if (r >= 0) {
! 	for (i=0; i<mskcnt; i++)
! 	{
! 	    mask = tmask[i];
! 	    while (mask) {
! 		curoff = ffs (mask) - 1;
! 		curclient = curoff + (i << 5);
! 		CloseDownClient(clients[ConnectionTranslation[curclient]]);
! 		mask &= ~(1 << curoff);
! 	    }
  	}
+ 	return;
      }
! #endif
      for (i=0; i<mskcnt; i++)
      {
  	mask = AllClients[i];
***************
*** 824,830 ****
  	    mask &= ~(1 << curoff);
  	}
      }
- #endif
  }
  
  /*****************
--- 827,832 ----



More information about the Alt.sources mailing list