Dyskusja:C/malloc

Z Wikibooks, biblioteki wolnych podręczników.
Przejdź do nawigacji Przejdź do wyszukiwania

"Warto zauważyć, że w przypadku standardowych konfiguracji systemu GNU/Linux funkcje przydzielające pamięć nigdy nie zawodzą i nie zwracają wartości NULL (dla wartości parametru size większego od zera)."

mozna wiedziec skad autor wzial te rewelacje?

Dobre pytanie, informacje dodał anonimowy IP-ek. Ja natomiast doszukałem się w man-ie źródła pomyłki. Możemy przeczytać:
      "BUGS
      By  default,  Linux  follows  an optimistic memory allocation strategy.
      This means that when malloc() returns non-NULL there  is  no  guarantee
      that  the  memory  really  is available.  This is a really bad bug."
Wynika z tego, że alokator pamięci Linuksa nie gwarantuje rzeczywistej dostępności przydzielonego obszaru pamięci pomimo zwrócenia przez malloc wartości różnej od NULL. Mało tego, zamiast zwrócić NULL w obliczu braku pamięci system po prostu zacznie zabijać procesy. Poprawiam i dziękuję za zwrócenie uwagi. --Kj 23:13, 24 lip 2009 (CEST)