tobold.org

correct • elegant • free

△ comp.lang.perl △

◅ How do I pass in arrays to subroutines ?

Q: Input / Ouput buffering and pipes ▻

GDBM, Solaris, and flock/fcntl

In article <4ldtqa$ofj@vixen.cso.uiuc.edu>,
Mike Heins <mheins@prairienet.org> wrote:
>I am having a problem where when GDBM on Solaris 2 is used along with
>fcntl() emulation of flock(), I get the error "Not enough space" later
>in my code.

What is the operation that fails with this error?  I suggest you post a
few lines of code around where it is failing, along with the exact text
of the error you get.

>One particularly funny thing is that when I look up "Not enough space"
>in <sys/errno.h>, it isn't listed!

Have you used `truss' to see what's going on at the system call level?

>All of this operates normally on any other OS my application runs on, but
>of course flock() is used instead of fcntl(). Damn Sun! They make so many
>good choices, then do something like this.

Given that: i) POSIX says you must have fcntl() locking; ii) nobody's
ever made flock() work across NFS; and iii) two non-interacting locking
methods is one too many, I would say that Sun did the Right Thing here.

Tim.
--
Tim Goodwin   | "Python is an object-oriented language that can
UUNET|PIPEX   | process text; Perl is a text-processing language
Cambridge, UK | that can orient objects. :-)" -- Larry Wall

Original headers:

From: tim@pipex.net (Tim Goodwin)
Newsgroups: comp.lang.perl.misc,comp.unix.solaris
Subject: Re: GDBM, Solaris, and flock/fcntl
Date: 23 Apr 1996 10:55:14 GMT
Organization: Unipalm PIPEX
Message-ID: <4licui$s9a@wave.news.pipex.net>
References: <4ldtqa$ofj@vixen.cso.uiuc.edu>

△ comp.lang.perl △

◅ How do I pass in arrays to subroutines ?

Q: Input / Ouput buffering and pipes ▻