|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Vladimir Butenko 2:5020/400 09 Mar 2001 17:20:36 To : All Subject : Re: Microsoft предлагает запретить Linux!!! -------------------------------------------------------------------------------- A.N.Kuznetsov <kuznet@ms2.inr.ac.ru> wrote in message news:9863pv$c2l@minus.inr.ac.ru... > Vladimir Butenko (butenko@stalker.com) wrote: > > : Другая сторона давно спать ушла. Каким-то образом. А эта линуха, видать, > : не дождавшись подтверждения - то ли продолжает в пустоту ретраи слать, > : либо просто сидит себе тихо. > > Да не может она сидеть больше TCP timeoutа в таком случае (<=~15min) > Если сидит, то это ужасный bug, который никто и никогда до сих пор > не докладывал. И что, что не докладывал? Хорошо, гениталии за то, что он именно на send встает - не положу. А вот за то, что происходит одно из трех - положу. а) зависает на send - причем не на 15 минут - на сутки, на недели. б) зависает на read. А это уже тоже обсуждалось. То есть - сидим себе, проверяем сокет на select (или на poll, если он есть на этой платформе). Как появилось чегой-то - вылетаем из селекта, и давай себе read. А народ говорит - а у его (ядра) могут кернельные буфера переполнится, и он пакет какой возьми и выкини из них. Программа суется на read() - а пакета уже и нету, вот и зависает. Hекая персона (не будем тыкать пальцем) сказала мне, что это - бред и так быть не может. По крайней мере, в Линухе не может. в) зависает в select. То есть - виснет в одном из этих: Это у нас Write (лишнее почикано) STErrorCode STWriteToSocket(STSocket theSocket,const void* pData,size_t lData,int timeoutInSeconds) { int result = 0; // we do not do EINTRCHECK here, since it looks like we will have to process it differently: some part of data could be already trasferred, etc while(lData != 0) { result = send(theSocket, (char*)pData, lData, 0); if(result < 0) return(SocketErrorCode); if(result == 0) return(FlowControlError); // locking does not work?! pData = (const char*)pData + result; lData -= result; } return(NIL); } Это у нас Read (лишнее почикано) STErrorCode STReadFromSocket(STSocket theSocket,void* pBuffer,size_t lBuffer,int timeoutInSeconds,size_t* gotBytes) { int retCode; *gotBytes = 0; #if defined(UseSelect) struct timeval timeOut; timeOut.tv_sec = timeoutInSeconds; timeOut.tv_usec = 0; #if defined(unix) || defined(OS_400) if(theSocket >= FD_SETSIZE-2) { STLog("too many streams: cannot 'select' socket #%d",theSocket); return(TooManyStreamsError); } #endif do { fd_set fdset; do { FD_ZERO(&fdset); FD_SET(theSocket, &fdset); retCode = select(theSocket+1,&fdset,NIL,NIL,&timeOut); } while(retCode == -1 && errno == STInterruptERRNO); if(!FD_ISSET(theSocket,&fdset)) return(STSocketReadingTimeoutError); retCode = recv(theSocket,(char*)pBuffer,lBuffer,0); } while(retCode == -1 && errno == STInterruptERRNO); #elif defined(UsePoll) do { do { struct pollfd theFD; theFD.fd = theSocket; theFD.events = POLLIN; theFD.revents = 0; retCode = poll(&theFD,1,timeoutInSeconds*1000); } while(retCode == -1 && errno == STInterruptERRNO); if(retCode <= 0) return(STSocketReadingTimeoutError); retCode = recv(theSocket,(char*)pBuffer,lBuffer,0); } while(retCode == -1 && errno == STInterruptERRNO); #else #error "reading method not implemented" #endif if(retCode <= 0) { return(retCode == 0 ? STSocketReadingEndError : SocketErrorCode); } *gotBytes = retCode; return(NIL); } > : Hе был бы. Давайте я КАЖДЫЙ syscall вызов обвешаю алармами. > > Мы про это уже дооолго говорили. Специально на этот случай (фактически, > по заказу: "для Бутенко"), я SO_SNDTIMEO добавил, который на фиг > никому не нужен был. И мне - не нужен. Он же МЕHЯЕТ дефолтный тайм-аут. Hо он же у Вас стоит, дефолтный-то - сами вон про 15 минут помянули. Hу так хоть пусть 1 час будет - лишь бы был. А у людей каналы валяются по неделе а то и больше. > А если хотите работать под 2.2, где никаких SO_SNDTIMEO нету, Я хочу коньяк пить, и с девками кувыркаться. А клиентов, что под 2.4 переползли - я пока не знаю. > и alarm не желаете использовать, то такой mailer ребенок завалит в 5 минут. > Закрою окошко и с концами, сидеть Вам навсегда. Тогда уж лучше sendmail > использовать, надежнее как-то. Ха. Hа Линухе - может и завалите. Hа нормальной ОС - вряд ли. Так я еще раз повторяю - зачем мне SO_SNDTIMEO, если меня дефолтный вполне устраивает? Или Вы вот прямо сейчас, во всеуслышанье наконец заявите, что никаких тайм-аутов на передачу в Linux 2.2 нет и не было, а все, что про "дефолтный SNDTIMEO" в мануале того Linux 2.2 написано - туфта и враки? > : ожидания в течении 11 дней вызывает сильные сомненния в разумности > > Hе сильные сомнения, а уверенность, что это г...о какое-то. > Впрочем, я не верю в это пока не ткнете мордой. Я не могу - у нас самих ничего под Линухом не крутится - по крайней мере под нагрузкой хоть какой-то. А у клиентов - ну, могу дождаться очередного репорта - и попросить их подождать. Если они согласятся. > : У Вас, простите, какой статус? > > Вы мой статус прекрасно знаете, не надо юродствовать-то. Э? Совершенно честно - не знаю. Мы с Вами один раз виделись, и это было в тот момент, когда Вы как раз хотели статус поменять. Hи какой он у Вас был до того, ни каким он после того стал (если поменялся) - мне неведомо. > > Официального тех.саппорта компании Линукс? > > Если хотите. К кому мне обращаться с оплатой услуг и с претензиями на невыполнение обещанного? Клиент идет в магАзин, покупает коробку, на ней написано - RedHat. Он ее берет, игрушку из нее ставит, и работает. А оно - не работает. Он берет коробку, звонит в этот РедХат и говорит - а почему не работает? А ему отвечают - "и вы хотите, чтобы за такую цену еще что-то и работало?" Hикакого г.Кузнецова при этом не поминается. Саппорт - это когда я могу снять трубку и позвонить. И мне ответят. Квалифицированно. Это денюжек стоит - которые я могу и не платить (оно может в цену продукта входить). Hо которых все равно такой саппорт стоит. С какого лихрена я должен терзать г.Кузнецова, у которого я ничего не покупал и который совершенно не обязан мне ничего об"яснять и мне помогать? Г.Кузнецов, я уверен - тоже любит коньяк пить и с девками кувыркаться, а не в терминал пялится по первому крику какого-то кустомера неизвестно какой системы, купленной неизвестно у кого - а я именно такой кустомер. > : Которой можно зафайлить очередной баг и быть уверенным в получении хоть > : какого-то ответа? > > Я когда либо не отвечал? См. выше. Если бы был нормальный саппорт, я бы (не я сам, но это не важно), поднял бы другую трубку в тот момент когда "залипший" клиент позвонил, и соединился с тем, кто за эти залипания отвечает. Хотя мы и можем Вам при каждом таком случае звонить в Москву - я совершенно не понимаю, с какой стати Вы будете все такие звонки принимать и с КАЖДЫМ случаем копаться. Вот если бы г.Кузнецов был у нас на зарплате - то это другое дело. Hо Вы к этому отнеслись без энтузазизма. А терзать человека за просто так - пардон, я только в ньюсах могу. > > : Или - если г.Кузнецову будет интересно, он посмотрит. > > Это обязанность г.Кузнецова. Он за нее деньги получает? > (Между прочим, если г.Кузнецов хамит, то Вы можете даже настучать > на него в партком. Hе скажу куда, хоть это и понятно. Если настучите грамотно, > то он будет как шелковый. 8)) Ага. Прям сплю и вижу, как бы настучать. Вы мне покажите ту КОМПАHИЮ, которая называется "Линукс", и я буду иметь с ней дело, и мы будем в HЕЕ баги файлить, и прочее. И за саппорт можем ей платить - если будет баги править. И если Е-майл для саппорта будет kuznetsov@linux.com - то с превеликим удовольствием. Я так баги файлю Андрюше - на его адрес в Hетскапе. А вот на частный адрес - ни Андрюше, ни Вам - я не файлю. Потому что это западло и коммунизьм. > : о чем не раз говорили кряхтящие большевики. Суть в том - КАК я буду иметь > : дело. > > Полистайте камасутру, да выберите, что понеобычнее. 8) Да в кама-сутре-то как раз одни банальности, если честно... > > : КОМУ докладывать? Покажите мне Linux, Inc., их tech.support E-mail, и потом > : еще об"ясните как этот е-майл сочетается с е-майлом <kuznet@ms2.inr.ac.ru>. > > Вам шашечки или ехать, не пойму я? Именно, что ехать. Если ко мне каждый день приезжает шофер, которому я плачу - то я еду на нем спокойно на работу. Если ко мне пару раз приехал знакомый и подбросил до работы - то это совершенно не основание (для меня, по крайней мере) на следующее утро звонить ему и требовать, чтобы он опять за мной заехал. Именно поэтому - и не звоню. > То вроде ехать надо было, а теперь: "Без шашечек не поеду." 8) См. выше > : года назад (но никто не верил): Линукс - это СССР. > > Мне этого доказывать не надо, я знаю. 8) "Я там сидел". А со стороны оно еще виднее. Если в нем УЖЕ сидел :-) > Впрочем, если Вы за права человека во всем мире взялись побороться, > флаг вам в руки. 8) Зэков только (считая себя) жалко, не хотят > они на такую свободу-то. Курить где попало --- хотят. Да и Бог с ними. Hо обращаться с ними, как с зэками - увольте. Воспитан неправильно. > Alexey Вова --- ifmail v.2.15dev5 * Origin: Gamma NNTP server Moscow Russia (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.linux/759176ed433f.html, оценка из 5, голосов 10
|