Donc « terminer correctement » pour qu'on puisse le relancer « plus tard » quand il y aura plus de ressources ? Quelle différence avec faire que malloc() renvoie toujours un pointeur valide
Parce qu'avec le pointeur toujours valide le programme se dira "chouette j'ai ma mémoire je peux y aller" et au moment de l'utiliser paf ; alors que s'il attend il explosera pas.
le kernel se débrouille pour toujours avoir de la mémoire disponible, quitte à swapper
Me semble bien que la swap est déjà comptée dans la mémoire totale, donc les cas de malloc != 0 mais j'ai pas la mémoire en fait, y a plus de swap non plus ; alors à moins de faire de la swap dynamique comme Windows ou OSX... (et évidemment, dans ce cas-là il se passera quoi quand y aura plus de disque ? Tu viens juste de remonter le problème plus haut)
[^] # Re: containers
Posté par Sufflope (site web personnel) . En réponse au journal Gestion des erreurs d’allocation mémoire en C. Évalué à 2.
Parce qu'avec le pointeur toujours valide le programme se dira "chouette j'ai ma mémoire je peux y aller" et au moment de l'utiliser paf ; alors que s'il attend il explosera pas.
Me semble bien que la swap est déjà comptée dans la mémoire totale, donc les cas de malloc != 0 mais j'ai pas la mémoire en fait, y a plus de swap non plus ; alors à moins de faire de la swap dynamique comme Windows ou OSX... (et évidemment, dans ce cas-là il se passera quoi quand y aura plus de disque ? Tu viens juste de remonter le problème plus haut)