From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Sat, 28 May 2005 20:55:58 +0300 From: Sergey Reva Message-ID: <3028305906.20050528205558@mail.ru> To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu>, Russ Cox Subject: Re: [9fans] srv to stdin, stdout In-Reply-To: References: <11814878703.20050528171211@mail.ru> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----------901392483AA62324" Cc: Topicbox-Message-UUID: 57a9bef8-ead0-11e9-9d60-3106f5b1d025 ------------901392483AA62324 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hello Russ, Saturday, May 28, 2005, 7:34:42 PM, you wrote: RC> I don't understand how RC> using standard input and output could break RC> Twrite transactions. That's only begining... Get out initialization of infd and outfd, so both should be 0... result the same! in one window: cpu% aux/listen1 tcp!*!33 /usr/rlab/encsrv/xorfs -s in another: cpu% 9fs tcp!myfs!33 post... cpu% cd /n/myfs!33 cpu% lc ctl data enc key cpu% echo test >data echo: write error: mount rpc error cpu% and this on 'black screen' mnt: proc rc 193: mistmatch from /net/tcp/8/data /n/myfs!33/data rep 0x80bfd6f0 tag 8 fid 453 T120 R119 source is attached... Sergey -- http://rs-rlab.narod.ru mailto:rs_rlab@mail.ru ------------901392483AA62324 Content-Type: APPLICATION/OCTET-STREAM; name="xorfs.c" Content-transfer-encoding: base64 Content-Disposition: attachment; filename="xorfs.c" I2luY2x1ZGUgPHUuaD4NCiNpbmNsdWRlIDxsaWJjLmg+DQojaW5jbHVkZSA8YXV0aC5oPg0K I2luY2x1ZGUgPGZjYWxsLmg+DQojaW5jbHVkZSA8dGhyZWFkLmg+DQojaW5jbHVkZSA8OXAu aD4NCg0KY2hhciogc3J2bmFtZT17InhvcmZzIn07DQpjaGFyKiBtbnRwdD1uaWw7DQoNCnZv aWQgbXlvcGVuKFJlcSAqcik7DQp2b2lkIG15d3JpdGUoUmVxICpyKTsNCnZvaWQgbXlyZWFk KFJlcSAqcik7DQp2b2lkIG15Y3JlYXRlKFJlcSAqcik7DQoNCmVudW0gew0KCURhdGFGaWxl LA0KCUN0bEZpbGUsDQoJS2V5RmlsZSwNCglFbmNGaWxlLA0KDQoJTUFYX1dPUkQ9MjQsDQp9 Ow0KDQpjaGFyICpEYXRhPW5pbCwgKkVuY0RhdGE9bmlsLCAqRW5jS2V5PW5pbDsNCnZsb25n IGRsZW4sIGVsZW4sIGtsZW47DQppbnQgaXNkZWNvZGVkPTAsIHJlbW90ZT0wOw0KDQojZGVm aW5lIERCRyBwcmludA0KDQpTcnYgbXlzcnY9ew0KCS5vcGVuPW15b3BlbiwNCgkucmVhZD1t eXJlYWQsDQoJLndyaXRlPW15d3JpdGUsDQoJLmNyZWF0ZT1teWNyZWF0ZSwNCn07DQoNCnZv aWQgQ3J5cHRvKGNoYXIqIGRzdCwgY2hhciogc3JjLCB1bG9uZyBkbGVuLCBjaGFyKiBrZXks IHVsb25nIGtleWxlbikNCnsNCgl1bG9uZyBpLG47DQoNCglmb3IgKGk9MCwgbj0wO2k8ZGxl bjtpKyssbisrKQ0KCXsNCgkJaWYgKG4+PWtleWxlbikNCgkJCW49MDsNCg0KCQlkc3RbaV09 c3JjW2ldXmtleVtuXTsNCgl9DQp9DQoNCmludCBpc3ZhbGlkKGNoYXIqIHNyYywgdWxvbmcg c3JjbGVuKQ0Kew0KICAJdWxvbmcgaSxqOw0KDQoJZm9yKGk9MCwgaj0wOyBpIDwgc3JjbGVu OyBpKyssIGorKykNCgl7IA0KCQlpZihqPk1BWF9XT1JEKQ0KCQkJcmV0dXJuIDA7DQoJCWlm KCBzcmNbaV0+JyAnICYmIHNyY1tpXTw9J34nKQ0KCQkJY29udGludWU7DQoJCWlmKCBzcmNb aV0gPT0gJyAnIHx8IHNyY1tpXSA9PSAnXG4nIHx8IHNyY1tpXSA9PSAnXHQnIHx8IHNyY1tp XSA9PSAnXHInICkNCgkJew0KCQkJaj0wOw0KCQkJY29udGludWU7DQoJCX0NCgkJcmV0dXJu IDA7DQoJfQ0KDQoJcmV0dXJuIDE7DQp9DQoNCnZvaWQgbXl3cml0ZShSZXEgKnIpDQp7DQoJ Ly8gci0+aWZjYWxsLm9mZnNldA0KCS8vIHItPmlmY2FsbC5jb3VudA0KCS8vIHItPmlmY2Fs bC5kYXRhDQoNCglzd2l0Y2goKHVsb25nKXItPmZpZC0+ZmlsZS0+YXV4KQ0KCXsNCgljYXNl IEN0bEZpbGU6DQoJCWJyZWFrOw0KCWNhc2UgRGF0YUZpbGU6DQoJCWlzZGVjb2RlZD0wOw0K CQlpZiAoRGF0YSE9bmlsKQ0KCQkJZnJlZShEYXRhKTsNCgkJRGF0YT1lbWFsbG9jOXAoci0+ aWZjYWxsLmNvdW50KTsNCg0KCQlpZiAoRW5jRGF0YSE9bmlsKQ0KCQkJZnJlZShFbmNEYXRh KTsNCgkJRW5jRGF0YT1lbWFsbG9jOXAoci0+aWZjYWxsLmNvdW50KTsNCg0KCQlkbGVuPXIt PmlmY2FsbC5jb3VudDsNCgkJbWVtY3B5KERhdGEsIHItPmlmY2FsbC5kYXRhLCByLT5pZmNh bGwuY291bnQpOw0KDQoJCURCRygiRW5jc3J2OiB3cml0ZSAlZCBieXRlcyB0byBEYXRhXG4i LHItPmlmY2FsbC5jb3VudCk7DQoJCWJyZWFrOw0KCWNhc2UgRW5jRmlsZToNCgkJcmVzcG9u ZChyLCJwZXJtaXNzaW9uIGRlbmllZCIpOw0KCQlyZXR1cm47DQoJY2FzZSBLZXlGaWxlOg0K CQlpc2RlY29kZWQ9MDsNCgkJaWYgKEVuY0tleSE9bmlsKQ0KCQkJZnJlZShFbmNLZXkpOw0K CQlFbmNLZXk9ZW1hbGxvYzlwKHItPmlmY2FsbC5jb3VudCk7DQoJCWtsZW49ci0+aWZjYWxs LmNvdW50Ow0KCQltZW1jcHkoRW5jS2V5LCByLT5pZmNhbGwuZGF0YSwgci0+aWZjYWxsLmNv dW50KTsNCgkJREJHKCJFbmNzcnY6IHdyaXRlICVkIGJ5dGVzIHRvIEtleUZpbGVcbiIsci0+ aWZjYWxsLmNvdW50KTsNCgkJYnJlYWs7DQoJZGVmYXVsdDoNCgkJcmVzcG9uZChyLCJ1bmJl bGlldmFibGUgd3JpdGUiKTsNCgkJcmV0dXJuOw0KCX0NCg0KCXJlc3BvbmQocixuaWwpOw0K fQ0KDQp2b2lkIG15cmVhZChSZXEgKnIpDQp7DQoJdWxvbmcgbjsNCg0KCXN3aXRjaCgodWxv bmcpci0+ZmlkLT5maWxlLT5hdXgpDQoJew0KCWNhc2UgQ3RsRmlsZToNCgkJaWYgKCFpc2Rl Y29kZWQpDQoJCXsNCgkJCURCRygiRW5jc3J2OiBkZWNvZGluZy4uLiIpOwkJCQ0KCQkJQ3J5 cHRvKEVuY0RhdGEsIERhdGEsIGRsZW4sIEVuY0tleSwga2xlbik7DQoJCQlpc2RlY29kZWQ9 MTsNCgkJCURCRygiZG9uZVxuIik7DQoJCX0NCg0KCQlpZiAoaXN2YWxpZChFbmNEYXRhLCBk bGVuKSkNCgkJCXJlYWRidWYociwidmFsaWQiLDUpOw0KCQllbHNlDQoJCQlyZWFkYnVmKHIs bmlsLDApOw0KCQlicmVhazsNCgljYXNlIERhdGFGaWxlOg0KCQluPWRsZW4tci0+aWZjYWxs Lm9mZnNldDsNCgkJaWYgKG4+MCkNCgkJew0KCQkJaWYgKG4+ci0+aWZjYWxsLmNvdW50KQ0K CQkJCW49ci0+aWZjYWxsLmNvdW50Ow0KCQkJcmVhZGJ1ZihyLERhdGEsbik7DQoJCX0NCgkJ ZWxzZQ0KCQkJcmVhZGJ1ZihyLERhdGEsMCk7DQoJCWJyZWFrOw0KCWNhc2UgRW5jRmlsZToN CgkJaWYgKCFpc2RlY29kZWQpDQoJCXsNCgkJCURCRygiRW5jc3J2OiBkZWNvZGluZy4uLiIp OwkJCQ0KCQkJQ3J5cHRvKEVuY0RhdGEsIERhdGEsIGRsZW4sIEVuY0tleSwga2xlbik7DQoJ CQlpc2RlY29kZWQ9MTsNCgkJCURCRygiZG9uZVxuIik7DQoJCX0NCg0KCQluPWRsZW4tci0+ aWZjYWxsLm9mZnNldDsNCgkJaWYgKG4+MCkNCgkJew0KCQkJaWYgKG4+ci0+aWZjYWxsLmNv dW50KQ0KCQkJCW49ci0+aWZjYWxsLmNvdW50Ow0KCQkJcmVhZGJ1ZihyLEVuY0RhdGEsbik7 DQoJCX0NCgkJZWxzZQ0KCQkJcmVhZGJ1ZihyLEVuY0RhdGEsMCk7DQoJCWJyZWFrOw0KCWNh c2UgS2V5RmlsZToNCgkJbj1rbGVuLXItPmlmY2FsbC5vZmZzZXQ7DQoJCWlmIChuPjApDQoJ CXsNCgkJCWlmIChuPnItPmlmY2FsbC5jb3VudCkNCgkJCQluPXItPmlmY2FsbC5jb3VudDsN CgkJCXJlYWRidWYocixFbmNLZXksbik7DQoJCX0NCgkJZWxzZQ0KCQkJcmVhZGJ1ZihyLEVu Y0tleSwwKTsNCgkJYnJlYWs7DQoJZGVmYXVsdDoNCgkJcmVzcG9uZChyLCJ1bmJlbGlldmFi bGUgcmVhZCIpOw0KCQlyZXR1cm47DQoJfQ0KDQoJcmVzcG9uZChyLG5pbCk7DQp9DQoNCnZv aWQgbXlvcGVuKFJlcSAqcikNCnsNCglyZXNwb25kKHIsbmlsKTsNCn0NCg0Kdm9pZCBteWNy ZWF0ZShSZXEgKnIpDQp7DQoJcmVzcG9uZChyLCJwZXJtaXNzaW9uIGRlbmllZCIpOw0KfQ0K DQp2b2lkIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkNCnsNCg0KCUFSR0JFR0lOIHsN CgljYXNlICdtJzoNCgkJbW50cHQ9QVJHRigpOw0KCQlicmVhazsNCgljYXNlICdEJzoNCgkJ Y2hhdHR5OXArKzsNCgkJYnJlYWs7DQoJY2FzZSAncyc6DQoJCXJlbW90ZSsrOw0KCQlicmVh azsNCglkZWZhdWx0Og0KCQlwcmludCgidXNhZ2UgJXMgLW0gbW50cG50IC1zXG4iLGFyZ3Zb MF0pOw0KCQlleGl0cygwKTsNCgkJYnJlYWs7DQoJfSBBUkdFTkQNCg0KCW15c3J2LnRyZWU9 YWxsb2N0cmVlKG5pbCxuaWwsRE1ESVJ8MDc3NyxuaWwpOw0KCWNyZWF0ZWZpbGUobXlzcnYu dHJlZS0+cm9vdCwiZGF0YSIsbmlsLDA2NjYsKHZvaWQqKURhdGFGaWxlKTsNCgljcmVhdGVm aWxlKG15c3J2LnRyZWUtPnJvb3QsImN0bCIsbmlsLDA2NjYsKHZvaWQqKUN0bEZpbGUpOw0K CWNyZWF0ZWZpbGUobXlzcnYudHJlZS0+cm9vdCwia2V5IixuaWwsMDY2Niwodm9pZCopS2V5 RmlsZSk7DQoJY3JlYXRlZmlsZShteXNydi50cmVlLT5yb290LCJlbmMiLG5pbCwwNjY2LCh2 b2lkKilFbmNGaWxlKTsNCg0KCWlmIChyZW1vdGUpDQoJew0KCQlzcnYoJm15c3J2KTsNCgl9 DQoJZWxzZQ0KCXsNCgkJcG9zdG1vdW50c3J2KCZteXNydixzcnZuYW1lLG1udHB0LE1SRVBM fE1DUkVBVEUpOw0KCX0NCg0KCWV4aXRzKDApOw0KfQ0K ------------901392483AA62324--