fixnetpack

不一定两次读完。没有读完的时候把uc放回queue。
This commit is contained in:
mercury landed
2014-04-16 17:11:21 +08:00
parent 0279144db1
commit 2308ce3905

View File

@@ -228,6 +228,10 @@ filter_data_(lua_State *L, int fd, uint8_t * buffer, int size) {
int need = uc->pack.size - uc->read; int need = uc->pack.size - uc->read;
if (size < need) { if (size < need) {
memcpy(uc->pack.buffer + uc->read, buffer, size); memcpy(uc->pack.buffer + uc->read, buffer, size);
uc->read += size;
int h = hash_fd(fd);
uc->next = q->hash[h];
q->hash[h] = uc;
return 1; return 1;
} }
memcpy(uc->pack.buffer + uc->read, buffer, need); memcpy(uc->pack.buffer + uc->read, buffer, need);