cygserver debug output patch

Conrad Scott Conrad.Scott@dsl.pipex.com
Thu Jun 13 07:33:00 GMT 2002


"Robert Collins" <robert.collins@syncretize.net> wrote:
> "IPC_RMID Remove the shared memory identifier specified by shmid from
> the system and destroy the shared memory segment and shmid_ds data
> structure associated with it. IPC_RMID can only be executed by a process
> that has an effective user ID equal to either that of a process with
> appropriate privileges or to the value of shm_perm.cuid or shm_perm.uid
> in the shmid_ds data structure associated with shmid."
>
> It seems fairly clear: the shm id is immediately removed from the
> system, along with the shm segment and shmid_ds data structure.
>
> For specs, check the open group, or IEEE 1003.1.

That's what I was looking at before I sent my email. Perhaps I could try
*reading* stuff rather than just *looking* at it next time. Sigh.

So, yes, what's required is perfectly clear. What's not clear is how to
implement that on win32 since file mappings only (AFAIK) disappear when the
last handle to them are closed and any views are unmapped, i.e. there is no
explicit delete operation for them. I don't currently see any good solution
to this. Then again, if that's what programs expect RMID to do, they won't
call it unless they've detached from the segment: i.e. they won't rely on it
staying around (if they're conformant)! So a laxity in that regard might not
be critical.

// Conrad





More information about the Cygwin-patches mailing list