Когда errno следует назначать ENOMEM?

Следующая программа завершается ядром, когда заканчивается память. Я хотел бы знать, когда глобальная переменная должна быть назначена «ENOMEM».

#define MEGABYTE 1024*1024
#define TRUE 1
int main(int argc, char *argv[]){

    void *myblock = NULL;
    int count = 0;

    while(TRUE)
    {
            myblock = (void *) malloc(MEGABYTE);
            if (!myblock) break;
            memset(myblock,1, MEGABYTE);
            printf("Currently allocating %d MB\n",++count);
    }
    exit(0);
}
6
задан Cacho Santa 10 June 2012 в 03:54
поделиться