The sys_ioctl was probably added to conform with Linux implementation 
-https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/fs/ioctl.c.
 
And ioctl function is variadic. 

On Tuesday, January 16, 2018 at 5:19:24 AM UTC-5, Nadav Har'El wrote:
>
>
> On Mon, Jan 15, 2018 at 10:22 PM, Waldek Kozaczuk <[email protected] 
> <javascript:>> wrote:
>
>> I forgot about mentioning Benoit. Shall I add "Signed by" him line or 
>> mention that he is the author of most changes?
>>
>
> I'm not sure "signed-off-by" is supposed to indicates authorship. You can 
> perhaps just add a textual line (or, Benoit, any other mechanism you 
> prefer?)
>
>
>
>> I am not sure about sys_ioctl - I simply copied it from Benoit's branch. 
>> I will look into it.
>>
>
> Thanks. It looks weird :-)
>
>
>>
>>>> Why didn't you just  take a sigset_t *sig and pass it on to pselect()? 
>>>> Why was it important to check that sig==0?
>>>>
>>>
>>> I think I figured it out... Acording to select(2),
>>>
>>>        
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> *The  final  argument  of the pselect6() system call is not a sigset_t 
>>> *       pointer, but is instead a structure of the form:           struct 
>>> {               const kernel_sigset_t *ss;   /* Pointer to signal set 
>>> */               size_t ss_len;               /* Size (in bytes) of 
>>> object                                               pointed to by 'ss' 
>>> */           };       This allows the system call to obtain both a pointer 
>>> to the signal  set       and  its size, while allowing for the fact that 
>>> most architectures sup‐       port a maximum of 6 arguments to a system 
>>> call.  See sigprocmask(2) for       a  discussion  of  the difference 
>>> between the kernel and libc notion of       the signal set.*
>>>
>>> Perhaps you should mention this in a comment explaining why we're 
>>> defering implementing this to later?
>>>
>>> Essentially I did not feel like implementing it as it was not needed by 
>> golang so I simply wanted to indicate that part was not implemented. Also 
>> as I understand pselect is not as widely used as new epoll. Above all I am 
>> focused to getting golang supported so I did not want to spend extra time 
>> figuring this part of the pselect implementation. 
>>
>
> Yes, that's perfectly fine. So please just add a comment in the code 
> reminding us why it's complicated, in case we do want to implement it later.
> Also, please use WARN_ONCE instead of debug_always(), so if a code loops 
> on pselect6, the message only gets printed once (it will still fail every 
> time, just not print a message).
>
> Thanks,
> Nadav.
>
>

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to