linux-l: execl+pthreads in einem Programm

Jan-Benedict Glaw jbglaw at lug-owl.de
Mo Nov 27 10:29:30 CET 2000


On Mon, Nov 27, 2000 at 09:49:22AM +0100, Stefan Bund wrote:
> Jan-Benedict Glaw <jbglaw at lug-owl.de> writes:

> Also hier bin ich wieder aus dem Wochenende zurück (ich, der ich diese
> Frage aufgeworfen habe :-)
> 
> > int do_sth(void) {
[...]
> >         return status;
> > }
> 
> Aber der ge-exec'te Prozess (das ist der eigentliche CORBA-Server,
> siehe den parallelen thread mit dem Subject: fork() problem mit
> omniorb). bleibt einfach hängen :-(
> 
> Sogar wenn ich statt fork()/exec() probeweise system() verwende
> klappt's nicht: Das Programm wird gestartet, bleibt dann aber
> hängen. Nur wenn ich das Programm direkt von der Shell aus aufrufe,
> funktioniert das.

Kann's sein, daß Dein CORBA-Server irgendwelche Ausgaben nach stdout
oder stderr machen will und Du diese streams schon dichtgemacht hast
oder so? Aus einem nicht-gethreadetem Programm heraus einen fork()
zu machen, um direkt danach (im child) einen exec() mit dem 
gethreadeten Programm zu machen, ist sicher. Wenn das nicht klappt,
dann vermute ich eher einen bug in Deiner daemonize()-Funktion...

MfG, JBG

-- 
Fehler eingestehen, Größe zeigen: Nehmt die Rechtschreibreform zurück!!!
/* Jan-Benedict Glaw <jbglaw at lug-owl.de> -- +49-177-5601720 */
keyID=0x8399E1BB fingerprint=250D 3BCF 7127 0D8C A444 A961 1DBD 5E75 8399 E1BB
     "insmod vi.o and there we go..." (Alexander Viro on linux-kernel)
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 240 bytes
Beschreibung: nicht verfügbar
URL         : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20001127/cd9ed924/attachment.sig>


Mehr Informationen über die Mailingliste linux-l