Skip to content

Commit 1364a8b

Browse files
committed
Update onReceive_length_check
1 parent 20d10a3 commit 1364a8b

File tree

5 files changed

+18
-14
lines changed

5 files changed

+18
-14
lines changed

examples/server.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,12 @@ function my_onWorkerStart($serv, $worker_id)
5959
echo "WorkerStart: MasterPid={$serv->master_pid}|Manager_pid={$serv->manager_pid}";
6060
echo "|WorkerId={$serv->worker_id}|WorkerPid={$serv->worker_pid}\n";
6161

62-
// if ($worker_id == 2)
63-
// {
64-
// $serv->addtimer(2000); //500ms
65-
// $serv->addtimer(6000); //500ms
66-
// var_dump($serv->gettimer());
67-
// }
62+
if ($worker_id == 0)
63+
{
64+
$serv->addtimer(2000); //500ms
65+
//$serv->addtimer(6000); //500ms
66+
//var_dump($serv->gettimer());
67+
}
6868
}
6969

7070
function my_onWorkerStop($serv, $worker_id)

include/Server.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ struct _swServer
297297
uint8_t open_tcp_nodelay;
298298

299299
/**
300-
* open tcp cork option
300+
* open tcp nopush option(for sendfile)
301301
*/
302302
uint8_t open_tcp_nopush;
303303

src/factory/FactoryProcess.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -565,6 +565,7 @@ int swFactoryProcess_end(swFactory *factory, swDataHead *event)
565565
}
566566
return swFactoryProcess_finish(factory, &_send);
567567
}
568+
568569
/**
569570
* worker: send to client
570571
*/
@@ -615,7 +616,8 @@ int swFactoryProcess_finish(swFactory *factory, swSendData *resp)
615616
sdata._send.info.type = resp->info.type;
616617
swWorker *worker = swServer_get_worker(serv, SwooleWG.id);
617618

618-
/**
619+
620+
/**
619621
* Big response, use shared memory
620622
*/
621623
if (resp->length > 0)

src/network/ReactorThread.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,6 @@ int swReactorThread_onWrite(swReactor *reactor, swEvent *ev)
427427
close(task->fd);
428428
sw_free(task);
429429

430-
#ifdef TCP_CORK
431430
if (serv->open_tcp_nopush)
432431
{
433432
/**
@@ -449,7 +448,6 @@ int swReactorThread_onWrite(swReactor *reactor, swEvent *ev)
449448
}
450449
}
451450
}
452-
#endif
453451
}
454452
}
455453
else
@@ -794,6 +792,10 @@ int swReactorThread_onReceive_buffer_check_length(swReactor *reactor, swEvent *e
794792
{
795793
continue;
796794
}
795+
else if (errno == EAGAIN)
796+
{
797+
break;
798+
}
797799
else
798800
{
799801
goto error_fd;
@@ -811,7 +813,7 @@ int swReactorThread_onReceive_buffer_check_length(swReactor *reactor, swEvent *e
811813
}
812814

813815
tmp_ptr = recv_buf_again;
814-
tmp_n = tmp_n + n;
816+
tmp_n = tmp_n + recv_n;
815817

816818
goto do_parse_package;
817819
}

swoole_config.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,16 @@
3939
#define SW_CLIENT_BUFFER_SIZE 65536
4040

4141
#ifdef SW_USE_RINGBUFFER
42-
#define SW_BUFFER_SIZE 65536
42+
#define SW_BUFFER_SIZE 65535
4343
#elif __MACH__
4444
#define SW_BUFFER_SIZE (2048-sizeof(struct _swDataHead))
4545
#else
4646
#define SW_BUFFER_SIZE (8192-sizeof(struct _swDataHead))
4747
#endif
4848

49-
#define SW_BUFFER_SIZE_BIG 65536
49+
#define SW_BUFFER_SIZE_BIG 65535
50+
#define SW_SENDFILE_TRUNK 65536
5051

51-
#define SW_SENDFILE_TRUNK 65535
5252
#define SW_SENDFILE_MAXLEN 4194304
5353

5454
#define SW_HASHMAP_KEY_MAXLEN 256

0 commit comments

Comments
 (0)