История изменений
Исправление vodz, (текущая версия) :
нет, лень сейчас снова это все открывать. суть в том что exit code это не exit() и определенные действия таки нужно проделать в умирающем родителе, и потенциально может прилететь sigchild который в *моем* кейсе можно игнорировать. да, это можно было также выдрать тк в данном случае не нужно.
А может быть вы тоже скопипастили код у такого же бедолаги, который это нихрена не понимает? Только это вас может чуть обелить :)
Видите ли, SIG_IGN у sigchld - действие по умолчанию, единственно, когда это требуется выставлять, то это когда ранее, в этом же процессе был установлен signal(SIGCHLD, sigchld_handler), который больше не нужен.
Оно, конечно, при двойном fork-е, когда выживает только один, SIGCHLD системой может быть послан, когда дед переживёт отца внука. Вот только в вашем коде signal(SIGCHLD, SIG_IGN) вызывается в отце, и потому совершенно бесполезен, а с учётом SIG_DFL - бесполезен в квадрате. Зато с маниакальным упорством пытаетесь доказать полную чушь вместо того, чтобы отправиться делать RTFM.
Исправление vodz, :
нет, лень сейчас снова это все открывать. суть в том что exit code это не exit() и определенные действия таки нужно проделать в умирающем родителе, и потенциально может прилететь sigchild который в *моем* кейсе можно игнорировать. да, это можно было также выдрать тк в данном случае не нужно.
А может быть вы тоже скопипастили код у такого же бедолаги, который это не понимает? Только это вас может чуть обелить :)
Видите ли, SIG_IGN у sigchld - действие по умолчанию, единственно, когда это требуется выставлять, то это когда ранее, в этом же процессе был установлен signal(SIGCHLD, sigchld_handler), который больше не нужен.
Оно, конечно, при двойном fork-е, когда выживает только один, SIGCHLD системой может быть послан, когда дед переживёт отца внука. Вот только в вашем коде signal(SIGCHLD, SIG_IGN) вызывается в отце, и потому совершенно бесполезен, а с учётом SIG_DFL - бесполезен в квадрате. Зато с маниакальным упорством пытаетесь доказать полную чушь вместо того, чтобы отправиться делать RTFM.
Исправление vodz, :
нет, лень сейчас снова это все открывать. суть в том что exit code это не exit() и определенные действия таки нужно проделать в умирающем родителе, и потенциально может прилететь sigchild который в *моем* кейсе можно игнорировать. да, это можно было также выдрать тк в данном случае не нужно.
А может быть вы тоже скопипастили код у такого же бедолаги, который это не понимает? Только это вас может чуть обелить :)
Видите ли, SIG_IGN у sigchld - действие по умолчанию, единственно, когда это требуется выставлять, то это когда ранее, в этом же процессе был установлен signal(SIGCHLD, sigchld_handler), который больше не нужен.
Оно, конечно, при двойном fork-е когда выживает только один, SIGCHLD системой может быть послан, когда дед переживёт отца внука. Вот только в вашем коде signal(SIGCHLD, SIG_IGN) вызывается в отце, и потому совершенно бесполезен, а с учётом SIG_DFL - бесполезен в квадрате. Зато с маниакальным упорством пытаетесь доказать полную чушь вместо того, чтобы отправиться делать RTFM.
Исправление vodz, :
нет, лень сейчас снова это все открывать. суть в том что exit code это не exit() и определенные действия таки нужно проделать в умирающем родителе, и потенциально может прилететь sigchild который в *моем* кейсе можно игнорировать. да, это можно было также выдрать тк в данном случае не нужно.
А может быть вы тоже скопипастили код у такого же бедолаги, который это не понимает? Только это вас может чуть обелить :)
Видите ли, SIG_IGN у sigchld - действие по умолчанию, единственно, когда это требуется выставлять, то это когда ранее, в этом же процессе был установлен signal(SIGCHLD, sigchld_handler), который больше не нужен.
Оно, конечно, при двойном fork-е когда выживает только один, SIGCHLD системой может быть послан, когда дед переживёт отца внука. Вот только в вашем коде signal(SIGCHLD, SIG_IGN) вызывается в отце, и потому совершенно бесполезен, а с учётом SIG_DFL - бесполезен в квадрате.
Исходная версия vodz, :
нет, лень сейчас снова это все открывать. суть в том что exit code это не exit() и определенные действия таки нужно проделать в умирающем родителе, и потенциально может прилететь sigchild который в *моем* кейсе можно игнорировать. да, это можно было также выдрать тк в данном случае не нужно.
А может быть вы тоже скопипастили код у такого же бедолаги, который это не понимает? Только это вас может чуть обелить :)
Видите ли, SIG_IGN у sigchld - действие по умолчанию, единственно, когда это требуется выставлять, то это когда ранее, в этой же программе был установлен signal(SIGCHLD, sigchld_handler), который больше не нужен.
Оно, конечно, при двойном fork-е когда выживает только один, SIGCHLD системой может быть послан, когда дед переживёт отца внука. Вот только в вашем коде signal(SIGCHLD, SIG_IGN) вызывается в отце, и потому совершенно бесполезен, а с учётом SIG_DFL - бесполезен в квадрате.