C HTTP 服务器中的 malloc 失败:终止或内部服务器错误?

问题描述 投票:0回答:0

我有一个用C编写的网络服务器,仅供学习之用。我认识到 C 编程中的一种模式,当出现失败的

malloc
时,开发人员将终止进程(
perror
exit
)。这就是我一直在做的事情。

但是,HTTP 有 500 状态码,其消息是“内部服务器错误”。它不会终止整个服务器,而是简单地向客户端返回响应。但如果它只返回错误响应,则下一个

malloc
可能会产生相同的错误响应。

所以我想知道:

  1. 如何处理
    mmap
    malloc
    等失败的功能?
  2. 哪些失败的 C 函数我应该返回内部服务器错误而不是终止服务器?

假设错误仅发生在读取请求和发送响应期间。

c http malloc internal-server-error
© www.soinside.com 2019 - 2024. All rights reserved.