🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #14570

Como sincronizar la memoria compartida en linux.

#14570
From: Jonan
Date: Tue, 31 Oct 2000 11:17
55 lines
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-mail

Show 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