This is the mail archive of the cygwin-patches mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]