From 39c64117f6323ffa16bdcd14a2c907daa31c49c9 Mon Sep 17 00:00:00 2001 From: normal Date: Mon, 20 Aug 2018 21:34:44 +0000 Subject: [PATCH] thread*.c: avoid unnecessary initialization for list_for_each_safe According to r52446, it is only necessary for the current item (@i), not the `@nxt` parameter for list_for_each_safe. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- thread.c | 3 +-- thread_sync.c | 6 +++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/thread.c b/thread.c index 51710d24a7..6065593712 100644 --- a/thread.c +++ b/thread.c @@ -2332,8 +2332,7 @@ int rb_notify_fd_close(int fd, struct list_head *busy) { rb_vm_t *vm = GET_THREAD()->vm; - struct waiting_fd *wfd = 0; - struct waiting_fd *next = 0; + struct waiting_fd *wfd = 0, *next; list_for_each_safe(&vm->waiting_fds, wfd, next, wfd_node) { if (wfd->fd == fd) { diff --git a/thread_sync.c b/thread_sync.c index 7beee95910..5adb97f6b2 100644 --- a/thread_sync.c +++ b/thread_sync.c @@ -15,7 +15,7 @@ struct sync_waiter { static int wakeup_one(struct list_head *head) { - struct sync_waiter *cur = 0, *next = 0; + struct sync_waiter *cur = 0, *next; list_for_each_safe(head, cur, next, node) { list_del_init(&cur->node); @@ -31,7 +31,7 @@ wakeup_one(struct list_head *head) static void wakeup_all(struct list_head *head) { - struct sync_waiter *cur = 0, *next = 0; + struct sync_waiter *cur = 0, *next; list_for_each_safe(head, cur, next, node) { list_del_init(&cur->node); @@ -347,7 +347,7 @@ rb_mutex_unlock_th(rb_mutex_t *mutex, rb_thread_t *th) err = "Attempt to unlock a mutex which is locked by another thread"; } else { - struct sync_waiter *cur = 0, *next = 0; + struct sync_waiter *cur = 0, *next; rb_mutex_t **th_mutex = &th->keeping_mutexes; mutex->th = 0;