home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / fj / comp / parallel / 180 next >
Encoding:
Text File  |  1993-01-25  |  2.4 KB  |  94 lines

  1. Path: sparky!uunet!ccut!news.u-tokyo.ac.jp!enterprise!keisu3!take
  2. From: take@wadalab.t.u-tokyo.ac.jp (Mikio Takeuchi)
  3. Newsgroups: fj.comp.parallel
  4. Subject: why does transputer(c)'s i/o function busywaiting?
  5. Message-ID: <TAKE.93Jan25210050@tomo.wadalab.t.u-tokyo.ac.jp>
  6. Date: 25 Jan 93 12:00:50 GMT
  7. Sender: news@keisu-s.t.u-tokyo.ac.jp
  8. Reply-To: take@wadalab.t.u-tokyo.ac.jp
  9. Distribution: fj
  10. Organization: Wada Lab., Dept. of Information Engineering, University of Tokyo,
  11.     Japan
  12. Lines: 79
  13. Nntp-Posting-Host: tomo
  14.  
  15. transputer $@$K4X$9$k<A(J$@Ld$O$3$3$G$h$m$7$$$N$G$7$g$&$+!#$h$jE,Ev$J$H$3$m$,(J
  16. $@$"$l$P65$($F$/$@$5$$!#(J
  17.  
  18. $@El5~Bg3X$NC]Fb$H?=$7$^$9!#(J
  19. $@Mg$N(J transputer $@>e$KDL?.$H%R!<%W4IM}$r9T$J$&4JC1$J3K$r:n$j!"$=$N>e$KJB(J
  20. $@Ns5-9f=hM}8@8l$N=hM}7O$r:n@.$7(J$@$F$$$^$9!#(J
  21. $@3+H/4D6-$K$O(J INMOS $@<R$N(J ANSI C $@%D!<%k%;%C%H$rMQ$$$F$$$^$9!#(J
  22. $@<ALd$O(J ANSI C $@$NI8=`F~=PNO%i%$(J$@%V%i%j$K$D$$$F$G$9!#(J
  23. transputer $@$G$O%A%c%M%k$rMQ$$$?F~=PNO$K$h$j%W%m%;%9$,%V%m%C%/$9$k:]$K$O!"(J
  24. $@%3%s%F(J$@%/%9%H%9%$%C%A$,5/$3$j!"L5BL$J(J CPU $@;~4V$r>CHq$7$J$$$h$&@_7W$5$l(J
  25. $@$F$$$^$9!#$7$+$7$J$,$i!"%[%9%H$H$NF~=P(J$@NO$r9T$J$&%i%$%V%i%j$O%S%8!<%&%'(J
  26. $@%$%H$7$F$7$^$&$h$&$J$N$G$9!#(J
  27.  
  28. $@Nc$($P<!$N%W%m%0%i%`$r<B9T$9$k$H!"(J
  29.  
  30. #include <stdio.h>
  31. #include <process.h>
  32.  
  33. void recv(Process *self)
  34. {
  35.     char    buf[256];
  36.     self = self;
  37.     while (1)
  38.         gets(buf);
  39. }
  40.  
  41. void send(Process *self)
  42. {
  43.     char    *msg = "This is send";
  44.     self = self;
  45.     while (1) {
  46.         puts(msg);
  47.         fflush(stdout);
  48.     }
  49. }
  50.  
  51. int main(void)
  52. {
  53.     Process *p0, *p1;
  54.  
  55.     p0 = ProcAlloc(send, 0, 0);
  56.     p1 = ProcAlloc(recv, 0, 0);
  57.     ProcRun(p1);
  58.     ProcRun(p0);
  59.     while (1)
  60.         ProcReschedule();
  61.     return 1;
  62. }
  63.  
  64. $@<B9T7k2L$O0J2<$N$h$&$K$J$j$^$9!#(J
  65.  
  66. % iserver -sb io.btl
  67. hoe
  68. This is send
  69. This is send
  70. This is send
  71. This is send    <--- $@$3$3$GF~NO$9$k$^$G;_$^$k(J
  72. gaa
  73. This is send
  74. This is send
  75. This is send
  76. This is send    <--- $@$3$3$GF~NO$9$k$^$G;_$^$k(J
  77. baa
  78. This is send
  79. This is send
  80. This is send
  81. This is send    <--- $@$3$3$GF~(J$@NO$9$k$^$G;_$^$k(J
  82. ^C
  83. iserver: (x)exit, (s)hell or (c)ontinue? x
  84.  
  85. Error - iserver - aborted by user.
  86. %
  87.  
  88. $@$3$3$G(J recv $@$,%V%m%C%/$7$F$7$^$o$J$$$h$&$K!"$9$J$o$A$:$C$H(J
  89. "This is send" $@$,%3%s%=!<%k$K=PNO$5$l$k$h(J$@$&$K$9$k$K$O$I$&$7$?$i$h$$$N(J
  90. $@$G$7$g$&$+!#$I$J$?$+>\$7$$J}$,$$$i$C$7$c$$$^$7$?$i!"$h$m$7$/$*4j$$CW$7(J
  91. $@$^(J$@$9!#(J
  92. --
  93. // $@El5~Bg3XBg3X1!9)3X7O8&5f2J(J $@7W?t9)3X@l96(J $@C]Fb44M:(J
  94.