erreur compilation déclaration implicite de fonctions
Bonjour,
Comme dit dans le titre j'ai ces erreurs suivantes a la compilation :
Citation:
Envoyé par CC server.c
Dans le fichier inclus à partir de server.c:11:
/usr/include/sys/ipc.h:25:3: attention : #warning "Files using this header must be compiled with _SVID_SOURCE or _XOPEN_SOURCE"
server.c: Dans la fonction «main» :
server.c:90: erreur: storage size of «action1» isn»t known
server.c:92: attention : déclaration implicite de la fonction « «sigfillset» »
server.c:94: attention : déclaration implicite de la fonction « «sigaction» »
server.c:100: erreur: storage size of «action2» isn»t known
server.c:295: attention : déclaration implicite de la fonction « «kill» »
make: *** [server.o] Erreur 1
Voici le code concerné :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <signal.h> // SIGUSR1
#include <unistd.h> //close
#include <arpa/inet.h> //inet_addr
#include <errno.h> // errno
#include <sys/ipc.h> // shmget
#include <sys/shm.h> // shmget
int main() {
...
int SA_RESTART;
struct sigaction action1 __attribute__((unused));
action1.sa_handler = gestion_signal_SIGUSR1;
sigfillset(&action1.sa_mask);
action1.sa_flags = SA_RESTART;
if( sigaction(SIGUSR1, &action1, NULL) == -1) {
fprintf(stderr, "Erreur sigaction() !\n");
perror("sigaction ");
exit(EXIT_FAILURE);
}
struct sigaction action2 __attribute__((unused));
action2.sa_handler = gestion_signal_SIGUSR2;
sigfillset(&action2.sa_mask);
action2.sa_flags = 0;
if( sigaction(SIGUSR2, &action2, NULL) == -1) {
fprintf(stderr, "Erreur sigaction() !\n");
perror("sigaction ");
exit(EXIT_FAILURE);
}
...
} |
Je ne comprend pas pourquoi j'ai des declarations implicite des fonctions sigfillset et sigaction (et kill dailleur) vu que j'ai inclu le header necessaire signal.h . Et je ne comprend pas l'erreur de storage pour mes 2 structures sigactions. C'est la premiere fois que je vois ça normalement la taille d'une structure sigaction ne doit pas etre donné non ??
merci si vous pouvez m'adier
cdt
tom