[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Cvs-cvs] ccvs ./ChangeLog ./NEWS src/ChangeLog src/server.c
From: |
Derek Robert Price |
Subject: |
[Cvs-cvs] ccvs ./ChangeLog ./NEWS src/ChangeLog src/server.c |
Date: |
Tue, 31 Jan 2006 02:10:35 +0000 |
CVSROOT: /cvsroot/cvs
Module name: ccvs
Branch:
Changes by: Derek Robert Price <address@hidden> 06/01/31 02:10:35
Modified files:
. : ChangeLog NEWS
src : ChangeLog server.c
Log message:
Merge from 1.11.x.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/cvs/ccvs/ChangeLog.diff?tr1=1.1274&tr2=1.1275&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/cvs/ccvs/NEWS.diff?tr1=1.347&tr2=1.348&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/cvs/ccvs/src/ChangeLog.diff?tr1=1.3339&tr2=1.3340&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/cvs/ccvs/src/server.c.diff?tr1=1.453&tr2=1.454&r1=text&r2=text
Patches:
Index: ccvs/ChangeLog
diff -u ccvs/ChangeLog:1.1274 ccvs/ChangeLog:1.1275
--- ccvs/ChangeLog:1.1274 Fri Dec 9 17:54:55 2005
+++ ccvs/ChangeLog Tue Jan 31 02:10:35 2006
@@ -1,3 +1,7 @@
+2006-01-30 Derek Price <address@hidden>
+
+ * NEWS: Note nonblocking flow control pipe fix.
+
2005-12-09 Derek Price <address@hidden>
* NEWS: Note misc doc & bug fixes.
Index: ccvs/NEWS
diff -u ccvs/NEWS:1.347 ccvs/NEWS:1.348
--- ccvs/NEWS:1.347 Fri Dec 9 17:54:55 2005
+++ ccvs/NEWS Tue Jan 31 02:10:35 2006
@@ -14,6 +14,9 @@
BUG FIXES
+* Thanks to a report and patch from Garrett Rooney <address@hidden>, paused
+ trigger processes no longer cause the CVS server to consume 100% CPU.
+
* Thanks to a suggestion from Joseph P. Skudlarek <address@hidden>, an
:extssh: has been added as a synonym of the :ext: access method, as a
kindness to users of old version of Eclipse.
Index: ccvs/src/ChangeLog
diff -u ccvs/src/ChangeLog:1.3339 ccvs/src/ChangeLog:1.3340
--- ccvs/src/ChangeLog:1.3339 Mon Jan 30 23:21:52 2006
+++ ccvs/src/ChangeLog Tue Jan 31 02:10:35 2006
@@ -1,5 +1,10 @@
2006-01-30 Derek Price <address@hidden>
+ * server.c (do_cvs_command): Set flow control pipe to blocking mode
+ before waiting for it to close.
+ (set_block_fd): New function.
+ (Original patch from Garrett Rooney <address@hidden>.)
+
* rcs.c (locate_rcs): Improve comments and plug memory leak.
(rcsbuf_cache_open): Don't recopy file name - it was an ignore case
issue.
Index: ccvs/src/server.c
diff -u ccvs/src/server.c:1.453 ccvs/src/server.c:1.454
--- ccvs/src/server.c:1.453 Wed Nov 30 19:04:19 2005
+++ ccvs/src/server.c Tue Jan 31 02:10:35 2006
@@ -2753,6 +2753,25 @@
/* Used while building list, to point to the last node that already exists. */
static struct notify_note *last_node;
+/*
+ * Set buffer FD to blocking I/O. Returns 0 for success or errno code.
+ */
+int
+set_block_fd (fd)
+ int fd;
+{
+ int flags;
+
+ flags = fcntl (fd, F_GETFL, 0);
+ if (flags < 0)
+ return errno;
+ if (fcntl (fd, F_SETFL, flags & ~O_NONBLOCK) < 0)
+ return errno;
+ return 0;
+}
+
+
+
static void
serve_notify (char *arg)
{
@@ -3776,8 +3795,8 @@
{
char junk;
ssize_t status;
- while ((status = read (flowcontrol_pipe[0], &junk, 1)) > 0
- || (status == -1 && errno == EAGAIN));
+ set_block_fd (flowcontrol_pipe[0]);
+ while ((status = read (flowcontrol_pipe[0], &junk, 1)) > 0);
}
/* FIXME: No point in printing an error message with error(),
* as STDERR is already closed, but perhaps this could be syslogged?
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Cvs-cvs] ccvs ./ChangeLog ./NEWS src/ChangeLog src/server.c,
Derek Robert Price <=