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#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]#[YM.!#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#[YL$A1@$B $K1 at B)!@^^1 at V+
+ M!(48!(@!*T8$BPX+R7\",\D[P7T)5NA 0 @\0$"]M^(5-7#[Y#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&#[YL$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#[YL$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 
P$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#[YL$A1@$B $K1 at A0_W8(#[Y#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,
¬ime);
! 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,
¬ime);
! 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