summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2022-10-31 09:41:05 -0400
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-11-11 13:16:45 -0500
commit430eccefaef1bc78a00a5327e6e485299be674a5 (patch)
treefc9eb795543dc4d93e1cb4e32a6fa7312a5b2953
parent707d5651e17c8cbc95c67f89a3dca7a4d4b03e49 (diff)
downloadhaskell-430eccefaef1bc78a00a5327e6e485299be674a5.tar.gz
rts: Check for program_invocation_short_name via autoconf
Instead of assuming support on all Linuxes.
-rw-r--r--configure.ac5
-rw-r--r--rts/Task.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 1a62c89831..bf4f597572 100644
--- a/configure.ac
+++ b/configure.ac
@@ -918,6 +918,11 @@ AC_CHECK_DECLS([ctime_r], , ,
#define _POSIX_C_SOURCE 199506L
#include <time.h>])
+dnl On Linux we should have program_invocation_short_name
+AC_CHECK_DECLS([program_invocation_short_name], , ,
+[#define _GNU_SOURCE 1
+#include <errno.h>])
+
dnl ** check for mingwex library
AC_CHECK_LIB(
[mingwex],
diff --git a/rts/Task.c b/rts/Task.c
index 5c6d3cdf44..6dbc597769 100644
--- a/rts/Task.c
+++ b/rts/Task.c
@@ -477,7 +477,7 @@ startWorkerTask (Capability *cap)
// Set the name of the worker thread to the original process name followed by
// ":w", but only if we're on Linux where the program_invocation_short_name
// global is available.
-#if defined(linux_HOST_OS)
+#if defined(HAVE_PROGRAM_INVOCATION_SHORT_NAME)
size_t procname_len = strlen(program_invocation_short_name);
char worker_name[16];
// The kernel only allocates 16 bytes for thread names, so we truncate if the