linux-l: execl+pthreads in einem Programm

Jan-Benedict Glaw jbglaw at lug-owl.de
Mo Nov 27 01:41:03 CET 2000


Hi!


On Mon, Nov 27, 2000 at 01:20:26AM +0100, Oliver Bandel wrote:
> On Mon, 27 Nov 2000, Jan-Benedict Glaw wrote:
> > On Sun, Nov 26, 2000 at 05:55:26PM +0100, Oliver Bandel wrote:
> > > On 23 Nov 2000, Stefan Bund wrote:
> > > Es könnten Probleme mit gelockten Mutexes sein.
> > > Es ist sehr hakelig, fork() und Threds zu mischen.
> > 
> > Geht problemlos -- *wenn* man fork nur benutzt, um danach sofort nichts
> > anderes als einen exec() zu machen. Wenn man nur Lastverteilung im
> > Mosix'schen Sinne ("fork'n'forget") machen will, dann klappt's nicht
> > mehr. Da sollte man nur Gleiches mit Gleichem mischen und das in
> > threads abhandeln...
> 
> Man kann aber bei gelockten Mutexen auch auf die Nase fallen,
> wenn man bloß forkt um zu exec-en.
> Müßte ich nochmal nachschauen, falls es noch von Interesse ist;
> hab's jetzt gerade nicht parat.

Sach' mir, wo soll's klemme:

int do_sth(void) {
        int     status;
        char    *args[] = {
                        "/bin/true",
                        NULL
        };

        switch(status = fork()) {
                case -1: {
                        fprintf(stderr, "Wicked things happened...\n");
                        break;
                }
                case 0: {
                        execvp("/bin/true", args);
                        break;
                }
                default: {
                        fprintf(stderr, "Child should just be started...\n");
                        break;
                }
        }

        return status;
}


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/109dfd98/attachment.sig>


Mehr Informationen über die Mailingliste linux-l