Skip to content

Commit 917f784

Browse files
authored
Merge pull request #2060 from fastfetch-cli/dev
Release: v2.55.1
2 parents 7a2bf4e + c2d5d5c commit 917f784

File tree

8 files changed

+29
-36
lines changed

8 files changed

+29
-36
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
# 2.55.1
2+
3+
Bugfixes:
4+
* Fix parallel command execution breaks randomly (#2056 / #2058, Command)
5+
* Regression from v2.55.0
6+
* Fix `dylib` searching path on macOS (macOS)
7+
* Regression from v2.55.0
8+
* Fix an uninitialized field (#2057, Display)
9+
110
# 2.55.0
211

312
Changes:

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cmake_minimum_required(VERSION 3.12.0) # target_link_libraries with OBJECT libs & project homepage url
22

33
project(fastfetch
4-
VERSION 2.55.0
4+
VERSION 2.55.1
55
LANGUAGES C
66
DESCRIPTION "Fast neofetch-like system information tool"
77
HOMEPAGE_URL "https://github.com/fastfetch-cli/fastfetch"
@@ -1348,7 +1348,7 @@ endif()
13481348

13491349
# Used for dlopen finding dylibs installed by homebrew
13501350
# `/opt/homebrew/lib` is not on in dlopen search path by default
1351-
if(APPLE AND NOT BINARY_LINK_TYPE STREQUAL "dlopen")
1351+
if(APPLE AND BINARY_LINK_TYPE STREQUAL "dlopen")
13521352
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath,/opt/homebrew/lib -Wl,-rpath,/usr/local/lib")
13531353
endif()
13541354

debian/changelog.tpl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
fastfetch (2.55.0~#UBUNTU_CODENAME#) #UBUNTU_CODENAME#; urgency=medium
2+
3+
* Update to 2.55.0
4+
5+
-- Carter Li <zhangsongcui@live.cn> Wed, 12 Nov 2025 09:15:24 +0800
6+
17
fastfetch (2.54.1~#UBUNTU_CODENAME#) #UBUNTU_CODENAME#; urgency=medium
28

39
* Fix building on plucky

src/common/init.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,6 @@ static void exitSignalHandler(FF_MAYBE_UNUSED int signal)
9292
resetConsole();
9393
exit(0);
9494
}
95-
static void chldSignalHandler(FF_MAYBE_UNUSED int signal)
96-
{
97-
// empty; used to interrupt the poll and read syscalls
98-
}
9995
#endif
10096

10197
void ffStart(void)
@@ -121,7 +117,10 @@ void ffStart(void)
121117
sigaction(SIGINT, &action, NULL);
122118
sigaction(SIGTERM, &action, NULL);
123119
sigaction(SIGQUIT, &action, NULL);
124-
sigaction(SIGCHLD, &(struct sigaction) { .sa_handler = chldSignalHandler }, NULL);
120+
sigset_t newmask;
121+
sigemptyset(&newmask);
122+
sigaddset(&newmask, SIGCHLD);
123+
sigprocmask(SIG_BLOCK, &newmask, NULL);
125124
#endif
126125

127126
//reset everything to default before we start printing

src/common/processing_linux.c

Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -184,30 +184,13 @@ const char* ffProcessReadOutput(FFProcessHandle* handle, FFstrbuf* buffer)
184184
waitpid(childPid, NULL, 0);
185185
return "poll(&pollfd, 1, timeout) timeout (try increasing --processing-timeout)";
186186
}
187-
else if (pollret < 0)
188-
{
189-
if (errno == EINTR)
190-
{
191-
// The child process has been terminated. See `chldSignalHandler` in `common/init.c`
192-
if (waitpid(childPid, NULL, WNOHANG) == childPid)
193-
{
194-
// Read remaining data from the pipe
195-
fcntl(childPipeFd, F_SETFL, O_CLOEXEC | O_NONBLOCK);
196-
childPid = -1;
197-
}
198-
}
199-
else
200-
{
201-
kill(childPid, SIGTERM);
202-
waitpid(childPid, NULL, 0);
203-
return "poll(&pollfd, 1, timeout) error: not EINTR";
204-
}
205-
}
206-
else if (pollfd.revents & POLLERR)
187+
else if (pollret < 0 || (pollfd.revents & POLLERR))
207188
{
208189
kill(childPid, SIGTERM);
209190
waitpid(childPid, NULL, 0);
210-
return "poll(&pollfd, 1, timeout) error: POLLERR";
191+
return pollret < 0
192+
? "poll(&pollfd, 1, timeout) error: pollret < 0"
193+
: "poll(&pollfd, 1, timeout) error: pollfd.revents & POLLERR";
211194
}
212195
}
213196

@@ -229,12 +212,7 @@ const char* ffProcessReadOutput(FFProcessHandle* handle, FFstrbuf* buffer)
229212
return NULL;
230213
}
231214
else if (nRead < 0)
232-
{
233-
if (errno == EAGAIN)
234-
return NULL;
235-
else
236-
break;
237-
}
215+
break;
238216
}
239217

240218
return "read(childPipeFd, str, FF_PIPE_BUFSIZ) failed";

src/detection/gpu/gpu_drm.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ const char* ffDrmDetectAmdgpu(const FFGPUOptions* options, FFGPUResult* gpu, con
153153

154154
return NULL;
155155
#else
156-
FF_UNUSED(gpu, renderPath);
156+
FF_UNUSED(options, gpu, renderPath);
157157
return "Fastfetch is compiled without libdrm support";
158158
#endif
159159
}

src/detection/gpu/gpu_linux.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ static const char* drmDetectAmdSpecific(const FFGPUOptions* options, FFGPUResult
120120
#endif
121121
}
122122
#else
123-
FF_UNUSED(gpu, drmKey, buffer);
123+
FF_UNUSED(options, gpu, drmKey, buffer);
124124
return "Fastfetch is not compiled with drm support";
125125
#endif
126126
}

src/modules/display/display.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -436,6 +436,7 @@ void ffInitDisplayOptions(FFDisplayOptions* options)
436436
ffOptionInitModuleArg(&options->moduleArgs, "󰍹");
437437
options->compactType = FF_DISPLAY_COMPACT_TYPE_NONE;
438438
options->preciseRefreshRate = false;
439+
options->order = FF_DISPLAY_ORDER_NONE;
439440
}
440441

441442
void ffDestroyDisplayOptions(FFDisplayOptions* options)

0 commit comments

Comments
 (0)