🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: chile.comp.programacion
Article #3081

Re: Manejar lockeos en archivos en C

#3081
From: Waldo
Date: Sat, 04 Jun 2005 08:43
31 lines
1989 bytes
Álvaro Palma wrote:

> Existe alguna función de I/O de bajo nivel que haga esto en forma nativa?

Todas las funciones en stdio. Eso al menos segun POSIX, pero no se si
eso vale tambien en Windows.

> Estoy casi seguro que fopen no lo hace (me parece retorna NULL si uno intenta
> abrir un archivo ya abierto)

Nope. De donde sacaste eso? Ridiculeces de la implementacion de
Windows?

#include <stdio.h>
int main()
{int i; for (i = 0; i < 100; i++) printf("%p\n", fopen("foo", "r")); }

> pero tal vez con _open o _sopen sí se puede? La idea es no tener que hacer
> mutexes si no es estrictamente necesario.

No tengo idea de Windows, pero segun POSIX stdio hace el locking
automaticamente, aunque eso rara vez es suficiente. Usualmente tienes
que meter mano explicitamente, via flockfile(3)/funlockfile(3) (ambas
tambien POSIX), pero nada de mutexes (a menos que sea por otra razon,
claro).

Salu2,
W.
Technical Details
Message-ID: <1117874600.900967.261310@z14g2000cwz.googlegroups.com>
Path: arc1-ca.pugleaf.net!g2news1.google.com!postnews.google.com!z14g2000cwz.googlegroups.com!not-for-mail
References: <d7q4ck$7vj$1@localhost.localdomain>

Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,332c01d2b95bbf4e
X-Google-Attributes: gid1593cb,public
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!postnews.google.com!z14g2000cwz.googlegroups.com!not-for-mail
From: "Waldo" <fatwaldo@yahoo.com>
Newsgroups: chile.comp.programacion
Subject: Re: Manejar lockeos en archivos en C
Date: 4 Jun 2005 01:43:20 -0700
Organization: http://groups.google.com
Lines: 32
Message-ID: <1117874600.900967.261310@z14g2000cwz.googlegroups.com>
References: <d7q4ck$7vj$1@localhost.localdomain>
NNTP-Posting-Host: 67.86.77.109
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1117874606 8457 127.0.0.1 (4 Jun 2005 08:43:26 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Sat, 4 Jun 2005 08:43:26 +0000 (UTC)
User-Agent: G2/0.2
Complaints-To: groups-abuse@google.com
Injection-Info: z14g2000cwz.googlegroups.com; posting-host=67.86.77.109;
   posting-account=hVjo8QwAAAC1br25yrexfun-OkEnsf06