Fix sequence number generation 35/301435/1
authorHwankyu Jhun <h.jhun@samsung.com>
Thu, 16 Nov 2023 00:54:36 +0000 (09:54 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Thu, 16 Nov 2023 00:54:36 +0000 (09:54 +0900)
To avoid generating duplicate numbers, this patch uses UUID.

Change-Id: I6fc7bb203e48b32c7d942b926556fc8f9a4f4550
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
src/launch_with_result.cc

index 3fc7a4d..dbd69e2 100644 (file)
@@ -313,14 +313,11 @@ class ErrorInfo {
 };
 
 std::string __gen_seq_num() {
-  static std::atomic<int> num;
-  char buf[MAX_LOCAL_BUFSZ];
-
-  int n = num.fetch_add(1);
-  unsigned int seed = time(nullptr) + n;
-  snprintf(buf, sizeof(buf), "%d@%d", rand_r(&seed), n);
-
-  return buf;
+  char uuid[37];
+  uuid_t u;
+  uuid_generate(u);
+  uuid_unparse(u, uuid);
+  return std::string(uuid);
 }
 
 int __get_caller_pid(const tizen_base::Bundle& b) {