现在的位置: 首页 > IT运维 > 正文

Linux补丁制作方法

2011年11月11日 IT运维 ⁄ 共 967字 暂无评论 ⁄ 被围观 604+

Linux补丁制作方法,简单明了:

diff -rNu ngx_output_chain.c ngx_output_chain_dx.c >ngx_output_chain.patch

看一段例子,具体做什么的,你懂的:)

--- ngx_output_chain.c	2010-10-12 07:06:52.000000000 -0500
+++ ngx_output_chain_dx.c	2011-11-11 01:48:06.335975441 -0600
@@ -565,10 +565,31 @@
         }
 
         if (n != size) {
-            ngx_log_error(NGX_LOG_ALERT, ctx->pool->log, 0,
-                          ngx_read_file_n " read only %z of %O from \\"%s\\"",
-                          n, size, src->file->name.data);
-            return NGX_ERROR;
+			int dxcnt=0;
+			while (dxcnt<5&&n!=size) {
+				dxcnt++;
+#if (NGX_HAVE_FILE_AIO)
+				if (ctx->aio_handler) {
+					n = ngx_file_aio_read(src->file, dst->pos, (size_t) size,
+										  src->file_pos, ctx->pool);
+					if (n == NGX_AGAIN) {
+						ctx->aio_handler(ctx, src->file);
+						return NGX_AGAIN;
+					}
+				} else {
+						n = ngx_read_file(src->file, dst->pos, (size_t) size,
+										src->file_pos);
+				}
+#else
+				n = ngx_read_file(src->file, dst->pos, (size_t) size, src->file_pos);
+#endif
+			}
+			if (n != size) {
+				ngx_log_error(NGX_LOG_ALERT, ctx->pool->log, 0,
+							  ngx_read_file_n " read only %z of %O from \\"%s\\"",
+							  n, size, src->file->name.data);
+				return NGX_ERROR;
+			}
         }
 
         dst->last += n;

给我留言

您必须 [ 登录 ] 才能发表留言!

×
#