*отклоните выбор и exceptfds/errorfds семантику

Это , в основном.

современные платформы JavaScript (jQuery, прототип, и т.д.) сделали чудеса для получения кода, работающего в большом количестве браузеров сразу.

самой большой проблемой, которую я имею теперь, является то, что любой вид богатого поведения UI работает удивительно медленно. IE7 плох. IE6 хуже. IE8 является багги, наполовину законченным, и действительно не лучше, чем IE7.

худшая вещь состоит в том, что я не думаю, что мы когда-либо будем свободны от IE6. Это было настолько повсеместным, и настолько чертовски изворотливым. Загрузки 'предприятия' (и этим я имею в виду большие веб-приложения, сделанные одной крупной компанией для другой крупной компании) приложения использовали очень определенный IE6 javascript, который даже не работает в IE7, не берет в голову что-либо еще.

Компании не могут позволить себе полностью заменить эти приложения - мы пытаемся продать им новые, и это означает, что поддержка IE6 обязательна. Путем это прямо сейчас с уплотненными кредитом компаниями, сокращающими издержки, я считаю, что мы будем все еще поддерживать IE6 в 2015:-(

42
задан tshepang 22 September 2013 в 15:17
поделиться

2 ответа

You're right, it depends on the type of device you're referencing with the file descriptors. So, it's different for sockets, FIFOs, serial ports, etc...

Look at the man page for read(). At the bottom (at least in OS X) it lists the different errors you can get for different devices. Same goes for write().

For sockets, FIFOs and other IPC mechanisms, I would check out Unix Network Programming, Volumes 1 and 2. IIRC it describes what kind of errnos to expect for different error conditions.

I walked this path once with FIFOs. I ended up brainstorming all the ways the producer and consumer could interact with each end of the FIFO and then wrote test cases for each of those situations. It was a good (although tedious) way to discover all the different error conditions. I learned a lot though and ultimately the code just works now.

3
ответ дан 27 November 2019 в 00:00
поделиться

Иногда думают, что exceptfds необходим для обнаружения ошибок, но это заблуждение. Ошибки будут отмечены в readfds . Хотя POSIX требует этого (и даже вызывает параметр errorfds ), от ОС зависит, будут ли ошибки также отмечены в за исключениемfds . На самом деле, этот параметр необходим только в том случае, если вас интересуют исключительные условия , но очень редко возникает необходимость их обнаруживать.

Что квалифицируется как исключительное условие, зависит от типа дескриптора файла, но от На сегодняшний день наиболее часто используется сокет TCP, где он указывает, что данные вне диапазона доступны для чтения с помощью recv () с флагом MSG_OOB . Однако внеполосные данные TCP имеют ряд особенностей (например, только 1 байт может быть невыполненным) и, как результат, используется редко.

В последних версиях ядра Linux exceptfds можно использовать для обнаружения изменения определенных атрибутов sysfs. Текущее значение атрибута можно прочитать, прочитав соответствующий файл в папке / sys , а select () в файловом дескрипторе отметит exceptfds , когда изменения атрибутов. Однако в настоящее время это работает только для некоторых атрибутов и для изменений монтирования ( / proc / mounts ).

Также некоторые драйверы устройств будут помечать определенные специфические для устройства условия, используя exceptfds .

Текущее значение атрибута можно прочитать, прочитав соответствующий файл в папке / sys , а select () в файловом дескрипторе отметит exceptfds , когда изменения атрибутов. Однако в настоящее время это работает только для некоторых атрибутов и для изменений монтирования ( / proc / mounts ).

Также некоторые драйверы устройств будут помечать определенные специфические для устройства условия, используя exceptfds .

Текущее значение атрибута можно прочитать, прочитав соответствующий файл в папке / sys , а select () в файловом дескрипторе отметит exceptfds , когда изменения атрибутов. Однако в настоящее время это работает только для некоторых атрибутов и для изменений монтирования ( / proc / mounts ).

Также некоторые драйверы устройств будут помечать определенные специфические для устройства условия, используя exceptfds .

32
ответ дан 27 November 2019 в 00:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: