2011-08-09 7 views

Odpowiedz

22

Były pewne ... http://www.gnu.org/s/hello/manual/libc/Error-Codes.html

Przenośność Uwaga: W wielu starszych systemach Unix, warunek ten został wskazany przez EWOULDBLOCK, który był odrębny kod błędu różny od EAGAIN. Aby twój program był przenośny, powinieneś sprawdzić oba kody i traktować je tak samo.

http://lists.parisc-linux.org/hypermail/parisc-linux/9895.html

W niektórych systemach sysv EAGAIN! = EWOULDBLOCK. Myślę, że odziedziczył definicje ERRNO z HPUX ...

Starsze AIX jest taki system też: http://programming.itags.org/unix-linux-programming/81597/

HPUX (i starsze wersje AIX)

Dla AIX Znalazłem listę kodów: http://homepage3.nifty.com/owl_h0h0/unix/job/UNIX/tutorial/error.html

11 EAGAIN; 54 EWOULDBLOCK

OS/390 za: http://web.archiveorange.com/archive/v/zvbaIz8u6TzsQHHjfzOi

OS/390 i innych platform, gdzie EWOULDBLOCK EAGAIN

= Istnieje tabela pełniejsze: http://www.ioplex.com/~miallen/errcmp.html

 SUSv3 AIX 4.3,5.1 HP-UX 11.22 Solaris 9,10 Linux 2.4.28,2.6.9 IRIX 6.5[4] OSF1 FreeBSD 5.2.1 OSX 10.3.8 MSVC6 
EAGAIN 1 0 Resource unavailable, try again [3] 11 Resource temporarily unavailable 11 No more processes 11 Resource temporarily unavailable 11 Try again 11 Resource temporarily unavailable 11 ditto 35 Resource temporarily unavailable 35 Resource temporarily unavailable 11 Resource temporarily unavailable 

EWOULDBLOCK 0.9 0 Operation would block [3] 54 Operation would block [2] 246 Operation would block 11  11 Operation would block 11 Resource temporarily unavailable 35 Operation would block 35 Operation would block 35 Operation would block 

AIX, AIX 4.3,5.1; Systemy HP-UX 11.22 i OSF1 używają różnych kodów dla EAGAIN i EWOULDBLOCK

+2

Wygląda na to, że najnowsze wydania EAGAIN! = EWOULDBLOCK mają miejsce w 2002 roku. Dzięki. – pilcrow

+0

Niektóre kod powinien również działać na starszych wersjach. Znam kilku aktualnych użytkowników OS/2 (nie ecomstation, ale oryginalna Os/2, ostatnia wersja wydana w 2001 roku). Na przykład. przenośna biblioteka arp; firefox 3.5 został również przeniesiony do OS/2, – osgx

1

Tak, istnieje kilka systemów.

W bibliotece GNU C zawsze mają tę samą wartość.

+1

Jakie systemy w szczególności? – pilcrow

+1

linux/parisc, niektóre HP-UX, inne stare unices ... to, co pokazuje Google, nie wiem więcej. Wystarczy użyć obu, jeśli są one takie same, kompilator z przyjemnością je zoptymalizuje. –

Powiązane problemy