MINOR: fd: Use a separate lock for logs instead of abusing the fd lock.
Introduce a new spinlock, log_lock, and use it instead of abusing the FD lock.
diff --git a/src/fd.c b/src/fd.c
index 8eea0f5..fb8cc47 100644
--- a/src/fd.c
+++ b/src/fd.c
@@ -364,6 +364,7 @@
}
}
+__decl_spinlock(log_lock);
/* Tries to send <npfx> parts from <prefix> followed by <nmsg> parts from <msg>
* optionally followed by a newline if <nl> is non-null, to file descriptor
* <fd>. The message is sent atomically using writev(). It may be truncated to
@@ -421,9 +422,9 @@
fcntl(fd, F_SETFL, O_NONBLOCK);
}
- HA_SPIN_LOCK(FD_LOCK, &fdtab[fd].lock);
+ HA_SPIN_LOCK(OTHER_LOCK, &log_lock);
sent = writev(fd, iovec, vec);
- HA_SPIN_UNLOCK(FD_LOCK, &fdtab[fd].lock);
+ HA_SPIN_UNLOCK(OTHER_LOCK, &log_lock);
/* sent > 0 if the message was delivered */
return sent;