This is the mail archive of the
cygwin-patches
mailing list for the Cygwin project.
Re: [PATCH] implement /proc/sysvipc/*
On Fri, 2011-04-01 at 12:05 +0200, Corinna Vinschen wrote:
> The definition of isproc_dev starts to get on my nerves. We have to
> check for six distinct values now. I think we should really change
> the definition. Here's what we have in devices.h right now:
>
> FH_PROC = FHDEV (0, 250),
> FH_REGISTRY= FHDEV (0, 249),
> FH_PROCESS = FHDEV (0, 248),
>
> FH_FS = FHDEV (0, 247), /* filesystem based device */
>
> FH_NETDRIVE= FHDEV (0, 246),
> FH_DEV = FHDEV (0, 245),
> FH_PROCNET = FHDEV (0, 244),
> FH_PROCESSFD = FHDEV (0, 243),
> FH_PROCSYS = FHDEV (0, 242),
> FH_PROCSYSVIPC = FHDEV (0, 241),
>
> Chris, do you think there's anything speaking against rearranging this
> so that the FH_FS and FH_NETDRIVE definitions are separate from the
> stuff under /proc? Or, hang on, we should change all PROC values,
> along these lines:
>
> FH_FS = FHDEV (0, 247), /* filesystem based device */
> FH_NETDRIVE= FHDEV (0, 246),
> FH_DEV = FHDEV (0, 245),
>
> FH_PROC = FHDEV (0, 244),
> FH_REGISTRY= FHDEV (0, 243),
> FH_PROCESS = FHDEV (0, 242),
> FH_PROCNET = FHDEV (0, 241),
> FH_PROCESSFD = FHDEV (0, 240),
> FH_PROCSYS = FHDEV (0, 239),
> FH_PROCSYSVIPC = FHDEV (0, 238),
>
> FH_PROC_MIN_MINOR = FHDEV (0, 200), /* Arbitrary value */
>
> Then we can simplify the isproc_dev definition like this:
>
> #define isproc_dev(devn) \
> (devn >= FH_PROC_MIN_MINOR && devn <= FH_PROC)
>
> Does that sound ok?
That would mean that the /proc directories range would be right in the
middle of the major-device-0 range, with non-/proc stuff before and
after. For the sake of clarity, I would reorder it a bit further to
make FH_PROC and friends to one side of major-0 and everything else to
the other side:
/* begin /proc directories */
FH_PROC = FHDEV (0, 255),
FH_REGISTRY= FHDEV (0, 254),
FH_PROCNET = FHDEV (0, 253),
FH_PROCESSFD = FHDEV (0, 252),
FH_PROCSYS = FHDEV (0, 251),
FH_PROCSYSVIPC = FHDEV (0,250),
FH_PROC_MIN_MINOR = FHDEV (0,200),
/* end /proc directories */
FH_PIPE = FHDEV (0, 199),
FH_PIPER = FHDEV (0, 198),
FH_PIPEW = FHDEV (0, 197),
FH_FIFO = FHDEV (0, 196),
FH_PROCESS = FHDEV (0, 195),
FH_FS = FHDEV (0, 194), /* filesystem based device */
FH_NETDRIVE= FHDEV (0, 193),
FH_DEV = FHDEV (0, 192),
As either way this should be a separate changeset IMHO, I have committed
my patch as is and will follow this up on Sunday.
Yaakov