This lists all fields of the `struct fd_ops' when object of that type --
msg_queue_fd_ops in server/queue.c -- is being initialized.
For motivation behind this patch please read message of commit
0bd610a1680 (Fix initialization of the handler_fd_ops, 2024-04-16).
No functional changes intended.
Signed-off-by: Ruslan Garipov <ruslanngaripov@gmail.com>
This lists all fields of the `struct fd_ops' when object of that type --
process_fd_ops in server/process.c -- is being initialized.
For motivation behind this patch please read message of commit
0bd610a1680 (Fix initialization of the handler_fd_ops, 2024-04-16).
No functional changes intended.
Signed-off-by: Ruslan Garipov <ruslanngaripov@gmail.com>
This lists all fields of the `struct fd_ops' when object of that type --
thread_fd_ops in server/thread.c -- is being initialized.
For motivation behind this patch please read message of commit
0bd610a1680 (Fix initialization of the handler_fd_ops, 2024-04-16).
No functional changes intended.
Signed-off-by: Ruslan Garipov <ruslanngaripov@gmail.com>
This lists all fields of the `struct fd_ops' when object of that type --
inotify_fd_ops in server/change.c -- is being initialized.
For motivation behind this patch please read message of commit
0bd610a1680 (Fix initialization of the handler_fd_ops, 2024-04-16).
No functional changes intended.
Signed-off-by: Ruslan Garipov <ruslanngaripov@gmail.com>
This lists all fields of the `struct fd_ops' when object of that type --
master_socket_fd_ops in server/request.c -- is being initialized.
For motivation behind this patch please read message of the previous
commit 0bd610a1680 (Fix initialization of the handler_fd_ops,
2024-04-16).
No functional changes intended.
Signed-off-by: Ruslan Garipov <ruslanngaripov@gmail.com>
This lists all fields of the `struct fd_ops' when object of that type --
handler_fd_ops in server/signal.c -- is being initialized.
It looks like field list in initialization of the handler_fd_ops in
server/signal.c was out-of-sync for a long time. Take a look, for
example, on patches ad1e0609a0 (server: Get rid of no loner used
cancel_async from fd_ops., 2016-12-01) (which removed "reference" to the
cancel_async field correctly, but did not add "references" to the read
and write fields, for example), or 837b39b202 (server: Add read and
write fd member functions., 2015-05-05) (which updated `struct fd_ops'
but did not change initialization of the handler_fd_ops at all).
Because the main purpose of initialization of the handler_fd_ops made in
server/signal.c is to assign address of the handler_poll_event()
function to the poll_event field, while making all other fields NULLed,
lacking some fields in that initialization is not an error according to
C standard:
> 6.7.11 Initialization
>
> 11 ... If an object that has static or thread storage duration is not
> initialized explicitly, or any object is initialized with an empty
> initializer, then it is subject to default initialization, which
> initializes an object as follows:
>
> - if it has pointer type, it is initialized to a null pointer;
> ...
> 22 If there are fewer initializers in a brace-enclosed list than there
> are elements or members of an aggregate, or fewer characters in a
> string literal used to initialize an array of known size than there
> are elements in the array, the remainder of the aggregate is subject
> to default initialization.
But to maintain code consistency I believe initialization of the
handler_fd_ops object should enumerate all fields of the
`struct fd_ops' type.
No functional changes intended.
Signed-off-by: Ruslan Garipov <ruslanngaripov@gmail.com>
2024-08-09 06:15:52 +05:00
6 changed files with 38 additions and 10 deletions