linux-l: execl+pthreads in einem Programm

Stefan Bund sbund at artec-berlin.com
Mo Nov 27 14:02:54 CET 2000


Jan-Benedict Glaw <jbglaw at lug-owl.de> writes:
> Innerhalb des gethreadeten Vater-Prozesses solltest Du problemlos
> folgendes machen dürfen:
[...]
> 		case 0: {
> 			/* Kind-Prozeß */
> 			/* Hier darf *nichts* anderes mehr gemacht */
> 			/* werden, als der exec()-Cal. Insbesondere */
> 			/* dürfen keine Variablen, die thread-safe sind */
> 			*/ mehr angefaßt werden! */
> 			exec(...);
> 			break; /* never reached */
[...]
> ...das sollte laufen. Vielleicht solltest Du direkt vor die switch

Das habe ich auch gedacht. Wenn aber das ge-exec'te Programm selbst
threads verwendet, habe ich Probleme: exec('/usr/bin/irgendwas',...)
klappt, aber exec('/path/to/dagserv',...) wobei dagserv threads
verwendet klappt irgendwie nicht. 

> Anweisung einen längeren sleep() oder eine pause() machen, und dann
> mal in der Zwischenzeit unter /proc/<PID>/fd/* gucken, ob 
> stdin stdout stderr noch sinnvoll sind...

Werde ich mal machen, glaube aber ehrlich gesagt nicht, das es dadran
liegt ...

Hm...

Stefan.



Mehr Informationen über die Mailingliste linux-l