refactor(main): 使用跨平台 API 替代 POSIX 依赖
- 移除 <signal.h> 头文件 - 新增 cocoon_socket_init() / cocoon_socket_cleanup() 调用 - 信号处理改用 cocoon_signal_setup() 统一封装 - Windows 下自动 WSAStartup/WSACleanup
This commit is contained in:
parent
adeeda1fc1
commit
78507084c4
14
main.c
14
main.c
@ -9,10 +9,10 @@
|
|||||||
#include "cocoon.h"
|
#include "cocoon.h"
|
||||||
#include "server.h"
|
#include "server.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#include "platform.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* g_ctx - 全局服务器上下文(用于信号处理)
|
* g_ctx - 全局服务器上下文(用于信号处理)
|
||||||
@ -184,9 +184,14 @@ int main(int argc, char *argv[]) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 初始化 socket 子系统(Windows 下 WSAStartup) */
|
||||||
|
if (cocoon_socket_init() != 0) {
|
||||||
|
fprintf(stderr, "[Cocoon] socket 子系统初始化失败\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
/* 注册信号处理 */
|
/* 注册信号处理 */
|
||||||
signal(SIGINT, signal_handler);
|
cocoon_signal_setup(signal_handler);
|
||||||
signal(SIGTERM, signal_handler);
|
|
||||||
|
|
||||||
/* 设置日志级别 */
|
/* 设置日志级别 */
|
||||||
log_set_level(config.log_level);
|
log_set_level(config.log_level);
|
||||||
@ -205,6 +210,9 @@ int main(int argc, char *argv[]) {
|
|||||||
server_destroy(g_ctx);
|
server_destroy(g_ctx);
|
||||||
g_ctx = NULL;
|
g_ctx = NULL;
|
||||||
|
|
||||||
|
/* 释放 socket 子系统(Windows 下 WSACleanup) */
|
||||||
|
cocoon_socket_cleanup();
|
||||||
|
|
||||||
/* 释放配置文件分配的 root_dir */
|
/* 释放配置文件分配的 root_dir */
|
||||||
if (config.root_dir) {
|
if (config.root_dir) {
|
||||||
free((void *)config.root_dir);
|
free((void *)config.root_dir);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user