From 0afea732d2421bc819871d53267969c5a37280bc Mon Sep 17 00:00:00 2001 From: Yecheng Fu Date: Thu, 20 Dec 2012 16:53:42 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fixbug=20=E5=BA=94=E6=AF=94=E8=BE=83=20hand?= =?UTF-8?q?le=20=E9=AB=98=208=20=E4=BD=8D=20harbor=20id=20=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E4=B8=8E=E6=9C=AC=E5=9C=B0=E7=9B=B8=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- skynet-src/skynet_harbor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skynet-src/skynet_harbor.c b/skynet-src/skynet_harbor.c index 1e9b771d..a666c699 100644 --- a/skynet-src/skynet_harbor.c +++ b/skynet-src/skynet_harbor.c @@ -34,7 +34,7 @@ skynet_harbor_register(struct remote_name *rname) { int skynet_harbor_message_isremote(uint32_t handle) { - return !(handle & HARBOR); + return (handle & ~HANDLE_MASK) != HARBOR; } void From 10eeb67128c5e4abb0e0aa80a0aa57ac15ac2907 Mon Sep 17 00:00:00 2001 From: Yecheng Fu Date: Thu, 20 Dec 2012 17:17:21 +0800 Subject: [PATCH 2/2] =?UTF-8?q?BUG:=20console=20=E9=87=8C=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E4=B8=80=E4=B8=AA=E6=9C=8D=E5=8A=A1=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E5=90=8E=EF=BC=8C=E6=97=A0=E6=B3=95=E4=BD=BF=E7=94=A8=20abort?= =?UTF-8?q?=20=E9=80=80=E5=87=BA=20skynet=20FIX:=20init=20=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E5=89=8D=E5=85=A8=E5=B1=80=20context=20=E8=AE=A1?= =?UTF-8?q?=E6=95=B0=E5=8A=A0=E4=B8=80=EF=BC=8C=E5=9B=A0=E4=B8=BA=20init?= =?UTF-8?q?=20=E5=A4=B1=E8=B4=A5=E5=90=8E=E4=BC=9A=E5=8E=BB=20release=20co?= =?UTF-8?q?ntext=EF=BC=8C=E6=AD=A4=E6=97=B6=E4=BC=9A=E5=85=A8=E5=B1=80=20c?= =?UTF-8?q?ontext=20=E8=AE=A1=E6=95=B0=E5=87=8F=E4=B8=80=E3=80=82=E4=BB=A5?= =?UTF-8?q?=E5=89=8D=E4=BC=9A=E5=9B=A0=E6=AD=A4=E5=AF=BC=E8=87=B4=E5=85=A8?= =?UTF-8?q?=E5=B1=80=20context=20=E8=AE=A1=E6=95=B0=E4=B8=8D=E5=87=86?= =?UTF-8?q?=EF=BC=8C=E8=80=8C=E6=97=A0=E6=B3=95=E9=80=80=E5=87=BA=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- skynet-src/skynet_server.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skynet-src/skynet_server.c b/skynet-src/skynet_server.c index 9ed8bab1..72f90f87 100644 --- a/skynet-src/skynet_server.c +++ b/skynet-src/skynet_server.c @@ -103,6 +103,7 @@ skynet_context_new(const char * name, const char *param) { ctx->handle = skynet_handle_register(ctx); struct message_queue * queue = ctx->queue = skynet_mq_create(ctx->handle); // init function maybe use ctx->handle, so it must init at last + _context_inc(); CHECKCALLING_BEGIN(ctx) int r = skynet_module_instance_init(mod, inst, ctx, param); @@ -116,7 +117,6 @@ skynet_context_new(const char * name, const char *param) { if (ret) { printf("[:%x] launch %s %s\n",ret->handle, name, param ? param : ""); } - _context_inc(); return ret; } else { skynet_context_release(ctx);