Лучшее предположение со всем разрешением: pid_t не определено. Вам нужны как
#include <sys/types.h>
#include <unistd.h>
В противном случае вы не получите то, что, по вашему мнению, получаете.
Было бы более полезным предоставить наименьший исходный файл, который не удалось таким же образом. Например, следующая (минимальная разработка вашего текста) не генерирует предупреждение, которое вы описываете для меня в первой системе, которую я пробовал.
#include <unistd.h>
#include <stdio.h>
int main() {
pid_t pid, pgid;
if((pgid = getpgid(pid)) < 0) {
puts("Oops.");
}
return 0;
}
Снижение причина минимального неудовлетворительную случае важно:
1. Обеспечивает, что вы адекватно изолировали проблему. Часто этот шаг делает очевидную причину. Это также помогает устранить ложные выводы.
2. Обеспечивает, чтобы другие могли воссоздать ваши трудности и тем самым диагностировать его.
Часто упражнение по подготовке объяснения проблемы к тому, кто не знаком с вашим проектом, заставляет источник проблемы выскочить.
Какая платформа конкретно это? И, что это весь образец, или ваш код в действительной функции? – Joe
http://bugs.php.net/bug.php?id=32045 имеет некоторые подсказки –
Его код в действительной функции, я не включал полную функцию, так как это была единственная часть, которая вызывала проблемы, и ее UNIX. – DemonicImpact