patch 8.2.5113: timer becomes invalid after fork/exec, :gui gives errors

Problem:    Timer becomes invalid after fork/exec, :gui gives errors. (Gabriel
            Dupras)
Solution:   Delete the timer befor forking. (closes #10584)
diff --git a/src/os_unix.c b/src/os_unix.c
index 766deac..6fd2450 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -8247,7 +8247,7 @@
 #endif // USE_XSMP
 
 #if defined(FEAT_RELTIME) || defined(PROTO)
-# if defined(HAVE_TIMER_CREATE)
+# if defined(HAVE_TIMER_CREATE) || defined(PROTO)
 /*
  * Implement timeout with timer_create() and timer_settime().
  */
@@ -8331,6 +8331,19 @@
     return &timeout_flag;
 }
 
+/*
+ * To be used before fork/exec: delete any created timer.
+ */
+    void
+delete_timer(void)
+{
+    if (timer_created)
+    {
+	timer_delete(timer_id);
+	timer_created = FALSE;
+    }
+}
+
 # else
 
 /*