2011-05-11 15 views
10

SO_RCVTIMEO seçeneği (zaman aşımı süresi dolarsa o EAGAIN veya EWOULDBLOCK dönmek neden olan) accept etkiler mi? Standart tarafından belirtilen herhangi bir davranış var mı? Ben seçeneklerden accept belgelerine veya kullanımda bulamıyorum:SO_RCVTIMEO, accept() öğesini etkiler mi?

POSIX SO_RCVTIMEO iken "bir giriş fonksiyonu" için tanımlanır ve SO_SNDTIMEO "bir çıkış fonksiyonu" için tanımlanan

http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_10_16

+1

hiçbir varlık cevabı hatırlamak gibi görünüyor ama bağlam SO oldu falan okudum ben hatırlamıyorum. Stevens sadece, okuduğunu, okuduğunu, geri çekildiğini ve tekrardan etkilendiğini hatırlatır. Kabul, bir yerde belgelenecek seçenek tarafından etkilendiyse görünecektir, çünkü bazı durumlarda yararlı olacaktır. – Duck

+0

Ayrıca, 3 yol zaten tamamlanana kadar bekleyen bir bağlantıya gidilmeyecek mi? Bu, yeni bir soketle dönüp gitmeyeceğiniz için noktayı reddeder. – Duck

+0

Engelleme soketini düşünüyordum ve "kabul et" zamanı bağlantı girişimi olmadığında engelleniyor. –

cevap

12

, ben "input function" veya "output function" için herhangi bir tanım bulamadı, bu yüzden sadece okuduğum/aldıklarını ve en azından yazıp/yazdıklarını söyleyeceğim. Linux'un özel durumda

, SO_RCVTIMEO inet_csk_accept() bakarak görülebileceği gibi, accept() etkiler ve tcp_sendmsg() bakarak görülebileceği gibi SO_SND_TIMEO, connect() etkiler.

+1

+1 İlginç. Siteye de faydalı link için teşekkürler. – Duck

+0

+1 ve kabul edildi, çünkü diğer uygulamalar için uygulama özellikleri dışındaki konular hakkında söylenecek başka bir şey yok gibi görünüyor. –

İlgili konular