Skip to content

Latest commit

 

History

History
15 lines (9 loc) · 885 Bytes

README.md

File metadata and controls

15 lines (9 loc) · 885 Bytes

MyWebServer

在TinyWebServer的基础上升级了以下内容

1、将链表定时器升级为了以最小堆为结构的定时器

2、添加了文件上传下载功能

3、修改了原始代码中编译时加入-O2会发生段错误的bug

http_conn.cpp:624 在原始的代码中,add_content_length、add_linger、add_blank_line都没有返回值,因此在使用&&连接多个函数时,如果有函数返回false,后续的函数将不会被执行。但是由于这些函数并没有返回值告知调用者它们的执行结果,因此会出现难以预料的行为。

添加了-O2优化选项后,编译器可能对代码进行了优化,使得这些函数的执行顺序发生了变化,导致错误的结果。

将代码修改为返回布尔值,可以保证add_headers函数的执行结果正确,同时也可以避免出现难以预料的行为。