Skip to content

Commit 88310eb

Browse files
committed
update msgqueue
1 parent 320417a commit 88310eb

File tree

5 files changed

+16
-9
lines changed

5 files changed

+16
-9
lines changed

examples/bench.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ function udp2(Swoole_Benchmark $bc)
109109
$fp->send($bc->send_data);
110110
$end = microtime(true);
111111
$write_use = $end - $start;
112-
if($write_use>$bc->max_write_time) $bc->max_write_time = $write_use;
112+
if($write_use > $bc->max_write_time) $bc->max_write_time = $write_use;
113113
$start = $end;
114114
/*--------读取Sokcet-------*/
115115
$ret = $fp->recv();

examples/echo_server.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
2-
$serv = new swoole_server("0.0.0.0", 9501, SWOOLE_BASE);
2+
$serv = new swoole_server("0.0.0.0", 9501);
33
$serv->set(array(
4-
//'worker_num' => 1,
4+
'worker_num' => 1,
55
//'daemonize' => true,
66
//'log_file' => '/tmp/swoole.log'
77
));
@@ -16,7 +16,7 @@
1616
});
1717
$serv->on('receive', function ($serv, $fd, $from_id, $data) {
1818
//echo "[#".posix_getpid()."]\tClient[$fd]: $data\n";
19-
$serv->send($fd, "swoole: $data");
19+
$serv->send($fd, json_encode(array("hello" => '1213', "bat" => "ab")));
2020
//$serv->close($fd);
2121
});
2222
$serv->on('close', function ($serv, $fd, $from_id) {

src/factory/FactoryProcess.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,6 @@ int swFactoryProcess_start(swFactory *factory)
139139
//tcp & message queue require writer pthread
140140
if (serv->have_tcp_sock == 1)
141141
{
142-
143142
int ret = swFactoryProcess_writer_start(factory);
144143
if (ret < 0)
145144
{
@@ -942,6 +941,8 @@ int swFactoryProcess_writer_loop_queue(swThreadParam *param)
942941
{
943942
swFactory *factory = param->object;
944943
swFactoryProcess *object = factory->object;
944+
swEventData *resp;
945+
swSendData _send;
945946

946947
int pti = param->pti;
947948
swQueue_data sdata;
@@ -962,7 +963,10 @@ int swFactoryProcess_writer_loop_queue(swThreadParam *param)
962963
}
963964
else
964965
{
965-
swReactorThread_send((swEventData *) sdata.mdata);
966+
resp = (swEventData *) sdata.mdata;
967+
memcpy(&_send.info, &resp->info, sizeof(resp->info));
968+
_send.data = resp->data;
969+
swReactorThread_send(&_send);
966970
}
967971
}
968972
pthread_exit((void *) param);

src/network/Server.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -462,6 +462,7 @@ int swServer_start(swServer *serv)
462462
//设置factory回调函数
463463
serv->factory.ptr = serv;
464464
serv->factory.onTask = serv->onReceive;
465+
465466
if (serv->have_udp_sock == 1 && serv->factory_mode != SW_MODE_PROCESS)
466467
{
467468
serv->factory.onFinish = swServer_onFinish2;
@@ -470,6 +471,7 @@ int swServer_start(swServer *serv)
470471
{
471472
serv->factory.onFinish = swServer_onFinish;
472473
}
474+
473475
//for taskwait
474476
if (serv->task_worker_num > 0 && serv->worker_num > 0)
475477
{
@@ -1130,7 +1132,7 @@ int swServer_listen(swServer *serv, swReactor *reactor)
11301132
LL_DELETE(serv->listen_list, listen_host);
11311133
return SW_ERR;
11321134
}
1133-
if(reactor!=NULL)
1135+
if (reactor!=NULL)
11341136
{
11351137
reactor->add(reactor, sock, SW_FD_LISTEN);
11361138
}

swoole_config.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
#define SW_MAX_WORKER_NCPU 100 // n * cpu_num
2727
#define SW_MAX_FDS (1024*10) //最大tcp连接数
2828
#define SW_MAX_REQUEST 10000 //最大请求包数
29-
#define SW_UNSOCK_BUFSIZE (4*1024*1024) //UDP socket的buffer区大小
29+
#define SW_UNSOCK_BUFSIZE (8*1024*1024) //UDP socket的buffer区大小
3030

3131
//#define SW_CONNECTION_LIST_EXPAND (4096*2) //动态扩容的数量
3232

@@ -67,8 +67,9 @@
6767
#define SW_AIO_EVENT_NUM 128
6868

6969
#ifndef SW_WORKER_IPC_MODE
70-
#define SW_WORKER_IPC_MODE 1 //1:unix socket,2:IPC Message Queue
70+
#define SW_WORKER_IPC_MODE 2 //1:unix socket,2:IPC Message Queue
7171
#endif
72+
7273
#define SW_USE_WRITER_THREAD 0 //使用单独的发送线程
7374

7475
#define SW_WORKER_SENDTO_COUNT 2 //写回客户端失败尝试次数

0 commit comments

Comments
 (0)