patch 8.2.3044: Amiga MorphOS and AROS: process ID is not valid
Problem: Amiga MorphOS and AROS: process ID is not valid.
Solution: Use FindTask to return something which is unique to all processes.
(Ola Söder, closes #8444)
diff --git a/src/os_amiga.c b/src/os_amiga.c
index 7609ef7..e2326b9 100644
--- a/src/os_amiga.c
+++ b/src/os_amiga.c
@@ -446,7 +446,7 @@
* we use a pointer to the current task instead. This should be a
* shared structure and thus globally unique.
*/
-#ifdef __amigaos4__
+#if !defined(__amigaos4__) && !defined(__AROS__) && !defined(__MORPHOS__)
sprintf((char *)buf1, "t:nc%p", FindTask(0));
#else
sprintf((char *)buf1, "t:nc%ld", (long)buf1);
@@ -706,7 +706,7 @@
long
mch_get_pid(void)
{
-#ifdef __amigaos4__
+#if defined(__amigaos4__) || defined(__AROS__) || defined(__MORPHOS__)
// This is as close to a pid as we can come. We could use CLI numbers also,
// but then we would have two different types of process identifiers.
return((long)FindTask(0));