Good times.
Look at the code. What do you think will be the result?
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
void trap1(int sig)
{
fprintf(stderr, "signal\n");
}
int main()
{
int stat;
signal(SIGUSR1, trap1);
if (fork()) {
pause();
wait(&stat);
exit(0);
}
kill(getppid(), SIGUSR1);
exit(0);
}
Both processes must be completed.
The result is that the parent process sleeps.
./test
signal
(zzzzzz)
At a different operating system, everything works as expected
(tested on OpenBSD 4.6/hppa, OpenBSD/sparc64)
I would like to know what you think about this.
--
Regards,
Denis
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [email protected]
Please read the FAQ at http://kernelnewbies.org/FAQ