[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Lost] [Patch] shell - Hänger in start_app
Kevin Wolf wrote:
> Toni Kaufmann schrieb:
>> Dieser Patch beseitigt einen Hänger in Shell, falls init ein Programm
>> nicht starten kann.
>
> Diese Lösung ist einfach, leicht verständlich und kaputt.
>
> Daher folgender Gegenvorschlag, der keine Speicherlöcher und
> geöffneten Dateien hinterlassen sollte.
Stimmt, aber bei deinem Vorschlag bekommt der Aufrufer den Rückgabewert
0 und zeigt also keine Fehlermeldung an. Deshalb jetzt mein 2. Versuch.
Index: src/modules/c/shell/commmands.c
===================================================================
--- src/modules/c/shell/commmands.c (Revision 606)
+++ src/modules/c/shell/commmands.c (Arbeitskopie)
@@ -149,8 +149,14 @@
//send_message(1, 512, 0, strlen(message) + 1, message);
DEBUG_MSG("Starte das Programm");
pid_t pid = init_execute(message);
+
+ // Fehler ist aufgetreten
+ if (pid == 0) {
+ free(message);
+ break;
+ }
- // Wenn es gewuenscht wurde, wird jezt gewartet, bis der Prozess
+ // Wenn es gewuenscht wurde, wird jetzt gewartet, bis der Prozess
// beendet wird.
if (wait == TRUE) {
while (get_parent_pid(pid) != 0) {