Deleted
Added
nxt_port_memory.c (196:7d6a0c9b661e) | nxt_port_memory.c (197:ae8f843e1fd4) |
---|---|
1 2/* 3 * Copyright (C) Max Romanov 4 * Copyright (C) NGINX, Inc. 5 */ 6 7#include <nxt_main.h> 8 --- 554 unchanged lines hidden (view full) --- 563} 564 565 566void 567nxt_port_mmap_write(nxt_task_t *task, nxt_port_t *port, 568 nxt_port_send_msg_t *msg, nxt_sendbuf_coalesce_t *sb) 569{ 570 size_t bsize; | 1 2/* 3 * Copyright (C) Max Romanov 4 * Copyright (C) NGINX, Inc. 5 */ 6 7#include <nxt_main.h> 8 --- 554 unchanged lines hidden (view full) --- 563} 564 565 566void 567nxt_port_mmap_write(nxt_task_t *task, nxt_port_t *port, 568 nxt_port_send_msg_t *msg, nxt_sendbuf_coalesce_t *sb) 569{ 570 size_t bsize; |
571 nxt_buf_t *b, *bmem; | 571 nxt_buf_t *bmem; |
572 nxt_uint_t i; 573 nxt_port_mmap_msg_t *mmap_msg; 574 nxt_port_mmap_header_t *hdr; 575 576 nxt_debug(task, "prepare %z bytes message for transfer to process %PI " 577 "via shared memory", sb->size, port->pid); 578 579 bsize = sb->niov * sizeof(nxt_port_mmap_msg_t); | 572 nxt_uint_t i; 573 nxt_port_mmap_msg_t *mmap_msg; 574 nxt_port_mmap_header_t *hdr; 575 576 nxt_debug(task, "prepare %z bytes message for transfer to process %PI " 577 "via shared memory", sb->size, port->pid); 578 579 bsize = sb->niov * sizeof(nxt_port_mmap_msg_t); |
580 mmap_msg = port->mmsg_buf; |
|
580 | 581 |
581 b = nxt_buf_mem_ts_alloc(task, port->mem_pool, bsize); 582 if (nxt_slow_path(b == NULL)) { 583 return; 584 } 585 586 mmap_msg = (nxt_port_mmap_msg_t *) b->mem.start; | |
587 bmem = msg->buf; 588 589 for (i = 0; i < sb->niov; i++, mmap_msg++) { 590 591 /* Lookup buffer which starts current iov_base. */ 592 while (bmem && sb->iobuf[i].iov_base != bmem->mem.pos) { 593 bmem = bmem->next; 594 } --- 11 unchanged lines hidden (view full) --- 606 mmap_msg->chunk_id = nxt_port_mmap_chunk_id(hdr, bmem->mem.pos); 607 mmap_msg->size = sb->iobuf[i].iov_len; 608 609 nxt_debug(task, "mmap_msg={%D, %D, %D} to %PI", 610 mmap_msg->mmap_id, mmap_msg->chunk_id, mmap_msg->size, 611 port->pid); 612 } 613 | 582 bmem = msg->buf; 583 584 for (i = 0; i < sb->niov; i++, mmap_msg++) { 585 586 /* Lookup buffer which starts current iov_base. */ 587 while (bmem && sb->iobuf[i].iov_base != bmem->mem.pos) { 588 bmem = bmem->next; 589 } --- 11 unchanged lines hidden (view full) --- 601 mmap_msg->chunk_id = nxt_port_mmap_chunk_id(hdr, bmem->mem.pos); 602 mmap_msg->size = sb->iobuf[i].iov_len; 603 604 nxt_debug(task, "mmap_msg={%D, %D, %D} to %PI", 605 mmap_msg->mmap_id, mmap_msg->chunk_id, mmap_msg->size, 606 port->pid); 607 } 608 |
614 msg->buf = b; 615 b->mem.free += bsize; 616 617 sb->iobuf[0].iov_base = b->mem.pos; | 609 sb->iobuf[0].iov_base = port->mmsg_buf; |
618 sb->iobuf[0].iov_len = bsize; 619 sb->niov = 1; 620 sb->size = bsize; 621 622 msg->port_msg.mmap = 1; 623} 624 625 --- 99 unchanged lines hidden --- | 610 sb->iobuf[0].iov_len = bsize; 611 sb->niov = 1; 612 sb->size = bsize; 613 614 msg->port_msg.mmap = 1; 615} 616 617 --- 99 unchanged lines hidden --- |