skynet
skynet copied to clipboard
A lightweight online game framework
stat: add mem stat for jemalloc/os ### 修改内容 - 1, add opts arg for mallctl() - 2, collect jemalloc.mem info - 3, collect os.mem info by /proc - 4, add...
agent服务,处理client的请求, local db = {} function REQUEST:get(args) log(db) print("get", args.what) --local r = skynet.call("SIMPLEDB", "lua", "get", args.what) --print(db[args.what]) print('----------------------') --log(db) return { result = "haha fake" } end function REQUEST:set(args)...
gcc-13 及以上版本会默认开启 -D_FORTIFY_SOURCE=3 (原配置为 -D_FORTIFY_SOURCE=2), 在开启 O1 以上编译优化的时候编译器可能对 memcpy 插入检查, 发生越界误判 (malloc_usable_size(ptr) 返回的大小要大于实际 malloc 大小) 崩溃堆栈:  最小复现代码: ```C // test.c #include #include #include size_t size = 32; struct mem_cookie...
function CMD.request(id, addr) socket.start(id) local code, url, method, header, body = httpd.read_request(sockethelper.readfunc(id), 8192) --syslog.trace("---------------------code:%s %s, %d, %d",code, method, id, skynet.self()) if code then local origin = header['origin'] if 'OPTIONS' ==...
如题,我有一个节点同时关闭多个service,每次关闭clusteragent会收到一条`namechange`消息,在这期间对同个name派发消息时,会出现"Invalid name"。 消息顺序: 1. 收到`namechange`后调用`new_register_name`产生register_name_a。 2. 收到消息执行`dispatch_request`方法,此时register_name_a[name]为nil,执行`register_name_mt.__index`方法,此时inquery_name[name]为nil,然后`queryname`协程挂起。 3. 再次收到`namechange`后调用`new_register_name`产生register_name_b。 4. 再次收到消息执行`dispatch_request`方法,register_name_b[name]为nil,执行`register_name_mt.__index`方法,此时inquery_name[name]非nil,协程等待挂起。 5. 第2步的`queryname`结果返回,`register_name_a[name] = abbr`, 并唤醒的携程 6. 唤醒第4步中的协程,`rawget(register_name_b, name)`为nil,返回"Invalid name"。
运行范例example/config.c1报错。。 最后一行日志显示。 [:00000002] LAUNCH snlua bootstrap [:00000003] LAUNCH snlua launcher [:00000004] LAUNCH snlua cdummy [:00000005] LAUNCH harbor 0 4 [:00000006] LAUNCH snlua datacenterd [:00000007] LAUNCH snlua service_mgr [:00000008] LAUNCH snlua...