• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

RFC202 - Possible Deadlock in ICP

发布: 2007-6-23 14:09 | 作者:   | 来源:   | 查看: 15次 | 进入软件测试论坛讨论

领测软件测试网

   
  Network Working Group Steve Wolfe
Request for Comments: #202 UCLA-CCN
NIC #7155 Jon Postel
Categories: D UCLA-NMC
References: Document #2 26 July 1971
Obsoletes: None

We have noticed a possible deadlock situation which may arise using the
Initial Connection Protocol (ICP) specified in Document #2 (NIC #7101 in
the Current Network Protocols Notebook NIC #7104).

If on both sides one RFCis issued and a "wait for match" is required
before the second RFCis issued, it is possible that the first RFC's
will not match. In particular a deadlock will occur if both sides open
their send or both sides open their receive sockets first.

Briefly the ICP is:
<where the original uses a script lowercase letter with a single digit
subscript we use the lower case letter followed by {digit} so that
script-m-subscript-2 is printed m{2}>

Server User
------ ----

S1: Listen on socket L. U1: RTS(U, L, l{1})

S2: Wait for a match. U2: Wait for match.

S3: STR(L, U, s{1})

S4: Wait for allocation. U3: All(l{1}, m{1}, b{1})

S5: Send data S in s{1} bit U4: Receive data S in s{1}
bytes as allowed by bit bytes.
allocation m{1}, b{1}.

S6: CLS(L, U) U5: CLS(U, L)

S7: RTS(S, U+3, l{2}) U6: STR(U+3, S, s{2})

S8: STR(S+1, U+2, s{3}) U7: RTS(U+2, S+1, l{3})

"The labels here imply no ordering except that ordering required by the
Host-Host Protocol. Note that steps S7 and S8 can be reversed as can U6
and U7. Also, notice that at any time after S2 the server could
initiate steps S7 and S8 in parallel with steps S3 through S6, and that
at any time after U4 the user could initiate steps U6 and U7 in parallel
with step U5."

[Page 1]

We recommend that the server perform steps 7 and 8 before waiting for
the user to perform step 6 or 7. It is also suggested that the user
issue the RFC's in steps 6 and 7 without waiting for the server. (If
the user is only Listening then both Listens should be issued without
waiting for the server.) If for some reason a host must delay between
issuing RFC's it must issue the RFC's involving sockets S and U+3 first.

[ This RFCwas put into machine readable form for entry ]
[ into the online RFCarchives by Robert Barnes 6/97 ]

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网