obiekt typu sigaction powoduje crashowanie apki

0

Witam
Mam apkę w linuxie. Przy jej uruchamianiu przekazuję jako parametr plik xml.
Gdy plik jest pusty to aplikacja działa ok.
Gdy plik zawiera pewien kontent to jest takie zachowanie:

  1. Apka się uruchamia, wywołuja pewne funkcje
  2. Następnie mamy w kodzie:
        printf("Zaraz wejde w StartupFStartup 2\n");
        unsigned i = 0;  //dla potrzeb debugowych
        i = i + 7;
        printf("Zaraz wejde w StartupFStartup 3\n");
        if( StartupFStartup() == 0 )
....

i w funkcję StartupFStartup() apka już nie wchodzi. Jest to pierwsza funkcja w której występuje odwołanie do metod z biblioteki signal.h:

unsigned int StartupFStartup( void ) //w pliku .c
{
    struct sigaction sa;
    //jak tutaj dam printa to tez on się juz nie wywołuje
    sa.sa_handler = CcsSigHandler;
    sigemptyset( &sa.sa_mask );
    sa.sa_flags = SA_RESTART; 

    printf("Wszedlem w AaStartupCeStartup 4\n" );  //to juz sie nie wywołuje w konsoli
    ....
  1. W konsoli pojawia sie komunikat "Aborted" i apka przestaje wykonywać, proces zabity.

Gdy plik jest pusty to to powyżej też się wywołuje z tym że printy printują, nie ma returna w konsoli "Aborted".
Więc z tego wniosek że tak jakby tworzenie obiektu struktury sigaction powoduje wywalenie apki.
Wniosek też taki że aplikacji nie pasuje plik xml, może go źle parsuje, ale nie rozumiem czemu przy tworzeniu obeiktu sigaction dopiero o tym bym sie dowiadywał.

0

Pokaż więcej kodu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1