Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » GNU/Linux » struct als Argument an pthread_create() übergeben

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
01.06.2005, 15:05 Uhr
~mr
Gast


Hallo Community,

Ich versuche ein struct an pthread_create zu übergeben. beim Ausführen kommt aber immer ein Absturz mit "Speicherzugriffsfehler".


C++:
// Die Struktur
struct proxyaddr
{
    string host;
    string port;
}

// Thread-Funktion
void *checkProxy(void *p)
{
    struct proxyaddr *proxy = (struct proxyaddr*)p;
    // ...
}

// Start des Threads
// proxylist ist ein vector<proxyaddr>, i ist für die for-Schleife
pthread_create(&threads[i], NULL, checkProxy, &proxylist[i]);


Das ist der aktuelle Stand.
Ich habe schon einiges ausprobiert. Compilieren geht aber sobald das Programm dann zum pthread_create kommt, bricht es mit "Speicherzugriffsfehler" ab.

Was ist falsch?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.06.2005, 15:20 Uhr
virtual
Sexiest Bit alive
(Operator)


Wo ist den proxyList deklariert? - Muss global sein, bzw. es muß garantiert sein, daß es gültig blockt, solange der Thread lebt. Ansonsten für weitere Analysen mehr Code notwendig.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
02.06.2005, 08:55 Uhr
typecast
aka loddab
(Operator)


Ich hab einmal vergessen gegen die phtread-Bibliothek zu linken.

Komischerweise hat mir der Linker trotzdem ein executable presentiert (hoch leber der gcc )

Das Ding ist auch beim Start des Threads abgeschmiert.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
02.06.2005, 08:56 Uhr
typecast
aka loddab
(Operator)


Da faellt mir ein:

pthread gehoert doch nicht zum ANSI-Standard ->
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ GNU/Linux ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: