Преглед на файлове

[clock_time] Fix rt_timespec_to_tick availability for POSIX semaphores

- Moved rt_timespec_to_tick outside of RT_USING_CLOCK_TIME guard
- Function now available with just RT_USING_POSIX_CLOCK defined
- Fixes undefined reference error when building with POSIX semaphores
- Maintains backward compatibility with configurations that don't use clock_time yet

Co-authored-by: BernardXiong <1241087+BernardXiong@users.noreply.github.com>
copilot-swe-agent[bot] преди 2 седмици
родител
ревизия
533806c344
променени са 1 файла, в които са добавени 12 реда и са изтрити 1 реда
  1. 12 1
      components/libc/compilers/common/ctime.c

+ 12 - 1
components/libc/compilers/common/ctime.c

@@ -750,6 +750,17 @@ int clock_settime(clockid_t clockid, const struct timespec *tp)
 }
 RTM_EXPORT(clock_settime);
 
+#endif /* RT_USING_POSIX_CLOCK && RT_USING_CLOCK_TIME */
+
+#ifdef RT_USING_POSIX_CLOCK
+/**
+ * @brief Convert absolute timespec to relative tick
+ * @param time Absolute time
+ * @return Relative tick value
+ * 
+ * @note This function is available when RT_USING_POSIX_CLOCK is defined,
+ *       regardless of RT_USING_CLOCK_TIME, to support POSIX semaphores and other APIs.
+ */
 int rt_timespec_to_tick(const struct timespec *time)
 {
     int tick;
@@ -784,7 +795,7 @@ int rt_timespec_to_tick(const struct timespec *time)
 }
 RTM_EXPORT(rt_timespec_to_tick);
 
-#endif /* RT_USING_POSIX_CLOCK && RT_USING_CLOCK_TIME */
+#endif /* RT_USING_POSIX_CLOCK */
 
 #if defined(RT_USING_POSIX_TIMER) && defined(RT_USING_CLOCK_TIME)