[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[dm-devel] uxlsnr patch



Two little issues. Multipathd was shutting down whenever I tried to start
up gdb monitoring on it, because uxlsnr code didn't like getting a signal.
Also, having a lot of overlapping calls to the uxlsnr code caused really
bad things to happen because of a linked list oversight.

This patch corrects both.

-Ben
diff -urpN mp-devel/multipathd/uxlsnr.c mp-devel-patched/multipathd/uxlsnr.c
--- mp-devel/multipathd/uxlsnr.c	2005-07-12 11:02:18.000000000 -0500
+++ mp-devel-patched/multipathd/uxlsnr.c	2005-07-21 10:46:08.497378920 -0500
@@ -51,6 +51,7 @@ static void new_client(int ux_sock)
 	memset(c, 0, sizeof(*c));
 	c->fd = fd;
 	c->next = clients;
+	if (c->next) c->next->prev = c;
 	clients = c;
 	num_clients++;
 }
@@ -112,6 +113,8 @@ void * uxsock_listen(char * (*uxsock_tri
 		poll_count = poll(polls, i, SLEEP_TIME);
 		
 		if (poll_count == -1) {
+			if (errno == EINTR)
+				continue;
 			/* something went badly wrong! */
 			condlog(0, "poll");
 			exit(1);

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]