socket-util: Unlink Unix domain sockets that bind but fail to connect.
authorBen Pfaff <blp@nicira.com>
Mon, 27 Feb 2012 18:58:45 +0000 (10:58 -0800)
committerBen Pfaff <blp@nicira.com>
Thu, 8 Mar 2012 00:33:14 +0000 (16:33 -0800)
The error handling path here failed to clean up bound sockets, by removing
them.  This fixes the problem.

It was easy to observe this bug by running "ovs-vsctl" without
"ovsdb-server" running.

Bug #9811.
Bug #9769.
Reported-by: Michael <mhu@nicira.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
lib/socket-util.c

index 12f04321beb9df16b6097f9be3295eec2ff683f8..37f8c9ad48095fec9d2054428dc942dc2d7c4cf3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2009, 2010, 2011 Nicira Networks.
+ * Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira Networks.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -458,7 +458,7 @@ error:
         error = EPROTO;
     }
     if (bind_path) {
-        fatal_signal_remove_file_to_unlink(bind_path);
+        fatal_signal_unlink_file_now(bind_path);
     }
     close(fd);
     return -error;