{"thread":{"id":"59020","subject":"[PATCH] win32: remove return_0 inline function","startedAt":"2022-12-31T02:20:29Z","lastAt":"2022-12-31T02:51:59Z","messageCount":2,"participants":["Rose via GitGitGadget","Đoàn Trần Công Danh"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"469704","messageId":"pull.1420.git.git.1672453222075.gitgitgadget@gmail.com","threadId":"59020","inReplyTo":null,"subject":"[PATCH] win32: remove return_0 inline function","fromName":"Rose via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2022-12-31T02:20:21Z","receivedAt":"2022-12-31T02:20:29Z","isPatch":true,"sender":{"key":"ckelsch@jgrcpa.com","avatar":null},"body":"From: Seija Kijin <doremylover123@gmail.com>\n\nThe macro works on its own without the helper function\n\nSigned-off-by: Seija Kijin <doremylover123@gmail.com>\n---\n    win32: remove return_0 inline function\n    \n    The macro works on its own without the helper function\n    \n    Signed-off-by: Seija Kijin doremylover123@gmail.com\n\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1420%2FAtariDreams%2Fcondition-v1\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1420/AtariDreams/condition-v1\nPull-Request: https://github.com/git/git/pull/1420\n\n compat/win32/pthread.h | 8 ++++----\n 1 file changed, 4 insertions(+), 4 deletions(-)\n\ndiff --git a/compat/win32/pthread.h b/compat/win32/pthread.h\nindex 737983d00ba..18aa2e1241d 100644\n--- a/compat/win32/pthread.h\n+++ b/compat/win32/pthread.h\n@@ -18,10 +18,10 @@\n  */\n #define pthread_mutex_t CRITICAL_SECTION\n \n-static inline int return_0(int i) {\n-\treturn 0;\n+static inline int return_i(int i) {\n+\treturn i;\n }\n-#define pthread_mutex_init(a,b) return_0((InitializeCriticalSection((a)), 0))\n+#define pthread_mutex_init(a,b) return_i((InitializeCriticalSection((a)), 0))\n #define pthread_mutex_destroy(a) DeleteCriticalSection((a))\n #define pthread_mutex_lock EnterCriticalSection\n #define pthread_mutex_unlock LeaveCriticalSection\n@@ -36,7 +36,7 @@ typedef int pthread_mutexattr_t;\n \n #define pthread_cond_init(a,b) InitializeConditionVariable((a))\n #define pthread_cond_destroy(a) do {} while (0)\n-#define pthread_cond_wait(a,b) return_0(SleepConditionVariableCS((a), (b), INFINITE))\n+#define pthread_cond_wait(a,b) SleepConditionVariableCS((a), (b), INFINITE)\n #define pthread_cond_signal WakeConditionVariable\n #define pthread_cond_broadcast WakeAllConditionVariable\n \n\nbase-commit: 6bae53b138a1f38d8887f6b46d17661357a1468b\n-- \ngitgitgadget\n"},{"id":"469705","messageId":"Y6+jxkZjBMurBiw5@danh.dev","threadId":"59020","inReplyTo":"pull.1420.git.git.1672453222075.gitgitgadget@gmail.com","subject":"Re: [PATCH] win32: remove return_0 inline function","fromName":"Đoàn Trần Công Danh","fromEmail":"congdanhqx@gmail.com","sentAt":"2022-12-31T02:51:50Z","receivedAt":"2022-12-31T02:51:59Z","isPatch":true,"sender":{"key":"congdanhqx@gmail.com","avatar":"https://avatars.githubusercontent.com/u/42673067?v=4"},"body":"On 2022-12-31 02:20:21+0000, Rose via GitGitGadget <gitgitgadget@gmail.com> wrote:\n> From: Seija Kijin <doremylover123@gmail.com>\n> \n> The macro works on its own without the helper function\n\nNACK\n\n>  #define pthread_mutex_t CRITICAL_SECTION\n>  \n> -static inline int return_0(int i) {\n> -\treturn 0;\n> +static inline int return_i(int i) {\n> +\treturn i;\n>  }\n> -#define pthread_mutex_init(a,b) return_0((InitializeCriticalSection((a)), 0))\n> +#define pthread_mutex_init(a,b) return_i((InitializeCriticalSection((a)), 0))\n\nThis change does nothing and harmless in its own.\n\n>  #define pthread_mutex_destroy(a) DeleteCriticalSection((a))\n>  #define pthread_mutex_lock EnterCriticalSection\n>  #define pthread_mutex_unlock LeaveCriticalSection\n> @@ -36,7 +36,7 @@ typedef int pthread_mutexattr_t;\n>  \n>  #define pthread_cond_init(a,b) InitializeConditionVariable((a))\n>  #define pthread_cond_destroy(a) do {} while (0)\n> -#define pthread_cond_wait(a,b) return_0(SleepConditionVariableCS((a), (b), INFINITE))\n> +#define pthread_cond_wait(a,b) SleepConditionVariableCS((a), (b), INFINITE)\n\nBut this is not,\npthread_cond_wait return 0 on success, otherwise error number.\nSleepConditionVariableCS return non-zero on success, 0 on failure.\n\nIOW, this change is broken on Windows.\n\n-- \nDanh\n"}]}