неопределенная ссылка на главную проблему
Я написал файл кода c с именем "utilfunc.c", этот код содержит мои функции, которые я буду использовать в своем коде.
Теперь, когда я компилирую свой файл «utilfunc.c», произошла ошибка, сообщающая мне, что неопределенная ссылка на «основное» сообщение об ошибке. Но в этом коде я не хочуmain
, То, что я хочу, это просто реализации для моих функций.
Кто-нибудь может сказать мне, что здесь происходит?
вот мой код:
include "prodcon.h"
static void signalHandler(int signo)
{
signalflag = 1; // Set the signal flag
}
void initializeWait(void)
{
/* Link handler functions */
if (signal(SIGUSR1, signalHandler) == SIG_ERR)
{
perror("signal");
exit(EXIT_FAILURE);
}
if (signal(SIGUSR2, signalHandler) == SIG_ERR)
{
perror("signal");
exit(EXIT_FAILURE);
}
/* Clear masks */
sigemptyset(&nomask);
sigemptyset(&newmask);
/* Add signals to mask sets */
sigaddset(&newmask, SIGUSR1);
sigaddset(&newmask, SIGUSR2);
/* Block SIGUSR1 and SIGUSR2, and save current signal mask. */
if (sigprocmask(SIG_BLOCK, &newmask, &oldmask) < 0)
{
perror("sigprocmask");
exit(EXIT_FAILURE);
}
}
void signalParent(pid_t pid)
{
kill(pid, SIGUSR2); // Child tells parent that it is done
}
void waitParent(void)
{
while (signalflag == 0)
{
sigsuspend(&nomask); // Wait for signal from parent
}
signalflag = 0; // Clear the singalflag
/* Restore the signal mask to old value */
if (sigprocmask(SIG_SETMASK, &oldmask, NULL) < 0)
{
perror("sigprocmask");
}
}