<<< Previous topic - Next topic >>> |
|
Author |
Message |
jwachtel
Joined: 02 Apr 2007 Posts: 3
|
Posted: 24.01.2012, 14:39 Post subject: posix threads |
|
|
Hallo,
ich möchte threads auf dem IGW/900 verwenden und möchte mein Problem an folgendem code Beispiel demonstrieren:
Code: | #include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#define NUM_THREADS 5
int finish = 0;
static void* threadFunc(void* arg) {
pthread_exit(NULL);
}
void leave_loop () {
finish = 1;
}
int main(int argc, char *argv[])
{
pthread_t thread;
int rc;
long t;
int i;
signal (SIGTERM, leave_loop);
signal (SIGINT, leave_loop);
while (finish == 0) {
rc = pthread_create(&thread, NULL, (void*) threadFunc, NULL);
if (rc){
printf("ERROR; return code from pthread_create() is %d\n", rc);
exit(-1);
}
rc = pthread_join (thread, NULL);
fprintf (stderr,"rc == %d\n",rc);
sleep (1);
}
pthread_exit(NULL);
} |
Ich kompiliere das Programm mit dem folgenden Befehl
Code: | m68k-elf-gcc -o threads threads.c -lpthread -Wl,-elf2flt -m5307 -lm -lc |
auf einem Ubuntu 10.04 host.
Code: | m68k-elf-gcc --version | liefert
Wenn ich das Programm auf dem IGW/900 ausführe, werden laufend neue threads generiert aber es bleiben zombie threads zurück und irgendwann können keine neuen Threads mehr erzeugt werden, weil der Speicher ausgeht ( Code: | ERROR; return code from pthread_create() is 11 | )
Wenn ich das gleiche Programm mit dem gcc auf meinem Ubuntu Host kompiliere, läuft es einwandfrei, ohne dass Zombieprozesse / -threads zurückbleiben.
Was mache ich falsch oder wie kann ich das Problem umgehen?
Gern können Sie mich telefonisch erreichen unter 076145885425
Mit freundlichem Gruß aus Freiburg,
Jakob Wachtel
--
Dipl.-Ing. (FH) Jakob Wachtel, M.Sc.
Project Manager
Autonomous Systems and Mini-Grids
Department PV Off-Grid Solutions and Battery System Technology
Fraunhofer-Institute for Solar Energy Systems ISE
Heidenhofstrasse 2 | 79110 Freiburg, Germany
Phone: +49 (0) 7 61/ 45 88-5425 | Fax: +49 (0) 7 61/ 45 88-92 17
jakob.wachtel@ise.fraunhofer.de
www.ise.fraunhofer.de
[/quote] |
|
Back to top |
|
|
mha
Joined: 05 May 2006 Posts: 28
|
Posted: 27.01.2012, 10:11 Post subject: |
|
|
Hallo,
unter uClinux sollten Threads nur erstellt und nicht beendet werden, sonst
gibt es Probleme, z.B. Zombie Prozesse, Memleaks, ... .
uClinux und pthread-uClinux ist nicht 100% possix-konform und nur bedingt
einsatzfähig.
Gruß Marco |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|