Chris Wright wrote:
* Ross Kendall Axe (ross.axe@xxxxxxxxxxxxxxxx) wrote:
Taking this idea further, couldn't we split unix_dgram_sendmsg into 2
functions, do_unix_dgram_sendmsg and do_unix_connectionless_sendmsg (and
similarly for unix_stream_sendmsg), then all we'd need is:
<pseudocode>
static int do_unix_dgram_sendmsg(...);
static int do_unix_stream_sendmsg(...);
static int do_unix_connectionless_sendmsg(...);
static int do_unix_connectional_sendmsg(...);
We could probably break it down to better functions and helpers, but I'm
not sure that's quite the breakdown. That looks to me like an indirect
way to pass a flag which is already encoded in the ops and sk_type.
The idea of that breakdown was to encode the semantics purely into the ops
and mostly ignore sk_type. An alternative would be to create a couple of
macros is_connectionless and is_stream and lump it all together in one big
unix_sendmsg. Unfortunately, unix_sendmsg could end up a bit too large.
IMHO, unix_{dgram,stream}_sendmsg are large as it is.
At anyrate, for 2.6.10 the changes should be small and obvious.
Better refactoring should be left for 2.6.11.
Agreed. I had my eye on 2.6.11 anyway.
thanks,
-chris
Ross
signature.asc
Description: OpenPGP digital signature
|