[Python-checkins] bpo-31653: Remove deadcode in semlock_acquire() (#4091)

Victor Stinner webhook-mailer at python.org
Mon Oct 23 16:57:58 EDT 2017


https://github.com/python/cpython/commit/828ca59208af0b1b52a328676c5cc0c5e2e999b0
commit: 828ca59208af0b1b52a328676c5cc0c5e2e999b0
branch: master
author: Victor Stinner <victor.stinner at gmail.com>
committer: GitHub <noreply at github.com>
date: 2017-10-23T13:57:51-07:00
summary:

bpo-31653: Remove deadcode in semlock_acquire() (#4091)

Fix the following Coverity warning:

>>>     CID 1420038:  Control flow issues  (DEADCODE)
>>>     Execution cannot reach this statement: "res = sem_trywait(self->han...".
321                     res = sem_trywait(self->handle);

The deadcode was introduced by the commit
c872d39d324cd6f1a71b73e10406bbaed192d35f.

files:
M Modules/_multiprocessing/semaphore.c

diff --git a/Modules/_multiprocessing/semaphore.c b/Modules/_multiprocessing/semaphore.c
index 337e8943212..0092b139346 100644
--- a/Modules/_multiprocessing/semaphore.c
+++ b/Modules/_multiprocessing/semaphore.c
@@ -315,12 +315,12 @@ semlock_acquire(SemLockObject *self, PyObject *args, PyObject *kwds)
         /* Couldn't acquire immediately, need to block */
         do {
             Py_BEGIN_ALLOW_THREADS
-            if (blocking && timeout_obj == Py_None)
+            if (timeout_obj == Py_None) {
                 res = sem_wait(self->handle);
-            else if (!blocking)
-                res = sem_trywait(self->handle);
-            else
+            }
+            else {
                 res = sem_timedwait(self->handle, &deadline);
+            }
             Py_END_ALLOW_THREADS
             err = errno;
             if (res == MP_EXCEPTION_HAS_BEEN_SET)



More information about the Python-checkins mailing list