Handle EINTR.

2007-02-14  Benoît Dejean  <benoit@placenet.org>

	* lib/read.c: (glibtop_read_l):
	* lib/write.c: (glibtop_write_l):

	Handle EINTR.
	
	* configure.in:
	
	Post release version bump.

svn path=/trunk/; revision=2554
This commit is contained in:
Benoît Dejean
2007-02-14 22:19:01 +00:00
committed by Benoît Dejean
parent 9f509067d4
commit 09f8aaec1e
4 changed files with 33 additions and 31 deletions

View File

@@ -22,7 +22,7 @@
*/
#include <config.h>
#include <errno.h>
#include <glibtop/write.h>
#include <glibtop/error.h>
#include <glib/gi18n-lib.h>
@@ -33,6 +33,7 @@ void
glibtop_write_l (glibtop *server, size_t size, void *buf)
{
int ret;
int fd;
glibtop_init_r (&server, 0, 0);
@@ -42,11 +43,10 @@ glibtop_write_l (glibtop *server, size_t size, void *buf)
fprintf (stderr, "LIBRARY: really writing %d bytes.\n", (int)size);
#endif
if (server->socket) {
ret = send (server->socket, buf, size, 0);
} else {
ret = write (server->output [1], buf, size);
}
fd = server->socket ? server->socket : server->output[1];
while ((ret = write(fd, buf, size)) < 0 && errno == EINTR)
;
if (ret < 0)
glibtop_error_io_r (server,