On 21/10/08 03:22 PM, Tony Nguyen wrote:
> Dareen,
>
> Thanks for your comments. See my responses inline.
>
> Darren Reed wrote:
>> Just to get things moving along...
>>
>> repval.c lines 829-829
>> Type: E
>> Priority: 1
>> Comment: what doe this function do and why?
> This is a convenient function for deleting a repository property.
> Changes in inetd and SMF restarter and startd code implement a
> mechanism to communicate that a service is placed in maintenance by
> request of another service. This allows us to place a service with
> misconfigured firewall policy into maintenance and communicate to
> users via svcs -x that network/ipfilter has placed the service into
> maintenance. User can then look at the network/ipfilter log file for
> details reasons.
The point here is that what is being done is not obvious from either the
function
name or quickly reading the code. A comment would really help.
>> ipfd.c line 63
>> Type: T
>> Priority: 3
>> Comment: calling the variable "pid" is a bit misleading, it is the
>> parent pid
>>
> Isn't it the child's pid returned to the parent? What do you suggest?
No. you're right, my brain was flipped.
>> ipfd.c line 273
>> Type: T
>> Priority: 1
>> Comment: If we get here from 158 then aren't we using v before it
>> has been initialised?
> v is initialized to NULL.
Hmm? On which line?
148 static boolean_t
149 is_correct_event(const char *fmri, const scf_propertygroup_t *pg,
150 const boolean_t isrpc)
151 {
152 char *pg_name, *value, *state = NULL;
153 scf_value_t *v;
154 boolean_t ret = B_FALSE, in_maintenance = B_FALSE;
155
156 if ((pg_name = umem_alloc(max_scf_value_size, UMEM_DEFAULT))
157 == NULL)
158 goto out;
...
268 out:
269 if (state)
270 free(state);
271
272 umem_free(pg_name, max_scf_value_size);
273 scf_value_destroy(v);
274
275 return (ret);
276 }
>> ipfd.c line 402-543
>> Type: T
>> Priority: 2
>> Comment: This appears to be a busy-wait loop and of concern is that
>> there doesn't appear to be anything to moderate the looping. Consider
>> adding in a delay/pause/sleep for a short period of time, if only so
>> that
>> syslog doesn't get spam'd with messages.
>>
> Not quite. _scf_notify_wait results in a blocked thread, see
> rc_notify_info_wait in rc_node.c, until an interested event happened.
In the absence of a man page for _scf_notify_wait(), it might be
worthwhile adding
a commit here that mentions the behaviour.
Darren
_______________________________________________
networking-discuss mailing list
[email protected]