rem: exit(0);
context: static int child_init(int rank){	int i, j, mpid, cpid;		DBG("XJAB:child_init: initializing child <%d>\n", rank);	if(rank == 0)	{#ifdef HAVE_IHTTP		/** register iHTTP callbacks -- go forward in any case*/		ihb.reg_f("xjab", "XMPP Gateway", IH_MENU_YES,				xjab_mod_info, NULL);		ihb.reg_f("xjabc", "XMPP connections", IH_MENU_YES,				xjab_connections, NULL);#endif		if((mpid=fork())<0 )		{			DBG("XJAB:child_init: error - cannot launch worker's manager\n");				return -1;		}		if(mpid == 0)		{			/** launching the workers */			for(i=0;i<nrw;i++)			{				if ( (cpid=fork())<0 )				{					DBG("XJAB:child_init: error - cannot launch worker\n");					return -1;				}				if (cpid == 0)				{					for(j=0;j<nrw;j++)						if(j!=i) close(pipes[j][0]);					close(pipes[i][1]);					if(xj_wlist_set_pid(jwl, getpid(), i) < 0)					{						DBG("XJAB:child_init: error setting worker's pid\n");						return -1;					}					xj_worker_process(jwl,jaddress,jport,i,db_con[i]);					exit(0);				}			}			mpid = getpid();			while(1)			{				sleep(check_time);				xjab_check_workers(mpid);			}			exit(0);		}	}		//if(pipes)	//{	//	for(i=0;i<nrw;i++)	//		close(pipes[i][0]);	//}	return 0;}