Article View: es.comp.os.linux.programacion
Article #14570Como sincronizar la memoria compartida en linux.
From: Jonan
Date: Tue, 31 Oct 2000 11:17
Date: Tue, 31 Oct 2000 11:17
55 lines
2404 bytes
2404 bytes
Hola a todos
tengo un peque�o problema con la memoria compartida. Antes trabajaba en Unix
OpenServer 5.05 y este sistema operativo me dejaba trabajar con las
funciones de Xenix. Hace un par de semanas me pas� a la luz (linux) y me
encontrado que no tiene las librerias de xenix. El problema es que no puedo
sincronizar el acceso a la memoria compartida, lo sabia hacer en Xenix pero
sin estos comandos me encuentro perdido.
Aqui teneis una parte del c�digo que me da problemas. se trata de acceder a
la memoria compartida pero despues de haber entrado el primer proceso. Esto
es primero entra un proceso y despues el otro entra y captura su pid.
conect_usua ( )
{
int nusuarios, version, pid_distrib;
if ((tabla_pids=(int *) sdget ("../temporal/tabla_pids",SD_CREAT|
SD_WRITE,(long)100,0777)) == (int *) -1)
{
if ((tabla_pids=(int *) sdget ("../temporal/tabla_pids",SD_WRITE)) == (int
*) -1)
{
sleep (3);
retint (-1);
return (1);
}
version = sdgetv (tabla_pids);
if (version < 0)
{
printf ("...............");
sleep (3);
retint (-1);
return (1);
}
if (version == 0)
sdwaitv (tabla_pids,version);
sdenter (tabla_pids, SD_WRITE);
nusuarios = tabla_pids [NUM_UDRS] + 1;
tabla_pids [NUM_USRS] = nusuarios;
pid_distrib = tabla_pids [PID_DIST];
sdleave (tabla_pids);
retint (pid_distrib);
return (1);
}
else
........
........
........
}
Que tengais un buen dia.
Jonan.
bye
Jonan
Technical Details
Message-ID:
<8tm9j5$add$1@diana.bcn.ttd.net>Path:
arc1-ca.pugleaf.net!supernews.google.com!sn-xit-03!supernews.com!europa.netcrusader.net!128.230.129.106!news.maxwell.syr.edu!newsfeed1.bredband.net!bredband!news000.worldonline.se!news-sto.telia.net!newsfeed.bcn.ttd.net!news.bcn.ttd.net!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,69c692076bf27762,start X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2000-10-31 03:18:04 PST Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-03!supernews.com!europa.netcrusader.net!128.230.129.106!news.maxwell.syr.edu!newsfeed1.bredband.net!bredband!news000.worldonline.se!news-sto.telia.net!newsfeed.bcn.ttd.net!news.bcn.ttd.net!not-for-mail From: "Jonan" <jaaltube@manutencion.ulma.es> Newsgroups: es.comp.os.linux.programacion Subject: Como sincronizar la memoria compartida en linux. Date: Tue, 31 Oct 2000 12:17:19 +0100 Organization: Telefonica Transmision de Datos Lines: 59 Message-ID: <8tm9j5$add$1@diana.bcn.ttd.net> NNTP-Posting-Host: 194.30.85.2 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.00.2615.200 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200