[ekg2-commit] ekg2: drafts.c (HEAD) [peres]

CVS commit cvs w toxygen.net
Pon, 7 Maj 2007, 23:21:55 CEST


Module name:	ekg2
Changes by:	peres	2007-05-07 23:21:53

Modified files:
	drafts.c

Log message:
Try to read non-blocking way.

Index: drafts.c
===================================================================
RCS file: /home/cvs/ekg2/plugins/jogger/drafts.c,v
diff -d -u -r1.18 -r1.19
--- drafts.c	7 May 2007 12:41:52 -0000	1.18
+++ drafts.c	7 May 2007 21:21:53 -0000	1.19
@@ -151,6 +151,16 @@
 		void *p = out;
 		int rem = fs, res = 1;
 
+		{
+			int cf = fcntl(fd, F_GETFL);
+
+			if (cf == -1) /* evil thing */
+				cf = 0;
+			else
+				cf &= ~O_NONBLOCK;
+			fcntl(fd, F_SETFL, cf);
+		}
+
 		while ((res = read(fd, p, (rem <= SSIZE_MAX ? rem : SSIZE_MAX)))) {
 			if (res == -1) {
 				const int err = errno;


Więcej informacji o liście dyskusyjnej ekg2-commit