From e117d85c2a5d628502ad643eb6002be106a5f9e0 Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <edolstra@gmail.com>
Date: Tue, 25 Jul 2017 15:58:54 +0200
Subject: [PATCH] hydra-queue-runner: Set a thread title for the builder
 threads

This should make debugging slightly easier.
---
 src/hydra-queue-runner/builder.cc | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/hydra-queue-runner/builder.cc b/src/hydra-queue-runner/builder.cc
index 1299f38f..8159075b 100644
--- a/src/hydra-queue-runner/builder.cc
+++ b/src/hydra-queue-runner/builder.cc
@@ -8,8 +8,18 @@
 using namespace nix;
 
 
+void setThreadName(const std::string & name)
+{
+#ifdef __linux__
+   pthread_setname_np(pthread_self(), std::string(name, 0, 15).c_str());
+#endif
+}
+
+
 void State::builder(MachineReservation::ptr reservation)
 {
+    setThreadName("bld~" + baseNameOf(reservation->step->drvPath));
+
     StepResult res = sRetry;
 
     nrStepsStarted++;