Skip to content

Commit 00834f9

Browse files
authored
Use bools instead of time values for SysCommandWorker attributes (#4462)
Only the truthiness of the time values was being evaluated. This also reduces the usage of time.time(), which makes the codebase more resilient against clock drift issues.
1 parent e7d38d0 commit 00834f9

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

archinstall/lib/command.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ def __init__(
4444
self._trace_log_pos = 0
4545
self.poll_object = epoll()
4646
self.child_fd: int | None = None
47-
self.started: float | None = None
48-
self.ended: float | None = None
47+
self.started = False
48+
self.ended = False
4949
self.remove_vt100_escape_codes_from_lines: bool = remove_vt100_escape_codes_from_lines
5050

5151
def __contains__(self, key: bytes) -> bool:
@@ -117,7 +117,7 @@ def __exit__(self, exc_type: type[BaseException] | None, exc_value: BaseExceptio
117117
def is_alive(self) -> bool:
118118
self.poll()
119119

120-
if self.started and self.ended is None:
120+
if self.started and not self.ended:
121121
return True
122122

123123
return False
@@ -173,11 +173,11 @@ def poll(self) -> None:
173173
self.peak(output)
174174
self._trace_log += output
175175
except OSError:
176-
self.ended = time.time()
176+
self.ended = True
177177
break
178178

179179
if self.ended or (not got_output and not _pid_exists(self.pid)):
180-
self.ended = time.time()
180+
self.ended = True
181181
try:
182182
wait_status = os.waitpid(self.pid, 0)[1]
183183
self.exit_code = os.waitstatus_to_exitcode(wait_status)
@@ -215,7 +215,7 @@ def execute(self) -> bool:
215215
# Only parent process moves back to the original working directory
216216
os.chdir(old_dir)
217217

218-
self.started = time.time()
218+
self.started = True
219219
self.poll_object.register(self.child_fd, EPOLLIN | EPOLLHUP)
220220

221221
return True

0 commit comments

Comments
 (0)